尝试使用我正在使用的硬件库中包含的函数在python中解码以太网帧。我正在尝试使用已知的src mac地址00:1b:21:bb:c2:40
来解码数据包。
当收到数据包时,我循环每个16位并试图吐出一个十六进制输出,产生以下结果:
-1 -1 -1 -1 -1 -1 00 1b 21 -45 -3e 40 08 06 00 01
08 00 06 04 00 01 00 1b 21 -45 -3e 40 01 01 01 01
00 00 00 00 00 00 01 01 01 02 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 -1e 5b -67 -50
尽管bb and c2
由于某种原因返回负值,但mac地址仍隐藏在那里。打印来自:
for i in xrange(packet.pktData.size):
if ((i != 0) and ((i % 16) == 0)):
print
print "%02x" % BuffDesc_getbyte(packet.pktData, i),
print
除了以下内容之外,我找不到关于BuffDesc_getbyte返回的大量(任何)细节:
def BuffDesc_getbyte(*args):
"""BuffDesc_getbyte(ofdpa_buffdesc buffdesc, int offset) -> int"""
return _OFDPA_python.BuffDesc_getbyte(*args)
我的python-foo非常糟糕,所以请原谅我的天真