3
下面的編碼是什麼,當你在scapy中編寫一個數據包時,你會得到什麼?這當然不是十六進制。scapy編碼時的編碼
STR(IP())「E \ X00 \ X00 \ X14 \ X00 \ X01 \ X00 \ X00 @ \ X00 | \ XE7 \ 0x7F部分\ X00 \ X00 \ X01 \ 0x7F部分\ X00 \ X00 \ X01'
下面的編碼是什麼,當你在scapy中編寫一個數據包時,你會得到什麼?這當然不是十六進制。scapy編碼時的編碼
STR(IP())「E \ X00 \ X00 \ X14 \ X00 \ X01 \ X00 \ X00 @ \ X00 | \ XE7 \ 0x7F部分\ X00 \ X00 \ X01 \ 0x7F部分\ X00 \ X00 \ X01'
的\ x是十六進制表示法。在這種情況下,當您使用str(IP())時,您試圖將數據包數據轉換爲不完全有效的字符串,因爲不能在ASCII表中找到每個原始十六進制數據以用一個字母代替它,因此任何十六進制將不會被轉換成這種格式\ x14。
我認爲下面的例子將有助於:
編碼分組數據轉換成十六進制格式使用python方法
Welcome to Scapy (2.1.1-dev)
>>> pkt=IP()
>>> pkt.summary()
'127.0.0.1 > 127.0.0.1 ip'
>>> data=str(pkt)
>>> data.encode('hex')
'450000140001000040007ce77f0000017f000001'
>>>
,以查看考慮以下幾點: