n*********2 发帖数: 357 | 1 有两台64-bit机器, 都装了Ubuntu 14.04 trusty, Python 2.7.6 和python-dpkt
package (1.6+svn54-1).
然后运行同样的 Python code, 一个运行无误。 另一个报告下列错误:
Traceback (most recent call last):
File "analyze.py", line 88, in
elif ip.p==dpkt.ip.IP_PROTO_ICMP:
AttributeError: 'str' object has no attribute 'p'
看了一下源程序, ip 变量唯一赋值的地方是
eth=dpkt.ethernet.Ethernet(pkt)
ip=eth.data
这个是什么问题? 为什么第一台机器运行良好?而第二台机器把 ip 看成 str?
谢谢! | d******e 发帖数: 2265 | 2 自己看看code嘛。
eth.data拿过来就是str而不是一个class.
改改code,加点log再来
【在 n*********2 的大作中提到】 : 有两台64-bit机器, 都装了Ubuntu 14.04 trusty, Python 2.7.6 和python-dpkt : package (1.6+svn54-1). : 然后运行同样的 Python code, 一个运行无误。 另一个报告下列错误: : Traceback (most recent call last): : File "analyze.py", line 88, in : elif ip.p==dpkt.ip.IP_PROTO_ICMP: : AttributeError: 'str' object has no attribute 'p' : 看了一下源程序, ip 变量唯一赋值的地方是 : eth=dpkt.ethernet.Ethernet(pkt) : ip=eth.data
|
|