scapy でパケットをストリングするときに得られる以下のエンコーディングは何ですか? これは確かに 16 進数ではありません。
str(IP()) 'E\x00\x00\x14\x00\x01\x00\x00@\x00|\xe7\x7f\x00\x00\x01\x7f\x00\x00\x01'</p>
\x は 16 進表記です。この場合、str(IP()) を使用すると、パケット データを文字列に変換しようとしていますが、これは完全には有効ではありません。ASCII テーブルですべての生の 16 進データを見つけて文字に置き換えることができるわけではないため、変換されない場合は、\x14 の形式で表示されます。
次の例が役立つと思います。
Python メソッドを使用して表示するために、パケット データを 16 進形式にエンコードする
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'
>>>
次の点を考慮してください。