sniff(iface="Qualcomm Atheros AR956x Wireless Network Adapter",prn=lambda x:x.show())
sniff函数可以作为网络嗅探,获取本地网卡的网络包,以下为参数:
iface:网卡名称,在windows上没有eth0、eth1等名称,所以要使用ipconfig /all,取获取的网卡信息的描述作为网卡名称
prn:打印包的函数
filter:抓包过滤器,采用wireshark语法,比如icmp,注意不能大写
#创建IP头
ip = IP()
ip.src = "192.168.1.3"
ip.dst = "192.168.1.5"
可以直接设置IP头的src和dst,其他字段IP头会采用默认值,如checksum
from scapy.all import *
#创建IP头
ip = IP()
ip.src = "192.168.1.3"
ip.dst = "192.168.1.5"
#创建ICMP头
icmp = ICMP()
icmp.type = 0#0代表echo ping回复
icmp.code = 0
#创建ICMP数据
data = "xxxxxxxxxxxxxxxxxxxx"
#发送数据的形式是 ip协议头/icmp协议头/icmp数据
send(ip/icmp/data)
发送时每一层协议的头顺序拼接在一起,注意,前面只有数据头,ICMP载荷单独作为最后一层