本文最后更新于 2025年4月22日 下午
要求:为了通过python编程发送mac帧测试wifi模块是否正常工作,特编写此程序,可以用于模拟多种压力测试场景。
前提:需要有一个支持监控模式的网卡,并在Linux操作系统下运行该程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
from scapy.all import *
wifi_mac_frame = RadioTap() / Dot11() / Raw()
wifi_mac_frame.type = 0 wifi_mac_frame.subtype = 13 wifi_mac_frame.proto = 0 wifi_mac_frame.FCfield = "retry" wifi_mac_frame.ID = 14849 wifi_mac_frame.addr1 = "FF:FF:FF:FF:FF:FF" wifi_mac_frame.addr2 = "02:3B:42:E1:FC:55" wifi_mac_frame.addr3 = "02:3B:42:E1:FC:55" wifi_mac_frame.SC = 48
hex_value = '042243000290fad602000000640043ef3d3d' wifi_mac_frame.load = bytes.fromhex(hex_value)
wifi_mac_frame.show()
sendp(wifi_mac_frame, iface="wlan0mon", count=10000)
|
使用说明:
1、需要将代码中的addr1和addr2替换成目标AP热点的mac地址
2、修改type和subtype的值可以构造不同类型的帧
3、sendp函数中的count参数表示发送帧的次数
特别注意:本程序只用于学习,不可用于违法目的,亦不可攻击他人正常工作的AP热点