gpt4 book ai didi

python - ipsec.py 找不到属性 IPPROTO_UDP 和 socket.IPPROTO_IP

转载 作者:太空狗 更新时间:2023-10-30 01:01:02 24 4
gpt4 key购买 nike

我为 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、AIXHPUXOSX)和值似乎是一致的,而在 Win 它们不存在。似乎 MS 在 (VStudio) 20052010 之间从 WinSock2.h 中删除了它们>.

关于python - ipsec.py 找不到属性 IPPROTO_UDP 和 socket.IPPROTO_IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30579611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com