我正在使用Scapy扫描我的网络,我看不出函数之间的差异:scapy.sr()和scapy.srp()。文档说scapy.sr()返回第3层的数据包,scapy.srp()返回第2层的数据包。这些层是什么?对不起我的问题,我是网络初学者。
这是一个非常好的总结的酷图像:
当您使用srp,srp1或sendp时,您应该提供从第2层开始的数据包,例如:
srp
srp1
sendp
srp1(Ether()/IP(dst="www.google.com")/ICMP())
没有p,它是第3层:
p
sr1(IP(dst="www.google.com")/ICMP())
(幕后,Scapy照顾它)
第2层允许您欺骗数据链路(以太网,802.11 ......)帧,但它需要您知道使用哪一个。