wireshark工具简介

devtools/2025/1/23 22:00:28/

目录

wireshark%E4%BB%8B%E7%BB%8D-toc" style="margin-left:0px;">1 wireshark介绍

wireshark%E6%8A%93%E5%8C%85%E6%B5%81%E7%A8%8B-toc" style="margin-left:0px;">2 wireshark抓包流程

2.1 选择网卡

2.2 停止抓包

2.3 保存数据

wireshark%E8%BF%87%E6%BB%A4%E5%99%A8%E8%AE%BE%E7%BD%AE-toc" style="margin-left:0px;">3 wireshark过滤器设置

3.1 显示过滤器的设置

3.2 抓包过滤器

wireshark%E7%9A%84%E5%B0%81%E5%8C%85%E5%88%97%E8%A1%A8%E4%B8%8E%E5%B0%81%E5%8C%85%E8%AF%A6%E6%83%85-toc" style="margin-left:0px;"> 4 wireshark的封包列表与封包详情

4.1 封包列表

4.2 封包详情

参考文献


wireshark%E4%BB%8B%E7%BB%8D">1 wireshark介绍

       wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。wireshark是开源软件,可以放心使用。 可以运行在WindowsUnixLinuxMac OS上。

        WireShark 主要分为这几个界面:

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

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

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

4. Dissector Pane(16进制数据)

5. Miscellanous(地址栏,杂项)

wireshark%E6%8A%93%E5%8C%85%E6%B5%81%E7%A8%8B" style="text-align:left;">2 wireshark抓包流程

2.1 选择网卡

        打开 Wireshark 后,会直接进入「网卡选择界面」,WLAN 是我连接无线的网卡,我们抓一下这个网卡的流量,双击网卡名,自动开始抓包。

2.2 停止抓包

点击左上角的「红色按钮」,可以停止抓包。

2.3 保存数据

点击右上角的「文件」,选择「保存」,可以保存抓包的数据。

也可以直接点击工具栏的保存按钮。

wireshark%E8%BF%87%E6%BB%A4%E5%99%A8%E8%AE%BE%E7%BD%AE">3 wireshark过滤器设置

Wireshark提供了两个过滤器:抓包过滤器 和 显示过滤器。两个过滤器的过滤思路不同。

抓包过滤器:重点在动作,需要的包我才抓,不需要的我就不抓。

显示过滤器:重点在数据的展示,包已经抓了,只是不显示出来。

3.1 显示过滤器的设置

可以在显示过滤器中输入过滤条件,来获取过滤后的封包列表显示。

常用的几个过滤条件如下:

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的。

tcp.port >= 2000 and tcp.port <= 2500 ,端口号在20002500范围内的封包。

4)长度和内容的过滤

udp.length < 30   http.content_length <=20,针对长度的过虑

http.request.uri matches “vip,匹配http请求中含有vip字段请求信息

5)逻辑运算符为 AND/ OR/NOT/&&/|| /!

6)特定偏移值的数据包tcp[20:3] == 47:45:54

3.2 抓包过滤器

抓包过滤器在抓包前使用,所以使用抓包过滤器时,需要先停止抓包,设置完过滤规则后,再开始抓包。停止抓包的前提下,点击工具栏的捕获按钮,点击选项。

在弹出的捕获选项界面,最下方的输入框中输入过滤语句,点击开始即可抓包。

提示:抓包过滤器的输入框,会自动检测语法,绿色代表语法正确,红色代表语法错误。

抓包过滤器过滤有一个基本的语法格式:BPF语法格式:

1)抓取指定IP地址的数据流

host 10.3.1.1:抓取发到/来自10.3.1.1的数据流

not host 10.3.1.1:抓取除了发到/来自10.3.1.1以外的所有数据流

src host 10.3.1.1:抓取来自10.3.1.1的数据流

2)抓取指定IP地址范围的数据流

net 10.3.0.0/16:抓取网络10.3.0.0上发到/来自所有主机的数据流(16表示长度)

net 10.3.0.0 mask 255.255.0.0:与之前的过滤结果相同

not dst net 10.3.0.0/16:抓取除了发到以10.3开头的IP地址以外的所有数据流

3)抓取指定端口的数据流

port 53:抓取发到/来自端口53UDP/TCP数据流(典型是DNS数据流)

not port 53:抓取除了发到/来自端口53以外的UDP/TCP数据流

portrange 1-80:抓取发到/来自端口1-80的所有UDP/TCP数据流

tcp portrange 1-80:抓取发到/来自端口1-80的所有TCP数据流

4)熟悉报文内容的,可以通过各个协议层偏移字段

ip[2:2]==<number>ip报文大小

Tcp[2:2] > 50 and tcp[2:2] < 100 抓取目的端口为50~100TCP报文

wireshark%E7%9A%84%E5%B0%81%E5%8C%85%E5%88%97%E8%A1%A8%E4%B8%8E%E5%B0%81%E5%8C%85%E8%AF%A6%E6%83%85"> 4 wireshark的封包列表与封包详情

4.1 封包列表

Packet List Pane(数据包列表), 显示捕获到的数据包,每个数据包包含编号,时间戳,源地址,目标地址,协议,长度,以及数据包信息。不同协议的数据包使用了不同的颜色区分显示。

图片

数据包列表是最常用的模块之一,列表中有一些默认显示的列,我们可以添加、删除、修改显示的列。

1)添加显示列
想要在数据列表中显示某一个字段,可以将这个数据字段添加至显示列中。
左键选中想要添加为列的字段,右键选择「应用为列」。


选中字段,按 Ctrl + Shift + I ,也可以实现同样的效果。

添加为列的字段会在数据列表中显示。


2)隐藏显示列
暂时不想查看的列,可以暂时隐藏起来。
在显示列的任意位置右键,取消列名的「勾选」,即可隐藏显示列。

3)删除显示列
不需要查看的字段,可以从显示列中删除。
右键需要删除的列,点击最下方的「Remove this Column」 。


注意:隐藏字段时,在列名栏的任意位置右键即可;而删除字段时,需要在指定的列名位置右键,以防误删。

4)设置时间
数据包列表栏的时间这一列,默认显示格式看起来很不方便,我们可以调整时间的显示格式。
点击工具栏的「视图」,选择「时间显示格式」,设置你喜欢的格式。

5)追踪流

要筛选到特定流,在感兴趣的流/连接的数据包列表中选择TCP、UDP、DCCP、TLS、HTTP、HTTP/2、QUIC或SIP数据包。有两种打开追踪流的界面方法,以TCP为例:

方法一: 选择菜单项【Analyze → Follow → TCP Stream 】

方法二:选择追踪到的数据→ Follow → TCP Stream 

下面展示追踪到流数据,需要进行说明的是:

【1】流内容的显示顺序和它在网络上出现的顺序相同。不可打印的字符被点代替。

【2】从客户端到服务器的流量被标记为红色,而从服务器到客户端的流量被标记为蓝色。这些颜色可以通过下面地方设置

4.2 封包详情

Packet Details Pane(数据包详细信息), 在数据包列表中选择指定数据包,在数据包详细信息中会显示数据包的所有详细信息内容。数据包详细信息面板是最重要的,用来查看协议中的每一个字段。各行信息分别为

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

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

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

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

(5)Hypertext Transfer Protocol:  应用层的信息,此处是HTTP协议

TCP包的具体内容

从下图可以看到wireshark捕获到的TCP包中的每个字段。

TCP包的具体内容

从下图可以看到wireshark捕获到的TCP包中的每个字段。

参考文献

Wireshark零基础使用教程(超详细)_wireshark抓包新手使用教程-CSDN博客

Wireshark数据包操作_wireshark 数据解析-CSDN博客

wireshark分析数据包:追踪流_wireshark追踪流-CSDN博客


http://www.ppmy.cn/devtools/152972.html

相关文章

HTTPS的加密原理

HTTPS&#xff08;HyperText Transfer Protocol Secure&#xff09;是一个安全的 HTTP 协议&#xff0c;结合了 SSL/TLS 协议来提供数据加密、身份验证和数据完整性保护。其核心加密原理可以分为以下几个步骤&#xff1a; 对称加密和非对称加密 HTTPS 使用了对称加密和非对称…

Java学习,List移动元素

Java实现List中元素的循环移动&#xff08;即将列表中的元素向右或向左移动指定数量的位置&#xff09;&#xff0c;可以使用多种方法。 List元素移动指定位置&#xff1a; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class…

Ardupilot开源无人机之Geek SDK进展2024-2025

Ardupilot开源无人机之Geek SDK进展2024-2025 1. 源由2. 状态3. TODO3.1 【进行中】跟踪目标框3.2 【暂停】onnxruntime版本3.3 【完成】CUDA 11.8版本3.4 【完成】pytorch v2.5.1版本 - Jetpack53.5 【未开始】Inference性能3.6 【未开始】特定目标集Training 4. Extra-Work4.…

Django学习笔记(启动项目)-03

Django学习笔记(启动项目)-03 1、在urls文件中配置一个路由url 2、在views文件中创建视图函数 3、启动项目测试结果 # 输入项目启动命令 python manage.py runserver4、创建HTML模版和静态文件 1、在templates文件夹中创建一个html 2、创建url路由与视图函数 3、测试效果 4、…

(三)线性代数之二阶和三阶行列式详解

在前端开发中&#xff0c;尤其是在WebGL、图形渲染、或是与地图、模型计算相关的应用场景里&#xff0c;行列式的概念常常在计算变换矩阵、进行坐标变换或进行图形学算法时被使用。理解二阶和三阶行列式对于理解矩阵运算、旋转、平移等操作至关重要。下面&#xff0c;我将结合具…

docker Ubuntu实战

目录 Ubuntu系统环境说明 一、如何安装docker 二、发布.netcore应用到docker中 Ubuntu系统环境说明 cat /etc/os-release PRETTY_NAME"Ubuntu 22.04.5 LTS" NAME"Ubuntu" VERSION_ID"22.04" VERSION"22.04.5 LTS (Jammy Jellyfish)&quo…

如何优化虚拟化服务器在高负载环境下的性能?

虚拟化服务器利用虚拟化技术将物理服务器的硬件资源如CPU、内存、硬盘和网络带宽等)划分成多个虚拟机&#xff0c;每个虚拟机像独立的物理服务器一样运行操作系统和应用程序。虚拟机之间相互隔离&#xff0c;彼此共享底层硬件资源。虚拟化服务器可以通过Hypervisor虚拟机监控器…

研究 Day.js 及其在 Vue3 和 Vue 框架中的应用详解

前言 在前端开发中&#xff0c;日期和时间处理是一个常见需求。随着技术的发展&#xff0c;我们有了更多高效、灵活的日期库可供选择。Day.js 就是一个轻量级、易于使用的 JavaScript 日期库&#xff0c;其灵感来源于 Moment.js&#xff0c;但体积更小&#xff0c;速度更快。本…