实战网络问题排查(三) — wireshark 使用详解

1. 引言

连续两篇文章,我们详细介绍了 tcpdump 的使用方法:

计算机网络问题排查(一) — tcpdump 原理与基础参数

实战计算机网络问题排查(二) — tcpdump 的过滤指令

然而,tcpdump 工具产生的结果纷繁复杂,靠肉眼难以在大量的抓包结果信息中马上定位到我们需要的信息,此时,一个方便好用的可视化工具就显得尤为重要了。

现今最为流行的网络封包分析软件要数 wireshark 了,他自带了抓包分析工具,同时也支持对 pcap 文件进行分析,可以支持各种网络数据包的截取和分析,显示数据包详细信息。有了他,我们解决起网络问题就能够得心应手手到擒来了。

本文我们就来详细介绍 wireshark 的安装和使用,对于具体问题的抓包分析,我们后面会有系列文章来进行详细讲解,敬请期待。

2. wireshark 的安装

wireshark 安装非常简单,只要从官网下载安装包然后按照提示安装即可:

https://www.wireshark.org/

3. wireshark 的使用

3.1 利用 wireshark 抓包

wireshark 打开后的界面下图所示:

图中框选的按钮从左到右分别是:开始抓包、停止抓包、重新抓包、抓包配置。

如果你想要利用 wireshark 进行抓包,那么只要进行简单的配置,勾选你想要抓包的网卡,点击开始抓包就可以了。

通过 Capture 菜单的 Capture Filters 选项,可以在抓包前设置抓包过程中需要应用的过滤器。

3.2 利用 wireshark 分析 pcap 文件

通常,我们使用 wireshark 更加常见的场景是分析 tcpdump 通过 -w 参数产生的原始 pcap 文件。

此时,只要点击 File 菜单的 Open,选择我们预先准备好的 pcap 文件即可。

4. wireshark 的界面

一旦完成抓包或 pcap 文件的加载,就可以看到下面的界面:

如图所示,wireshark 界面主要分为以下几个区域:

  1. 过滤栏 — 用于输入过滤语句对抓包数据进行过滤。

  2. 数据列表区 — 每一行是一个数据包,包含编号,时间戳,源地址,目标地址,协议,长度,以及数据包信息。

  3. 数据详情区 — 显示选中数据包中的详细数据信息。

  4. 数据字节区

  5. 数据统计区 — 显示包总数等统计信息。

4.1 数据列表区

我们先来看数据列表区,界面非常直观,我们可以在界面上一目了然的看到每个数据包是从哪里发送到哪里,是什么协议,以及包大小等等信息。

并且可以看到,不同类型的数据包用不同的颜色标记了出来,你可以通过 View 菜单的 Coloring Rules 选项去查看和修改配色。

4.2 数据详情区 & 数据字节区

数据详情区显示了一个数据包的详细情况:

如图所示,数据详情区按照 OSI 模型显示了数据包的五层详情信息:

  1. Frame:  物理层的数据帧概况

  2. Ethernet II: 数据链路层以太网帧头部信息

  3. Internet Protocol Version 4: 互联网层IP包头部信息

  4. Transmission Control Protocol: 传输层T的数据段头部信息

  5. Hypertext Transfer Protocol: 应用层的信息

点击左侧的按钮展开可以看到每个或某几个字节的具体值。

在数据字节区,可以看到每个字节具体的十六进制值与 Ascii 值。

5. 显示过滤规则

只要在过滤栏填写过滤规则,就可以实现对数据列表中的抓取数据进行过滤了。

5.1 运算符

与大部分编程语言一致,wireshark 支持的运算符有以下这些:

  • ==

  • !=

  • >

  • <

  • >=

  • <=

  • and

  • or

5.2 协议过滤

只需要输入小写协议名即可,例如:

  • tcp

  • http

  • icmp

5.3 ip 过滤

wireshark 支持对来源、目的 ip 进行过滤:

  • ip.src == 192.168.1.101

  • ip.dst == 192.168.1.101

  • ip.addr == 192.168.1.101

5.4 端口过滤

同样,wireshark 也支持对来源、目的端口进行过滤:

  • tcp.port == 80

  • tcp.srcport == 80

  • tcp.dstport == 80

5.5 http 方法过滤

对于 http 数据包,可以通过 http 方法进行过滤:

http.request.method==”GET”

微信公众号

欢迎关注微信公众号,以技术为主,涉及历史、人文等多领域的学习与感悟,每周都有精彩推文,全部原创,只有干货没有鸡汤

实战网络问题排查(三) — wireshark 使用详解》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:https://www.bookhoes.com/4402.html