隐藏Scapy IPv6警告信息
我试了很多次想要隐藏这个东西,但都没成功。有没有人能帮帮我?
我已经尝试过 -
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上用Python 2.7和Scapy。
3 个回答
-1
我知道这个问题已经有点久了,但我可能找到了一个不错的解决办法。你是在构建IPv6数据包吗?如果不是,那你可以这样做,而不是:
from scapy.all import *
可以使用:
from scapy.layers.inet import IP
问题在于有两种IP类型,一个是来自 scapy.layers.inet
的,另一个是来自 scapy.layers.inet6
的。如果你使用前者的导入语句,你会同时导入这两种类型,即使你只是在构建版本4的数据包。
以上都是假设你只打算使用IPv4,我想这应该是你的情况。
4
如果你想在scapy中禁用IPv6,但又想保留警告信息(这是个好主意),可以使用下面的代码:
from scapy.config import conf
conf.ipv6_enabled = False
from scapy.all import *
你可以在scapy.all的源代码中找到这个小秘密。
9
你需要先导入日志功能,并调整日志信息的设置。
现在发生的情况是,你把 scapy
导入到你的代码中,触发了一个错误,然后才去改变日志的设置。
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import *