隐藏Scapy警告消息IPv6

问题描述 投票:3回答:3

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

我已经尝试过 -

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。

python logging scapy
3个回答
7
投票

您需要先导入日志记录并调整日志记录消息的设置。

发生的事情是将scapy导入命名空间,触发错误 - 然后更改日志记录设置。

import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import *

1
投票

如果要在scapy中禁用IPv6但保留警告(这是一件好事),请使用以下代码:

from scapy.config import conf
conf.ipv6_enabled = False
from scapy.all import *

source code of scapy.all揭示了这个小秘密。


-1
投票

我知道这个问题很老,但我可能找到了一个优雅的答案。你在构建IPv6数据包吗?如果没有,那么你可以做的是,而不是:

from scapy.all import *

使用:

from scapy.layers.inet import IP

问题是有两个IP类,一个来自scapy.layers.inet,一个来自scapy.layers.inet6。如果您使用以前的import语句,即使您只构建版本4数据包,也将导入两者。

所有这一切都假设您打算仅使用IPv4,我认为是这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.