利用Wireshark截取数据包,并对数据包进行解析

摘要:
分析ICMP协议数据包的实验原理:ping是用于测试网络连接的命令。一旦发出ping命令,主机将向网络发送连续的测试数据包。在正常情况下,主机将接收响应数据包。Ping使用ICMP协议。消息类型为1表示它是客户端发送的请求包。消息类型2表示应答分组。服务该包捕获过程将使用显示过滤器的方法来过滤数据包。

利用Wireshark截取ICMP数据包,并对数据包进行解析

wireshark安装文件下载地址:http://yunpan.cn/QiHGK5sPtWRyN (提取码:0bbc)

安装步骤:

解压文件之后,在wireshark-win32-1.4.9中文版文件夹中找到安装文件,双击即可安装。

安装完成之后,双击wireshark图标即可启动,界面如下:

利用Wireshark截取数据包,并对数据包进行解析第1张

抓包步骤:

1、点击开始按钮列出可以抓包的接口:

利用Wireshark截取数据包,并对数据包进行解析第2张

利用Wireshark截取数据包,并对数据包进行解析第3张

2、点击选项可以配置抓包参数:

利用Wireshark截取数据包,并对数据包进行解析第4张

3、配置完成点击开始,即可开始抓包:

利用Wireshark截取数据包,并对数据包进行解析第5张

4、点击停止完成抓包。

抓包界面分析:

抓包结果整个窗口被分成三部分:

1、最上面为数据包列表,用来显示截获的每个数据包的总结性信息;

2、中间为协议树,用来显示选定的数据包所属的协议信息;

3、最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。

数据包列表中,第一列是编号(如第1包),第二列是截取时间(0.000000),第三列source是源地址(115.155.39.93),第四列destination是目的地址(115.155.39.112),第五列protocol是这个包使用的协议(这里是UDP协议),第六列info是一些其它的信息,包括源端口号和目的端口号(源端口:58459,目的端口:54062)。

协议树可以得到被截获数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet
protocol)、UDP端口号(user datagram protocol)以及UDP协议的具体内容(data)。

分析ICMP协议数据包

实验原理:
ping是用来测试网络连通性的命令,一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。

实验步骤:

点击开始抓包,为了抓取使用ICMP的包,我们要设置过滤条件,点击“选项”:

利用Wireshark截取数据包,并对数据包进行解析第6张

再点击“抓包过滤”按钮:

利用Wireshark截取数据包,并对数据包进行解析第7张

因此初始状态下没有只抓取ICMP协议包的过滤条件,因此我们点击新建按钮:

利用Wireshark截取数据包,并对数据包进行解析第8张

在过滤名字和过滤条件中分别输入“ICMP only”(自定义),“icmp”,点击确定:

这是可以看到抓包过滤按钮后面的文本框出现了ICMP字样,说明过滤条件设置成功:

利用Wireshark截取数据包,并对数据包进行解析第9张

点击开始,发现现在抓取不到任何包:

利用Wireshark截取数据包,并对数据包进行解析第10张

打开命令行窗口,执行命令:pingwww.baidu.com:

利用Wireshark截取数据包,并对数据包进行解析第11张

这时可以看到数据包抓取页面抓取到了8包,与命令行显示的已发送和已接受的包的数量是一致的:

利用Wireshark截取数据包,并对数据包进行解析第12张

选择任意一个包查看详细信息:

利用Wireshark截取数据包,并对数据包进行解析第13张

可以看到ICMP报文的格式为:

利用Wireshark截取数据包,并对数据包进行解析第14张

在这个试验中,可以发现,icmp的报文就只有两种,请求和应答:

请求:

利用Wireshark截取数据包,并对数据包进行解析第15张

应答:

利用Wireshark截取数据包,并对数据包进行解析第16张

这两个报文的type不一样,8代表请求,0代表应答;code都为0,表示为回显应答;标示符和序列号都是一样的,表示这两个报文是配对的

TCP

协议,所以此次实验选取

FTP

DHCP数据包分析

使用DHCP获取IP地址:

(1)打开命令窗口,启动Wireshark。

(2)输入“ipconfig/release”。这条命令会释放主机目前的IP地址,此时,主机IP地址会变为0.0.0.0

利用Wireshark截取数据包,并对数据包进行解析第17张

(3)然后输入“ipconfig/renew”命令。这条命令让主机获得一个网络配置,包括新的IP地址。

利用Wireshark截取数据包,并对数据包进行解析第18张

(4)等待,直到“ipconfig/renew”终止。然后再次输入“ipconfig/renew”命令。

利用Wireshark截取数据包,并对数据包进行解析第19张

(5)当第二个命令“ipconfig/renew”终止时,输入命令“ipconfig/release”释放原来的已经分配的IP地址

利用Wireshark截取数据包,并对数据包进行解析第20张

(6)停止分组俘获。如下图:

利用Wireshark截取数据包,并对数据包进行解析第21张

五.实验分析

利用Wireshark截取数据包,并对数据包进行解析第22张

由截图可知,本机发起DHCP Discover包,用来寻找DHCP服务器,源ip是0.0.0.0,因为刚开始还不知道,目的地址是255.255.255.255的广播地址,广播到整个网段。

Message type为1表明是请求包,由客户端发出。

Hardware address length为6表示本机的网络硬件地址长度为6bytes

Hops为0表示跳数,此处为0 表示没有经过网关。

利用Wireshark截取数据包,并对数据包进行解析第23张

此字段表示DHCP报文类型:

利用Wireshark截取数据包,并对数据包进行解析第24张

此字段表示DHCP客户端的报文类型。

利用Wireshark截取数据包,并对数据包进行解析第25张

这是UDP上的DHCP,本机发起的端口是68,目标端口是67.

2.提供

利用Wireshark截取数据包,并对数据包进行解析第26张

DHCP服务器收到客户端发的DHCP Discover之后,会在自己的地址池中拿出一个没有分配的地址以及配套的参数(如:掩码、DNS、网关、域名、租期……),然后以一个DHCP Offer包发送出去。

此时源IP是DHCP服务器的IP,目的IP是255.255.255.255的广播。这时候本机还无法获得IP,所以DHCP服务器只能用广播来回应。

利用Wireshark截取数据包,并对数据包进行解析第27张

此截图表明通过UDP传输,客户端端口号68,服务器是67。

Message type为2表明是回复包。

Hops为1不标明经过了一个中继。

利用Wireshark截取数据包,并对数据包进行解析第28张

表明给客户端的IP地址,但是现在还没有确认。

利用Wireshark截取数据包,并对数据包进行解析第29张

这是中断的地址,就是网关

DHCP服务器地址

利用Wireshark截取数据包,并对数据包进行解析第30张

3.选择

利用Wireshark截取数据包,并对数据包进行解析第31张

客户端收到这个DHCP Offer后,会再发出一个DHCP Request给服务器来申请这个Offer中包含的地址。
这个时候,客户端还没有正式拿到地址,所以还需要向DHCP服务器申请。

此时客户端的源IP还是0.0.0.0,目的IP还是255.255.255.255。

利用Wireshark截取数据包,并对数据包进行解析第32张

将这些都广播出去,告诉其他DHCP服务器和分配给本机的服务器。

4.确认

利用Wireshark截取数据包,并对数据包进行解析第33张

被客户机选择的DHCP服务器在收到DHCPREQUEST广播后,会广播返回给客户机一个DHCPACK消息包,表明已经接受客户机的选择,并将这一IP地址的合法租用以及其他的配置信息都放入该广播包发给客户机。

服务,

本次抓包过程将采用显示过滤器的方法来过滤数据包。

免责声明:文章转载自《利用Wireshark截取数据包,并对数据包进行解析》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇变量命名规范及str类型mysql学习笔记(三)----函数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

charles抓包工具使用指南

前言 移动APP抓包 PC端抓包 查看模式 其他功能 问题汇总   1、 前言: Charles是一款抓包修改工具,相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!下面来详细介绍下这款强大好用的抓包工具。 Java环境下载:环境下载 破解版下载:破解版:Charles   2、 移...

c# Socket心跳试验,自定义发送包 和 使用KeepAlive

事前准备下载Wireshark并安装 打开Wireshark,修改过滤规则:ip.src eq 192.168.3.201 or ip.dst eq 192.168.3.201  如图: 不使用KeepAlive网上有段代码,可以对socket进行心跳检测,下面贴出部分代码: bool blockingState = socket...

接口自动化之接口整理(抓包)

  陆续在几个公司都有接触过接口测试,每个公司的接口测试需求都差不多。但是,项目的大小会影响接口测试任务的简繁。   涉及到TCP协议的接口,也涉及到http协议的接口。   前段时间,刚接到一个走HTTP协议的接口测试需求。   开发提供过来的接口如下: test:  1. get_list  a. url - subject_id / complian...

wireshark筛选器汇总

抓取指定IP地址的数据流: 如果你的抓包环境下有很多主机正在通讯,可以考虑使用所观察主机的IP地址来进行过滤。以下为IP地址抓包过滤示例: host 10.3.1.1:抓取发到/来自10.3.1.1的数据流 host 2406:da00:ff00::6b16:f02d:抓取发到/来自IPv6地址2406:da00:ff00::6b16:f02d的数据流...

upload通关手册

upload-labs通关 0x00 前言 这段时间一直在忙,没时间来更新文章,这里就写篇upload-labs的通关手册吧,现在包括网上也有很多upload通关手册,但是在这里还是想自己去写一篇,来做个自我总结。在做靶场当中也参考了网上的文章。 0x01 pass-01-10 第一关 来到第一关卡,选择,把burp开启抓包。点击上传会发现,直接就弹框不允...

WireShark学习笔记(一)

1、从WireShark分析网络层协议的传输  下面是网络接口层协议,从图中可以看到两个相邻设备的MAC地址,因此该网络包才能以接力的方式传送到目的地址。 下面是网络层,在这个包中,主要的任务是把TCP层传先来的数据加上目的地址和原地址,有了目标地址,数据才可能送到接受方,有了原地址,接收方才知道发送者是谁。  传输层协议:这层使用TCP协议,应用产...