Python 在scapy包中搜索十六进制

Python 在scapy包中搜索十六进制,python,scapy,hexdump,Python,Scapy,Hexdump,我试图在数据包的UDP有效负载(ISAKMP)中搜索十六进制序列。正在从pcap加载数据包。如果我使用show()或show2(),那么输出的字节类型是我无法使用的 最近的一次是通过使用hextump,但是它在多行上显示为3列,我只希望中间的列是一个漂亮的长字符串 我试过hexlify,编码和解码,还有.format,但我找不到有意义的东西 感谢您的帮助您可以将hexlify与str结合使用。下面是一个TCP数据包的示例。您也可以将其用于UDP >>> pkt = sniff(

我试图在数据包的UDP有效负载(ISAKMP)中搜索十六进制序列。正在从pcap加载数据包。如果我使用show()或show2(),那么输出的字节类型是我无法使用的

最近的一次是通过使用hextump,但是它在多行上显示为3列,我只希望中间的列是一个漂亮的长字符串

我试过hexlify,编码和解码,还有.format,但我找不到有意义的东西


感谢您的帮助

您可以将
hexlify
str
结合使用。下面是一个TCP数据包的示例。您也可以将其用于UDP

>>> pkt = sniff(filter="tcp", count=1)
>>> pkt.show()
0000 Ether / IP / TCP 27.59.126.209:cardbox > 14.139.134.39
ssh A
>>> from binascii import hexlify
>>> pktHex = hexlify(str(pkt[0]))
>>> pktHex
'7446a0afb96508357101e52508004568003483f24000340693ab1b3b7e
10e8b86270c2100167f687368446b8086801001a7a33100000101080a00
e0b1b1dddb5f6'
>>> hexdump(pkt[0])
0000  7446A0AFB96508357101E52508004568 tF...e.5q..%..Eh
0010  003483F24000340693AB1B3B7ED10E8B .4..@.4....;~...
0020  86270C2100167F687368446B80868010 .'.!...hshDk....
0030  01A7A33100000101080A003E0B1B1DDD ...1.......>....
0040  B5F6                             ..
您的要求是
hexlify(str(pkt[0])

可能会有所帮助