我是如何使用Wireshark软件的

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

[[376029]]

01简介 

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

开始界面

 

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

02Wireshark窗口

Wireshark 窗口介绍:

 

WireShark 主要分为这几个界面:

1. Display Filter(显示过滤器), 用于过滤。

2. Packet List Pane(封包列表),显示捕获到的封包, 有源地址和目标地址,端口号。颜色不同,代表。

3. Packet Details Pane(封包详细信息),显示封包中的字段。

4. Dissector Pane(16进制数据)。

5. Miscellanous(地址栏,杂项)。

常用操作按钮

 

①开始捕获,②停止捕获,③重新捕获

03Wireshark显示过滤

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

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

 

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

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

过滤器有两种:

一、显示过滤器

 

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

二、捕获过滤器

 

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

保存显示过滤

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

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

 

 


 

 

 

然后修改名字。

 

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

 

04过滤表达式的规则

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

常用的过滤表达式:

 

05封包详细信息

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

各行信息分别为:

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

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

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

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

Data:应用层的信息。

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

 

详细的使用wireshark抓取数据包,分析TCP/IP协议簇的IP首部字节,TCP首部字节等等,请看专栏《STM32网络开发》。

06自动保存

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

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

 

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

 

07Wireshark的统计功能

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

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

 

 

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

 

 

 

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

本文转载自微信公众号「知晓编程」,可以通过以下二维码关注。转载本文请联系知晓编程公众号。

 

责任编辑:武晓燕 来源: 知晓编程
相关推荐

2014-09-17 15:22:57

2020-10-28 14:38:41

Maven

2021-07-06 10:03:05

软件开发 技术

2023-03-21 17:06:24

树莓派路由器

2014-08-28 09:48:41

2015-08-10 14:56:31

Google

2022-08-22 16:04:00

WiresharkTCP吞吐

2022-11-04 19:00:00

架构

2016-05-18 10:04:17

技术面试

2021-08-07 07:23:08

Webpack中间件模型

2016-11-21 15:08:38

Leader工程师团队管理

2022-09-06 09:37:17

GroovyJava框架

2015-01-28 13:10:55

2010-03-02 10:13:56

程序员面试

2009-08-27 10:20:14

思科认证CCNA准备

2018-05-23 09:11:42

微信Android开发面试

2020-10-14 10:29:58

人工智能

2023-07-05 16:45:30

WiresharkLinux

2016-12-02 09:30:03

思科网络

2009-03-05 09:34:22

毕业生面试招聘
点赞
收藏

51CTO技术栈公众号