Scapy只能在交互模式下使用吗?

1 投票
1 回答
2521 浏览
提问于 2025-04-17 14:23

我只是想做这个 -

from scapy import *

target = "42.42.42.42"
packet = IP()/UDP()
packet.dst = target

del pak[IP].chksum
del pak[TCP].chksum

pak.show2()

但是“IP()”和“UDP()”没有被定义。

如果我使用scapy.all,它会给我这个;

Traceback (most recent call last):
  File "C:\Python27\scapy_stuff.py", line 1, in <module>
    import scapy.all
  File "C:\Python25\Lib\site-packages\scapy\all.py", line 13, in <module>
    from arch import *
  File "C:\Python25\lib\site-packages\scapy\arch\__init__.py", line 75, in <module>
    from windows import *
  File "C:\Python25\Lib\site-packages\scapy\arch\windows\__init__.py", line 19, in <module>
    from scapy.arch import pcapdnet
  File "C:\Python25\lib\site-packages\scapy\arch\pcapdnet.py", line 157, in <module>
    import dnet
ImportError: No module named dnet

我到处查找,发现大家都在用交互模式,我开始觉得这可能是唯一的方法。

1 个回答

1

你需要使用 from scapy.all import * 这行代码。

具体的内容可以在SecDev的文档中找到,链接是 使用Scapy构建你自己的工具

你可以选择导入整个scapy.all的内容,或者只导入你需要的部分。

关于dnet的问题,试试这个配置,确保它适合你的Scapy安装。

Change "scapy.config.conf.use_dnet = 1" to equal = 0

根据你的系统,这个文件可能在scapy/arch/unix.py或者scapy/arch/pcapdnet.py中。

撰写回答