繁体   English   中英

Python Scapy HEX解码

[英]Python Scapy HEX decode

我正在尝试从一个狡猾的嗅探功能解码无线管理帧中的信号值(SSI)。 我已经搜索并尝试了一些答案,但没有成功。 到目前为止,这就是我所拥有的。 尝试解码十六进制字符串。

码:

from scapy.all import *

def packet_handler(pkt):
    if pkt.haslayer(Dot11) and pkt.type == 0:
        sig = pkt[RadioTap].notdecoded.decode("hex")
        print sig


sniff(iface="wlan0mon", prn=packet_handler)

数据包样本:

###[ RadioTap dummy ]###
  version   = 0
  pad       = 0
  len       = 36
  present   = TSFT+Flags+Rate+Channel+dBm_AntSignal+b14+b29+Ext
  notdecoded= ' \x08\x00\x00\x00\x00\x00\x00\xf4\x82\xc2\xc6\x01\x00\x00\x00\x10\x02\x99\t\xa0\x00\xb1\x00\x00\x00\xb1\x00'

我正在捕获“未解码”字段的值,并尝试通过直接python对其进行解码。

错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/scapy/sendrecv.py", line 600, in sniff
    r = prn(p)
  File "<stdin>", line 4, in packet_handler
  File "/usr/lib/python2.7/encodings/hex_codec.py", line 42, in hex_decode
    output = binascii.a2b_hex(input)
TypeError: Non-hexadecimal digit found

更新到最新版本的Scapy; 这些已在更新中正确解码(我正在使用2.4.0 dev263)。

更新头寸:

git clone https://github.com/secdev/scapy
cd scapy
./run_scapy

要么

git clone https://github.com/secdev/scapy
cd scapy
python setup.py install

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM