隐藏Scapy警告消息IPv6

时间:2014-07-17 20:09:18

标签: python logging scapy

我多次尝试隐藏,但没有成功。有什么帮助吗?

我已经尝试过了 -

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。

3 个答案:

答案 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,我认为是这种情况。

相关问题