Web:使用wireshark抓取网络报文并分析

Wireshark

Wireshark(Ethereal)是一个免费的网络报文分析软件。网络报文分析软件的功能是抓取网络报文,并逐层显示报文中各字段取值。网络报文分析软件有个形象的名字“嗅探工具”,像一只猎狗,忠实地守候在接口旁,抓获进出该进口的报文,分析其中携带的信息,判断是否有异常,是网络故障原因分析的一个有力工具。网络报文分析软件曾经非常昂贵,Ethereal/wireshark 开源软件的出现改变了这种情况。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal/wireshark 是目前世界使用最广泛的网络报文分析软件之一。

Wireshark网络分析器的官网是:https://www.wireshark.org/,目前,Wireshark的稳定发行版本为3.2.2

软件的基本应用

双击软件的图标,软件运行后,会显示如下的客户端界面。界面主要包含三个区域,从上到下,分别是工具区、捕获过滤器和网卡列表。在网卡列表中双击其中的一个网络设备即可开始捕获网络分组,又或单击选择一个网络设备,然后再点击工具区中的最左侧的蓝色斜三角图标,也可开始捕获网络分组。如果想停止捕获网络分组,再点击工具区上的红色正方形图标即可。
在这里插入图片描述
如下为捕获到的结果,结果主要分为三个区域,最上方是请求和响应列表,每一条记录表示一次请求或响应的交互。中间是对选中的“交互”进行解析后的结果。最下方是原始的数据格式。
在这里插入图片描述

注意事项

  • 要学会使用Wireshark中的过滤器,毕竟要在大量的网络分组中寻找到自己要找的分组是非常费时费力的。下面介绍几个过滤规则:1、tcp,选出TCP协议的分组;2、http,选出HTTP协议的分组;3、ip.src ==192.168.1.102,选出源地址为192.168.1.102的分组;4、ip.src==47.95.164.112 or ip.dst==47.95.164.112,选出源地址和目标地址均为47.95.164.112的分组;5、tcp.flags.syn==1,选出TCP同步位报文段。
  • 分组列表的面板中显示的信息包括:编号,时间,源地址,目标地址,协议,长度,以及分组信息。 可以看到不同的协议用了不同的颜色显示,当然也可以在视图-->着色规则中修改显示颜色的规则。
  • OSI七层模型分别为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层;TCP/IP五层模型分别为:物理层、数据链路层、网络层、传输层和应用层。
  • 在界面中间显示的是分组详细信息,在其中,可查看分组在每一层协议中对应的字段信息。在分组信息中,每一行内容会分别与TCP/IP网络模型的五层对应:Frame: 物理层的数据帧概况 -->物理层】,Ethernet II: 数据链路层以太网帧头部信息 -->【数据链路层】,Internet Protocol Version 4: 互联网层IP包头部信息–>【网络层】,Transmission Control Protocol: 传输层的数据段头部信息,此处是TCP–>【传输层】,Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议–>【应用层】

Wireshark的使用用例

1、查看本机的网络适配器列表

点击:捕获–>选项,即可打开“捕获接口”界面,如下为本机的网络适配器列表。
在这里插入图片描述
展开适配器,可得到其地址,如下所示
在这里插入图片描述

记录一次TCP三报文握手过程

先在命令行窗口中输入ipconfig命令以查看IP地址。如下图所示,本机连接的是WiFi,其IPv4地址为:192.168.8.102。
在这里插入图片描述
TCP的连接建立就是一次握手,在TCP的连接建立过程中,也即在一次握手中,客户端(A)和服务器(B)之间交换了三个报文,这三个报文分别是:【A-->B】连接请求报文段(SYN=1,seq=x(x一般为0))、【B-->A】同步确认报文段(SYN=1,ACK=1,seq=y(y也一般为0),ack=x+1)、【A-->B】确认报文段(ACK=1,seq=x+1,ack=y+1)。如下为用三报文握手建立TCP连接的示意图。
在这里插入图片描述
以CSDN网站为例,其网址为:https://www.csdn.net/。在Wireshark开始捕获分组后,再在浏览器中输入CSDN的网址,让其转至CSDN首页。Wireshark在这一过程中抓到了许多分组,通过分析这些分组可知,本机的IP地址为:192.169.8.102,CSDN的IP地址为:47.95.164.112。

如下为在一次握手中,交换的第一个报文,这个报文叫连接请求报文,由于其首部的同步位SYN=1,所以也叫同步报文段。通过这个报文可知,同步位SYN=1,序号seq=0,源IP地址是本机,目的IP地址是CSDN。
在这里插入图片描述
如下为在一次握手中,交换的第二个报文,这个报文叫同步确认报文段。通过这个报文可知,同步位SYN=1,确认位ACK=1,序号seq=0,确认号ack=1,源IP地址是CSDN,目的IP地址是本机。
在这里插入图片描述
如下为在一次握手中,交换的第三个报文,这个报文叫确认报文段。通过这个报文可知,确认位ACK=1,序号seq=1,确认号ack=1,源IP地址是本机,目的IP地址是CSDN。
在这里插入图片描述

参考

https://blog.csdn.net/budding0828/article/details/86560467?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
https://www.cnblogs.com/bylijian/p/8565601.html
https://www.cnblogs.com/Chilam007/p/6973990.html

抓取网络数据报文分析各个字段的含义和内容是一个具体的操作过程,我无法直接在这里为你完成这个任务。但是,我可以提供一个大致的步骤供你参考: 1. 下载并安装Wireshark:你可以从Wireshark官方网站(https://www.wireshark.org/)下载适合你操作系统的版本,并按照安装指南进行安装。 2. 打开Wireshark并选择网络接口:打开Wireshark后,选择你要抓取数据的网络接口,例如Wi-Fi或以太网。 3. 开始抓取数据报文:点击“开始”按钮开始抓取数据报文Wireshark将开始监听选定的网络接口,并显示抓取到的数据报文。 4. 过滤报文Wireshark可以捕获网络中的大量数据报文,你可以使用过滤器来筛选出特定协议的报文。例如,你可以使用过滤器"eth.type == 0x0800"来显示只包含IPv4协议的报文。 5. 分析报文字段:在Wireshark中选择一个报文后,可以展开查看各个字段的详细信息。针对不同的协议,你可以查看各个协议头部的字段,如以太网帧头部、IP头部、ICMP头部、TCP头部和UDP头部等。 6. 解释字段含义和内容:根据各个字段的名称和值,你可以根据各个协议的规范说明来解释字段的含义和内容。Wireshark提供了字段的详细解释和描述,帮助你理解每个字段的作用。 通过以上步骤,你可以使用Wireshark抓取网络数据报文,并分析各个协议的字段含义和内容。请注意,这是一个高级的网络分析任务,需要一定的网络知识和经验。在实际操作中,请确保遵守相关法律法规和网络使用规范。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值