一、简介
Wireshark是一款非常流行的网络数据包分析软件,可以拦截各种网络数据包并查看数据包详细信息。
出于安全原因,Wireshark只能查看数据包,而不能修改数据包的内容或发送数据包。
Wireshark可以捕获HTTP和HTTPS,但无法解密HTTPS,因此Wireshark无法理解HTTPS的内容。
二、安装
2.1. 安装地址
Wireshark开源地址:https://github.com/wireshark/wiresharkWireshark下载地址:https://www.wireshark.org/download
至于安装,这只是一个愚蠢的鼠标点击过程。没什么特别要说的,这里就省略安装步骤了。
三、抓包示例
3.1. Wireshark抓包简单流程1)主界面
2) 3.2. 从菜单栏中选择[捕获]-[选项]。当然,您也可以通过单击“捕获选项”图标来检查WLAN 网卡。选择计算机网卡使用情况(指与您使用的IP 对应的网卡)的一个简单方法是单击“开始”开始抓包。
3)Wireshark启动后,Wireshark将处于抓包状态。
4)在windows CMD命令行中Ping baidu.com。
5) 通过在过滤栏中设置过滤条件,对数据包列表进行过滤。这里以ping baidu.com为例,只过滤百度IP。
ip.addr==39.156.69.79 和icmp
表示只显示ICPM协议、源或目的主机IP为39.156.69.79的数据包。注意:协议名称icmp 必须小写。
使用Wireshark抓包的流程如下:
3.2. Wireshark 数据包捕获接口概述
注:数据包列表区域中不同的协议使用不同的颜色来区分。协议颜色标识可以在菜单栏的【查看】-【着色规则】中找到。如下:
WireShark主要分为以下几个接口: 1)显示过滤器(显示过滤器)。用于设置数据包列表过滤的过滤条件。菜单路径:分析-显示过滤器。
2) 数据包列表窗格(Packet List)显示捕获的数据包数量、时间戳、源地址、目标地址、协议、长度和数据包信息。 不同协议的数据包用不同的颜色显示。
3) 在数据包详细信息面板中,从数据包列表中选择指定的数据包,该数据包的所有详细信息将显示在数据包详细信息中。数据包详细信息面板是最重要的,用于显示协议的所有字段。每行的信息如下:
(1)Frame:数据帧概述【物理层】(2)Ethernet II:【数据链路层】以太网帧头信息(3)Internet层属于Internet协议版本4:的IP数据包头信息【网络层】(4)传输控制协议: 【传输层】T数据段头信息,这里是TCP信息(5)超文本传输协议:【应用层】,这里是HTTP协议TCP数据包的具体内容
4) 解析器窗格(数据包字节区域)。
3.3. 配置Wireshark 过滤器
Wireshark 工具附带两种类型的过滤器,您可以学习使用它们在大量数据中快速查找所需的信息。
1)抓包过滤器抓包过滤器的菜单栏路径为【抓包】-【抓包过滤器】。用于抓包前配置。
如何使用?在捕获数据包之前,您可以配置以下设置:
ip host www.baidu.com 表示仅捕获主机为www.baidu.com 的ICMP 数据包。以下是获得的结果:
2)显示过滤器
显示过滤器用于设置过滤条件,对捕获到的数据包进行过滤。通常,在捕获数据包时,设置的条件比较宽泛或者没有设置,因此捕获并显示大量数据包,以设置条件过滤,以便于分析。
您可以通过设置显示过滤条件来提取分析信息。 ip.addr==183.232.231.174 和icmp。还有一个过滤器。
3.4. 以上两种语法及其区别
1. Wireshark 过滤器表达式规则1) 数据包捕获过滤器语法和示例
抓包过滤器类型type(host、net、port)、方向目录(src、dst)、协议protocol(ether、ip、tcp、udp、http、icmp、ftp等)、逻辑运算符(and、||或,不)
2)协议过滤比较简单,直接在抓包过滤框中输入协议名称即可。
tcp,仅显示TCP 协议的数据包列表http,仅显示HTTP 协议的数据包列表icmp,仅显示ICMP 协议的数据包列表3)IP 过滤
主机192.168.182.104src 主机192.168.182.104dst 主机192.168.182.1044) 端口过滤
端口80src 端口80dst 端口805) 逻辑运算符AND、|| 或、否
源主机192.168.182.104目标端口80捕获主机地址192.168.182.80、目标端口80的数据包。
主机192.168.182.104 || 主机192.168.182.102 捕获主机为192.168.182.104 或192.168.182.102 的数据包。
! Broadcast不捕获广播包
2. 显示过滤器语法和示例1) 比较运算符
比较运算符包括==相等和!=不等于、大于、小于、=大于或等于、=小于或等于。
2) 过滤协议相对简单,直接在过滤框中输入协议名称即可。注意:协议名称必须以小写形式输入。
tcp,仅显示TCP 协议的数据包列表http,仅显示HTTP 协议的数据包列表icmp,仅显示ICMP 协议的数据包列表3)IP 过滤
IP.Src==192.168.182.104 显示192.168.182.104 的数据包列表,IP.DST==192.168.182.104,地址为192.168.182.104 数据包列表.168.182.104 显示源IP 地址或目的地的数据包列表IP 地址192.168.182.104 4) 端口过滤
tcp.port==80 显示源或目标主机端口为80 的数据包列表。 tcp.srcport==80,只显示TCP协议源主机端口为80的数据包列表。 tcp.dstport==80,仅显示TCP协议目的主机端口为80的报文列表。 4)HTTP模式过滤
http.request.method==’GET’ 仅显示HTTP GET 方法。 5) 逻辑运算符是和/或/不是
使用和/或来过滤多个条件的组合。例如,获取IP 地址183.232.231.174 的ICMP 数据包的公式为ip.addr==183.232.231.174 和icmp。
四、Wireshark抓包分析TCP三次握手
1)TCP三次握手连接建立过程:
步骤1:客户端向服务器发送SYN=1、ACK=0的数据包请求连接。这是第一次握手。步骤2:当服务器收到请求并允许连接时,发送SYN=1。向发送方发送带有ACK=1标志的数据包,表示可以通信,并请求客户端发送确认包。 步骤3:服务器发送SYN=0,ACK=。向客户端发送1个数据包,通知其连接已被确认。这是第三次握手。 TCP 连接建立并开始通信。 2)Wireshark抓包,获取指定服务器数据包。
步骤1:启动Wireshark抓包,打开浏览器输入www.huawei.com。第二步:ping www.huawei.com 获取IP。
步骤3:输入过滤条件,获取要分析的数据包列表: ip.addr==120.240.100.48 和tcp 这里仅捕获TCP 数据包。不然其他信息太多了,看起来就不好看了。
在此图中,您可以看到Wireshark 截获了三向握手的三个数据包。然而,从上图中你可以看到有多次3次握手。事实上,细心的学生会注意到最后有两次TLS 握手。是的,因为请求是在3 次握手TLS 握手之后通过https 发送的。上面的访问是通过http,但是跳转到了https。 流程图大致如下。
下面是TLS握手过程。
五、Wireshark分析tcpdump抓包结果
使用[文件] – [打开] 选择要分析的文件。最后,单击右侧的箭头开始分析。
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/86120.html