- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我为 python 2.6 安装了模块 scapy,当我导入这个模块时,我收到了这个警告:
WARNING: can't import layer ipsec: 'module' object has no attribute 'IPPROTO_AH'
我查看了套接字属性,但没有找到“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
就在它下面,添加这些条件:
if not hasattr(socket, "IPPROTO_ESP"):
socket.IPPROTO_ESP = 50
if not hasattr(socket, "IPPROTO_AH"):
socket.IPPROTO_AH = 51
正如我在其中一条评论中提到的,我在各种操作系统(Lnx、< em>Sol、AIX、HPUX、OSX)和值似乎是一致的,而在 Win 它们不存在。似乎 MS 在 (VStudio) 2005 和 2010 之间从 WinSock2.h 中删除了它们>.
关于python - ipsec.py 找不到属性 IPPROTO_UDP 和 socket.IPPROTO_IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30579611/
谁能解释或给我一个 IPPROTO_IP 的定义?并帮助我了解 IPPROTO_IP 之间的区别和 IPPROTO_RAW ? 最佳答案 这是我的 /usr/include/netinet.in.h
我在查找有关 socket 的第三个参数的这些设置之间的区别的文档时遇到了一些麻烦。是。我知道 TCP 和 UDP 及其差异,而且 IP 是堆栈上的一层(下?)...无论我将其设置为 IPPROTO_
我为 python 2.6 安装了模块 scapy,当我导入这个模块时,我收到了这个警告: WARNING: can't import layer ipsec: 'module' object has
我编写了一个在 OS X 上编写的跟踪路由程序。我正在尝试将其移植到 GNU/Linux。 [@osx] >> sudo bin/traceroute www.google.com Warning:
我是一名优秀的程序员,十分优秀!