python_scapy铸造,发送数据包


使用python的scapy模块发送并接收数据包

1.使用scapy构造简单的数据包

   packet=Ether()/IP()/TCP()

   scapy会默认的填上一些初始化的数据,默认的以太二层为一个广播,源mac会自动填上网卡的地址(如不修改)。

   通过packet.show()方法可以查看数据包的结构和初始化数据。

   python_scapy铸造,发送数据包_第1张图片


2.使用scapy构造一个ping数据包。

   packet=IP(dst='192.168.219.1')/ICMP()/b'rootkit'

   使用packet.show()来查看构造的数据包

python_scapy铸造,发送数据包_第2张图片

  请读者自行掌握ping数据包的结构,IP和ICMP。


3.使用sr1发送构造的数据包,此函数的功能是发送并等待接收一个回复的数据包。

ping=sr1(IP(dst='192.168.219.141')/ICMP()/b'rootkit'

这句话的意思是发送一个ping数据包,并等待接收一个数据包将其保存在ping变量里,

通过ping.show()查看回复的数据包。


4.收发数据包介绍

sr():发送三层数据包,等待接收一个或多个数据包的回复

sr1():发送三层数据包,并仅仅只等待接收一个数据包的响应

srp():发送二层数据包,并且等待响应

send():仅仅发送三层数据包,系统会自动处理路由和二层信息

sendp():发送二层数据包



你可能感兴趣的:(python)