【问题标题】:Searching for hex in scapy packet在 scapy 数据包中搜索十六进制
【发布时间】:2018-05-25 14:56:29
【问题描述】:

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

我最接近的是使用 hexdump,但它在多行中显示为 3 列,我只希望中间列在一个漂亮的长字符串中。

我尝试了 hexlify、编码和解码以及 .format,但我无法得到有意义的东西。

感谢您的帮助

【问题讨论】:

标签: python scapy hexdump


【解决方案1】:

您可以将hexlifystr 结合使用。下面是一个 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]))

【讨论】:

    猜你喜欢
    • 2016-04-09
    • 2015-09-13
    • 2013-12-22
    • 2015-05-07
    • 1970-01-01
    • 2013-11-05
    • 2011-12-01
    • 1970-01-01
    • 2014-02-18
    相关资源
    最近更新 更多