send()和sendp()函数
发送数据包(只发不收),他们的区别在于,send()工作在第三层,sendp()工作在第二层。简单地说,send()函数
用来发送IP数据包,sendp()用来发送ether数据包
fuzz()
发送一个内容是随机填充的数据包,且能保证数据包的正确性.
收发数据包:sr(),sr1(), srp()
其中sr()和sr1()主要用于第三层,如IP和ARP, 而srp()用于第二层.
如向192.168.1.101发送一个ICMP数据包
sr(IP(dst=‘192.168.1.101’)/ICMP())
sr()函数是scapy的核心,他的返回值是两个列表,一个是收到了应答的包和对应的应答,另一个是未收到应答的包
使用ans和unans来保存返回值。使用ans.summary()查看数据包的内容
sniff():用于捕获经过本机网卡的数据包
参数:
filter过滤相关数据包,如
sniff(filter=" host 192.168.1.102")
sniff(filter="icmp")
过滤多个条件:
sniff(filter=" host 192.168.1.102 and icmp")
iface:指定监听的网卡
count:指定监听的数据包数量