查看原文
其他

我是如何使用 wireshark 软件的

Linux爱好者 2021-07-19

The following article is from 知晓编程 Author Firefly

简介

这篇文章介绍一个好用的抓包工具Wireshark, 用来获取网络数据封包,包括HTTP、TCP、UDP等网络协议包。

开始界面

wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。直接双击上面的某个网卡即可。

Wireshark窗口

Wireshark 窗口介绍:

WireShark 主要分为这几个界面:
1. Display Filter(显示过滤器), 用于过滤。 2. Packet List Pane(封包列表),显示捕获到的封包, 有源地址和目标地址,端口号。颜色不同,代表。 3. Packet Details Pane(封包详细信息),显示封包中的字段。 4. Dissector Pane(16进制数据)。 5. Miscellanous(地址栏,杂项)。

常用操作按钮①开始捕获,②停止捕获,③重新捕获

Wireshark显示过滤

使用过滤是非常重要的,初学者使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。

过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

比如上图的过滤方式,只会显示TCP端口为5005的通信数据包。

注意:这里设置的是显示过滤是只显示,实际上wireshark还是会抓取这个网卡上的所有数据包。

过滤器有两种:

一、显示过滤器

就是主界面上那个,用来在捕获的记录中找到所需要的记录。

二、捕获过滤器

用来过滤捕获的封包,以免捕获太多的记录,在捕获->捕获过滤器中设置。这种适用于只抓取某个通道的通信。

保存显示过滤

通常情况下,我们在工作中每次打开wireshark都是抓取同样类型的数据,比如公司产品的默认TCP的端口是5005,也就是上面的tcp.port== 5005。我们不希望每次打开wireshark时都重新输入一遍过滤表达式,我们可以保存下来。

再输入表达式后,点击左侧的书签按钮,选择保存此过滤器。

然后修改名字。

下次点击左侧书签,可以直接选择这个保存显示过滤条件,不用重复输入。

过滤表达式的规则

1. 协议过滤

比如TCP,只显示TCP协议。

2. IP 过滤

比如ip.src ==192.168.1.102 显示源地址为192.168.1.102。

ip.dst==192.168.1.102, 目标地址为192.168.1.102。

3. 端口过滤

tcp.port ==80,  端口为80的。

tcp.srcport == 80,  只显示TCP协议的为端口为80的。

4. Http模式过滤

http.request.method==”GET”,   只显示HTTPGET方法的。

5. 逻辑运算符为AND/ OR

常用的过滤表达式:

封包详细信息

封包详细信息(Packet Details Pane)面板是我们最重要的,用来查看协议中的每一个字段。

各行信息分别为:

**Frame: **  物理层的数据帧概况。

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

**Internet Protocol Version 4: **互联网层IP包头部信息。

**Transmission Control Protocol: ** 传输层的数据段头部信息,此处是TCP。

**Data:**应用层的信息。

wireshark与对应的TCP/IP****四层模型

自动保存

开发中,我们有时候需要抓取某个设备运行过程中一段时间的数据,可能是几天,甚至十几天。如果我们按照上面的方法,抓取数据,运行一段时间,wireshark一直在抓取数据,运行几个小时后,在内存小的PC上就崩溃了。这个时候我们需要wireshark抓取一段时间,自动保存一下。

设置方法:捕获->选项->输出。

在实际项目中,有些嵌入式设备并不是和PC进行数据通信,可能与另一台嵌入式设备通信。这时候我们要借助带有端口镜像的交换机进行数据监控。如下图,将交换机端口配置成3是2的镜像,配合wireshark的自动保存功能,可以监控一个网络设备的全部数据包。

Wireshark的统计功能

Wireshark的一个强大的功能在于他的统计工具,使用Wireshark的时候我们有各种类型的工具可供选择。

比如协议分级。协议分级统计窗口显示为,捕捉文件包含的所有协议和树状分支;分组百分比永远按照的是相同协议层。

再比如可以展示TCP的吞吐量。

这些统计功能是wireshark的重要功能,运维工作人员,网络维护人员使用的比较多,嵌入式或单片机网络开发,还是以TCP/IP协议簇抓包分析为主,详细的统计功能这里不再详解。

- EOF -


推荐阅读  点击标题可跳转

1、快速搭建高可用 ETCD 集群

2、Science公布:全世界最前沿的125个科学问题

3、分布式事务中的时间戳


看完本文有收获?请分享给更多人

推荐关注「Linux 爱好者」,提升Linux技能

点赞和在看就是最大的支持❤️

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存