我多次尝试隐藏,但没有成功。有什么帮助吗?
我已经尝试过了 -
from scapy.all import *
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
在控制台上仍然会收到相同的警告。
WARNING: No route found for IPv6 destination :: (no default route?)
仅供参考,我在OS Mavericks上使用Scapy和Python 2.7。
答案 0 :(得分:7)
您需要先导入日志记录并调整日志记录消息的设置。
您正在发生的事情是将scapy
导入您的命名空间,触发错误 - 然后更改日志记录设置。
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import *
答案 1 :(得分:1)
如果您想禁用scapy中的IPv6 但留下警告(这是一件好事),请使用以下代码:
from scapy.config import conf
conf.ipv6_enabled = False
from scapy.all import *
source code of scapy.all揭示了这个小秘密。
答案 2 :(得分:-1)
我知道这个问题很老,但我可能找到了一个优雅的答案。你在构建IPv6数据包吗?如果没有,那么你可以做的是,而不是:
from scapy.all import *
使用:
from scapy.layers.inet import IP
问题是有两个IP类,一个来自scapy.layers.inet
的包,另一个来自scapy.layers.inet6
。如果您使用以前的import语句,即使您只构建版本4数据包,也会导入它们。
所有这一切都假设您打算仅使用IPv4,我认为是这种情况。