我为Python2.6安装了scapy模块,当我导入此模块时,会收到以下警告:
WARNING: can't import layer ipsec: 'module' object has no attribute 'IPPROTO_AH'
我查看了socket属性,但没有找到'IPPROTO_AH'属性 此外,我试图编辑ipsec.py模块,并找到用其他东西替换IPPROTO_AH的方法,但随后我收到IPPROTO_ESP的警告!
我尝试在ipsec.py中编辑行,例如:
overload_fields = {
IP: {'proto': IPTest},
IPv6: {'nh': IPTest},
IPv6ExtHdrHopByHop: {'nh': socket.IPPROTO_AH},
IPv6ExtHdrDestOpt: {'nh': socket.IPPROTO_AH},
IPv6ExtHdrRouting: {'nh': socket.IPPROTO_AH},}
bind_layers(IP, AH, proto=socket.IPPROTO_AH)
bind_layers(IPv6, AH, nh=socket.IPPROTO_AH)
我该怎么解决?
我想我有…这不是一个干净的解决方案,但它会做的诀窍。。。我在其他scapy文件中看到过它……
您只需编辑ipsec.py并在它下面查找行
import socket
,添加以下条件:正如我在其中一条评论中提到的,我使用Python 2.7.10在各种OSes(Lnx,Sol,AIX,HPUX,OSX)上进行了测试,这些值似乎是一致的,而在Win上则不存在。似乎MS将它们从WinSock2.h中删除(VStudio)2005和2010。
相关问题 更多 >
编程相关推荐