文章目录
Scapy
1、简介
Scapy是用Python编写的交互式数据包处理工具。使用Scapy可以伪造或解码各种协议的数据包,在线发送它们,捕获它们,匹配请求和答复等等。
2、功能
1、发送包
2、捕获包
3、分析包
4、铸造包
3、下载
pip3 install scapy-python3
4、构造以太网包
构造一个以太网包a并显示,这时参数是默认的。
给该包指定数据后显示,如图。
5、构造ping包
构造一个ping包,将收到的返回包赋值给名为ping的变量,并显示。发现并没有收到echo-reply,起初以为是网络原因,换了手机热点结果还是不行,最后发现是TTL的原因。
TTL翻译为生存时间,但实际上TTL是计算机网络中IP数据包可以转发的最大跳数。在从源到目的地的整个IP数据包转发路径上,路由器在转发IP数据包之前会将每个路由器的TTL值减少1。
修改TTL值为64之后,问题得以解决,得到了echo-reply。可以看到源IP为192.168.37.191,即得到了该主机的reply,并且看到Raw里面有携带的数据。
6、收发数据包介绍
注意:二层都带p;sr和srp收到的数据类型是元组,因为收到的包可能不止一个;发送二层包必须指定走哪一个接口。
7、提取返回包详细信息
使用到的函数为getlayer(name).fields[‘name’]
Python 实现ARP请求
详见我的另一篇博客
得到目的主机的MAC地址