scapy模块
在python中可以通过scapy这个库轻松实现构造数据包、发送数据包、分析数据包
scapy不是内置模块,需要额外安装:
pip install scapy
导入方式:
from scapy.all import * //来自scapy.all文件,导入所有函数
python交互模式中:ls (*) *=Ether、IP、ICMP、TCP、UDP、ARP等等,查看可以配置的参数
1.构建包:
Ether = Ether(src="源mac",dst="目的mac") //以太网层 = 二层
IP = IP(src="源ip",dst="目的ip或者URL") //IP层 = 三层
XY = ICMP()、TCP()、UDP() [都可以用dport=目的端口,sport=源端口]//协议封装在IP层
ARP = ARP(hwsrc=‘二层源mac‘,psrc=‘三层源IP‘,hwdst=‘二层目的mac‘,pdst=‘三层目的IP‘) SJ = padding(load=‘x‘*8) //数据位,填充x乘8个
RandMAC() 任意MAC地址
RandIP() 任意IP地址
构建二层包:(以Ether层开头)
如:pkt=Ether/IP/ARP
构建三层包:(以IP层开头)
如:pkt&