5

我正在玩 Scapy,我想在 Python 脚本中使用它,但发送数据包似乎是个问题。这是我的代码。

贝壳:

send(IP(src="10.0.99.100",dst="10.1.99.100")/ICMP()/"Hello World")

这工作正常并发送数据包。

Python脚本:

#! /usr/bin/env python

from scapy.all import sr1,IP,ICMP

p=sr1(IP(src="10.0.99.100",dst="10.1.99.100")/ICMP()/"Hello World")

这运行正常,但是当它尝试发送数据包时,我得到:

WARNING: No route found for IPv6 destination :: (no default route?)
Begin emission:
.Finished to send 1 packets.
....^C
Received 5 packets, got 0 answers, remaining 1 packets
4

1 回答 1

16

当您在 Python 环境中运行它时,您正在使用该sr1函数。该sr1函数将发送一个数据包,然后等待一个应答,同时保持接收数据包的计数。在这里查看更多 -

http://www.secdev.org/projects/scapy/doc/usage.html#send-and-receive-packets-sr

要获得您想要的行为,您需要使用该send函数,就像您在使用 Scapy shell 时所做的那样。

#! /usr/bin/env python

from scapy.all import send, IP, ICMP

send(IP(src="10.0.99.100",dst="10.1.99.100")/ICMP()/"Hello World")
于 2013-07-31T22:54:59.027 回答