但是,我建议您查看可以通过
我正在使用scapy 2.4.5,并试图使用UDP类。
from scapy.all import UDP
运行没有问题,但我不能使用IDE去声明。如果我点击它,它显示没有找到声明。但是如果我使用
from scapy.layers.inet import UDP
然后我可以转到声明并查看类和相关代码。但是当我运行它时,我得到以下错误:
ImportError: cannot import name 'AnsweringMachine' from partially initialized module 'scapy.ansmachine' (most likely due to a circular import)
没有其他的导入,这是非常基本的
from scapy.layers.inet import UDP
if __name__ == "__main__":
new_udp_packet = UDP()
print(new_udp_packet)
预期输出
WARNING: No IPv4 address found on en5 !
WARNING: No IPv4 address found on ap1 !
WARNING: more No IPv4 address found on awdl0 !
WARNING: Calling str(pkt) on Python 3 makes no sense!
b'x005x005x00x08x00x00'
修复方法:
import scapy.all # makes sure everything gets imported in the right order
from scapy.layers.inet import UDP
当然,您必须确保scapy.all
导入在文件中保持在第一位。
scapy.all
文件解析导入的IDE…:)由于scapy.layers.all
(这是什么scapy.all
进口)动态选择层模块通过scapy.conf.load_layers
加载,它可以不幸地不与代码完成工作,不评估代码。