当前位置:首页 > TCP/IP > 正文内容

Scapy中发送数据包的函数集合

待你如初恋6个月前 (06-23)568

在 Scapy 中,有多个函数用于发送数据包,每个函数适用于不同的协议层。下面详细解释这些函数及其用途:


send()

  • 用途: 发送数据包到网络(通常用于三层,即网络层)。

  • 适用层: 网络层(第三层),例如 IP 层。

  • 使用场景: 发送 IP 层的数据包,如 TCP/UDP 数据包。


from scapy.all import send, IP, ICMP
pkt = IP(dst="8.8.8.8") / ICMP()
send(pkt)

sendp()

  • 用途: 发送数据包到网络(用于二层,即数据链路层)。

  • 适用层: 数据链路层(第二层),例如以太网帧。

  • 使用场景: 发送以太网帧或自定义链路层数据包。


from scapy.all import sendp, Ether, ARP
pkt = Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(pdst="192.168.1.1")
sendp(pkt)


sr()

  • 用途: 发送和接收数据包(通常用于三层,即网络层)。

  • 适用层: 网络层(第三层),例如 IP 层。

  • 使用场景: 发送 IP 层的数据包并接收响应。

  • 返回值: 一个元组,包含 SndRcvList 对象(已发送和收到响应的数据包)和未响应的数据包列表。


from scapy.all import sr, IP, ICMP
pkt = IP(dst="8.8.8.8") / ICMP()
answered, unanswered = sr(pkt)


sr1()

  • 用途: 发送一个数据包并接收一个响应(通常用于三层,即网络层)。

  • 适用层: 网络层(第三层),例如 IP 层。

  • 使用场景: 发送 IP 层的数据包并接收第一个响应。

  • 返回值: 接收到的第一个响应数据包。


from scapy.all import sr1, IP, ICMP
pkt = IP(dst="8.8.8.8") / ICMP()
response = sr1(pkt)



srp()

  • 用途: 发送和接收数据包(用于二层,即数据链路层)。

  • 适用层: 数据链路层(第二层),例如以太网帧。

  • 使用场景: 发送以太网帧或自定义链路层数据包并接收响应。

  • 返回值: 一个元组,包含 SndRcvList 对象(已发送和收到响应的数据包)和未响应的数据包列表。



from scapy.all import srp, Ether, ARP
pkt = Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(pdst="192.168.1.1")
answered, unanswered = srp(pkt)



srp1()

  • 用途: 发送一个数据包并接收一个响应(用于二层,即数据链路层)。

  • 适用层: 数据链路层(第二层),例如以太网帧。

  • 使用场景: 发送以太网帧或自定义链路层数据包并接收第一个响应。

  • 返回值: 接收到的第一个响应数据包。



from scapy.all import srp1, Ether, ARP
pkt = Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(pdst="192.168.1.1")
response = srp1(pkt)



srloop()

  • 用途: 循环发送数据包并接收响应(通常用于三层,即网络层)。

  • 适用层: 网络层(第三层),例如 IP 层。

  • 使用场景: 连续发送相同的数据包并接收响应,适合网络扫描或稳定性测试。



from scapy.all import srloop, IP, ICMP
pkt = IP(dst="8.8.8.8") / ICMP()
srloop(pkt, count=5)



srploop()

  • 用途: 循环发送数据包并接收响应(用于二层,即数据链路层)。

  • 适用层: 数据链路层(第二层),例如以太网帧。

  • 使用场景: 连续发送相同的数据包并接收响应,适合数据链路层的网络扫描或稳定性测试。



from scapy.all import srploop, Ether, ARP
pkt = Ether(dst="ff:ff:ff:ff:ff:ff") / ARP(pdst="192.168.1.1")
srploop(pkt, count=5)




版权声明:本文由学习记录吧发布,如需转载请注明出处。

本文链接:https://xxjl8.com/?id=31

标签: TCP/IP
分享给朋友:
返回列表

上一篇:解决使用scapy库无法发包问题

没有最新的文章了...

“Scapy中发送数据包的函数集合” 的相关文章

解决使用scapy库无法发包问题

使用了root用户还是提示没有权限:PermissionError: [Errno 1] Operation not permitted原因:运行脚步是使用了root权限,但是如果python解释器没有执行原始套接字的访问权限和网络管理权限,就会出现上面的错误。解决:使用 setcap 命令对实际的...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。