scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络攻击和测试中。
一、发送ARP数据包
使用scapy实施第二层扫描发现
image.png
>>> ARP().display()
>>> arp_request=ARP()
>>> arp_request.hwsrc="00:0c:29:e5:0a:f3" //本机mac地址
>>> arp_request.psrc="192.168.252.136" //本机ip地址
>>> arp_request.pdst="192.168.252.131" //目标机ip地址
>>> arp_request.display()
image.png
发起请求
sr1(arp_request) //sr1(arp_request,timeout=1)可设置收不到回复的连接时间
没有收到回复,因为我131的机子没开,开机重新尝试,成功
image.png
二、发送IP数据包
使用scapy对目标主机扫描
image.png
配置扫描数据,在IP层上创建第二层数据包icmp参数,定义ICMP模板数据包ping
>>> ip.dst="192.168.252.131"
>>> ping=ICMP()
>>> ping.display()
>>> ping_request=(ip/ping)
>>> ping_request.display()
利用"/"把创建的两个数据包组装,执行命令,以上输出信息显示数据包封装完毕,可以发送
发送数据包
发送数据包得到回答
三、发送tcp ack数据包扫描主机
>>> n=IP()
>>> n.dst="192.168.252.131"
>>> n.display()
image.png
>>> t=TCP()
>>> t.display()
image.png
>>> t.flags='A'
>>> t.display()
image.png
>>> request=(n/t)
>>> request.display()
image.png
image.png
image.png
参考:http://www.jinglingshu.org/?p=10390
https://www.jianshu.com/p/a9919917684c
网友评论