IP协议和ICMP协议抓包分析
1、抓包工具wireshark介绍&wireshark和burp sutie的区别
- wireshark
- 官网地址 https://www.wireshark.org/
- wireshark是一个单纯且免费的网络数据包分析工具,之所以说单纯是因为他只能看包分析包,而不能改包发包,这是一个使用WinPCAP作为接口,能够直接与网卡进行数据报文交换的网络数据流分析工具。可支持的协议包括但不限于HTTP、TCP、UDP、DNS等协议,可以捕获整个网络通信的流量,包括系统级别的通信。不管怎么样,他最终还是只能停留在监听网络上传送的数据包这一个单一功能上。
- WinPcap是一个Windows平台下的网络数据包捕获库,允许程序访问和捕获网络数据包。它提供了一种通用的接口,使得开发人员能够编写网络应用程序,可以捕获传输到或从计算机网络中的数据包。WinPcap可用于Wireshark、Nmap等工具,使它们能够捕获和分析网络流量。这决定了和burp suite相比,wireshark比较偏向于底层的网络数据包捕获。
- burp suite
- 官网地址 https://portswigger.net/burp
- bp不单纯,不仅可以抓包更能够改包,其定位主要是针对web应用的渗透测试工具,常用于拦截和修改HTTP和HTTPS请求,能够抓取的协议是有限的,主要支持的就是HTTP和HTTPS,如果要对其他协议的包抓取和修改,建议使用针对进程抓包的科来网络分析系统。最大的区别就是bp是要付费的,当然,破解版现在满天飞。
- 科来网络分析系统(推荐
- 官网地址 https://www.colasoft.com.cn/
- 一个非常牛逼的网络流量分析软件。免费,功能齐全,可针对进程抓包,结果条理清晰,一目了然,支持所有协议的包,并且可以修改重发。如果是要进行网络分析,建议还是用这个,比wire shark容易看很多。
2、ICMP报文的抓包分析
-
前置知识
- ICMP报文的基本格式
- ICMP报文的分类
- 诊断报文
type=8,code=0
type=0,code=0 - 目的不可达报文(type=3,code=1~15)
- 重定向报文(type=5,code=0~4)
- 超时报文(type=11,code=0~1)
- 信息报文(type:12~18,code:空)
- 诊断报文
- ICMP报文的基本格式
-
配置并启动wireshark
-
选中并打开 捕获-选项
-
勾选左下角,并选中要监听的接口(这里以本机的无线网口WLAN为例),再点击右下角的开始即可抓包
-
输入ipconfig -all查看计算机的网络配置信息,主要看你监听的这个接口的网关ip
-
输入ping 192.168.88.253(网关地址) -n 1 向网关发送ping请求,-n用于设置Ping的次数,默认是四次,这里为了抓包分析时更好的观察,设置为1,即发送了一次请求,相应的我们能够收到一次应答。
如上图,一个是请求数据包,一个是响应数据包
- 双击打开,进行数据包的分析
从上到下我们可以看到整个数据包分为了四个层次,分别是物理层、数据链路层、网络层和应用层他们各自使用的协议,最下面的Iternet Control Message Protocol就是我们要找的ICMP(首字母)
-
双击打开ICMP层
- Type和Code(重点关注,用于明确ICMP报文的类型)
type字段标明了类型,code字段标明了报文的代码。对比两个数据包,可以看到一个是request请求报文,type=8,code=0表示这是一个回显请求(Ping请求)。另外一个是reply响应报文,type=0,code=0表示这是一个回显应答(Ping应答) - Checksum(校验和)
Checksum表示校验和,用于验证报文是否有误。Checksum Status:good 表示校验状态良好,报文无误 - Response time(响应时间)
只有响应报文才有
3、IP报文的抓包分析
-
前置知识(IP数据报的基本格式)
-
双击抓到的数据包,打开网络层协议的内容,我们可以看到如下的内容,从上到下分别是IP数据报的首部各字段