scapy无线发包

来源:互联网 发布:java初级开发面试问题 编辑:程序博客网 时间:2024/06/06 00:07
  1. 使用send发送无线数据包
    send()利用自身的无线网卡来发送无线数据包,用法与有线发包一致(实际上已经屏蔽了IP层以下的内容),使用简单,但只能发送三层以上的数据包,无法对MAC层及PHY层进行定制。
    例如:
ip_pkt = IP(src='1.1.1.1',dst='2.2.2.2')data = Raw('111222333444')packet = ip_pkt/datasend(packet)
  1. 使用sendp发送无线数据包
    相比也send(), sendp()发送的无线数据包则灵活性大很多,从PHY到MAC都需要自己构造,相对复杂,但也灵活了很多。好在scapy已经定义好了足够的封装,因此对于一般的使用来说,调用scapy封装好的对应类即可。例如:
client = 00:11:22:33:44:55bssid = 55:44:33:22:11:00packet = RadioTap()/Dot11(type=0,subtype=12,addr1=client,addr2=bssid,addr3=bssid)/Dot11Deauth(reason=7)sendp(packet)

代码来源:MATEN的博客

0 0
原创粉丝点击