scapy.sr 和 scapy.srp 之间的差异

Differences between scapy.sr and scapy.srp

我正在使用 Scapy 扫描我的网络,我看不出函数之间的区别: scapy.sr()scapy.srp()。文档说 scapy.sr() returns 来自 层 3scapy.sr 的数据包p() returns 来自 层 2 的数据包。这些层是什么?抱歉我的问题,我是网络初学者。

这是一张很酷的图片,很好地总结了它:

当您使用srpsrp1sendp时,您需要提供一个从第2层开始的数据包,例如:

srp1(Ether()/IP(dst="www.google.com")/ICMP())

没有p,是第3层:

sr1(IP(dst="www.google.com")/ICMP())

(在幕后,Scapy 负责)

第 2 层允许您欺骗数据 link(以太网、802.11...)帧,但它需要您知道使用哪一个。