+-

我正在尝试在数据包的UDP有效负载(ISAKMP)中搜索十六进制序列.数据包是从pcap加载的.如果我使用show()或show2(),则输出为我不能使用的字节类型.
我最接近的是使用hexdump,但它以多行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 [email protected]....;~...
0020 86270C2100167F687368446B80868010 .'.!...hshDk....
0030 01A7A33100000101080A003E0B1B1DDD ...1.......>....
0040 B5F6 ..
您的要求是hexlify(str(pkt [0])).
点击查看更多相关文章
转载注明原文:python-在scapy数据包中搜索十六进制 - 乐贴网