Python 对斯卡皮来说是新的。试图理解sr()
我是scapy的新手,我正在尝试使用Python 对斯卡皮来说是新的。试图理解sr(),python,scapy,Python,Scapy,我是scapy的新手,我正在尝试使用sr和sr1函数来了解它们的工作原理 我试图制作以下数据包,我看到它已经发送了1个数据包,但它说它已经收到581个数据包。有人能帮我理解为什么它显示了这么多收到的数据包吗 收到1373个数据包,得到0个答案,剩余1个数据包 >>> p=sr(IP(dst="192.168.25.1")/TCP(dport=23)) .Begin emission: .....Finished to send 1 packets. ..............
sr
和sr1
函数来了解它们的工作原理
我试图制作以下数据包,我看到它已经发送了1个数据包,但它说它已经收到581个数据包。有人能帮我理解为什么它显示了这么多收到的数据包吗
收到1373个数据包,得到0个答案,剩余1个数据包
>>> p=sr(IP(dst="192.168.25.1")/TCP(dport=23))
.Begin emission:
.....Finished to send 1 packets.
...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................^C
Received 581 packets, got 0 answers, remaining 1 packets
>>> p
(<Results: TCP:0 UDP:0 ICMP:0 Other:0>, <Unanswered: TCP:1 UDP:0 ICMP:0 Other:0>)
p=sr(IP(dst=“192.168.25.1”)/TCP(dport=23))
.开始排放:
..…已完成发送1个数据包。
.............................................................................................................................................................................................................................................................................................................................................................C
收到581个数据包,得到0个答案,剩余1个数据包
>>>p
(, )
我的TCPDump输出没有显示它收到了这么多的数据包。sr()
和sr1()
函数将发送一个数据包并在网络上侦听相应的答案,在sr()
的情况下,sr1()
将只等待一个答案
收到但不是应答的数据包是在寻找对原始数据包的响应时Scapy嗅探到的数据包。我不确定在使用Scapy的同时使用tcpdump
进行嗅探会如何影响您的结果-不确定内核会将数据包传递到哪个进程
这是一个来自PackageGeek的优秀教程
另外,确保在解释器中使用各种Scapy函数的\uuu doc\uuu
属性来获取相关文档
>>> print sr1.__doc__
Send packets at layer 3 and return only the first answer
nofilter: put 1 to avoid use of bpf filters
retry: if positive, how many times to resend unanswered packets
if negative, how many times to retry when no more packets are answered
timeout: how much time to wait after the last packet has been sent
verbose: set verbosity level
multi: whether to accept multiple answers for the same stimulus
filter: provide a BPF filter
iface: listen answers only on the given interface
>>>
FTR:
tcpdump
&scapy&几乎所有工具(netfilterqueue除外)都可以在接收所有数据包时并发运行,因为它们使用原始套接字。此外,您更应该使用help(sr1)