耶耶耶耶耶 发表于 2022-6-23 11:29:14

Wireshark零基础使用教程(超详细)

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《网络安全快速入门》
https://img-blog.csdnimg.cn/c0e84b0a625742d18f47b1231c128a53.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16

Wireshark零基础使用教程



[*]一、Wireshark是什么
[*]二、Wireshark抓包原理
[*]三、Wireshark安装入门。
[*]

[*]1. 选择网卡
[*]2. 停止抓包
[*]3. 保存数据

[*]四、界面介绍
[*]五、基础操作
[*]

[*]1. 调整界面大小
[*]2. 设置显示列
[*]

[*]1)添加显示列
[*]2)隐藏显示列
[*]3)删除显示列
   
[*]3. 设置时间
[*]4. 标记数据包
[*]5. 导出数据包
[*]

[*]1)导出单个数据包
[*]2)导出多个数据包
   
[*]6. 开启混杂模式

[*]六、过滤器操作
[*]

[*]1. 抓包过滤器
[*]

[*]1)BPF语法
[*]2)使用方式
   
[*]2. 显示过滤器
[*]

[*]1)语法结构
[*]2)使用方式



一、Wireshark是什么

Wireshark是使用最广泛的一款「开源抓包软件」,常用来检测网络问题、攻击溯源、或者分析底层通信机制。
它使用WinPCAP作为接口,直接与网卡进行数据报文交换。
二、Wireshark抓包原理

Wireshark使用的环境大致分为两种,一种是电脑直连互联网的单机环境,另外一种就是应用比较多的互联网环境,也就是连接交换机的情况。
「单机情况」下,Wireshark直接抓取本机网卡的网络流量;
「交换机情况」下,Wireshark通过端口镜像、ARP欺骗等方式获取局域网中的网络流量。


[*]端口镜像:利用交换机的接口,将局域网的网络流量转发到指定电脑的网卡上。
[*]ARP欺骗:交换机根据MAC地址转发数据,伪装其他终端的MAC地址,从而获取局域网的网络流量。
三、Wireshark安装入门。

详细安装步骤请参考我的另一篇文章:
超详细,Wireshark 3.6.3安装教程(Windows系统)
安装完成后,我们学习一下快速抓包。
1. 选择网卡

打开 Wireshark 后,会直接进入「网卡选择界面」,WLAN 是我连接无线的网卡,我们抓一下这个网卡的流量,双击网卡名,自动开始抓包。
https://img-blog.csdnimg.cn/9187f84fa9924c499af703d14c584178.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center
2. 停止抓包

点击左上角的「红色按钮」,可以停止抓包
https://img-blog.csdnimg.cn/04c5f6fdf4f947d7aaeea37369d9f2e6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16
3. 保存数据

点击右上角的「文件」,选择「保存」,可以保存抓包的数据
https://img-blog.csdnimg.cn/bc6671473b0046cf9c4b8ddf2497a3fd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center
也可以直接点击工具栏的保存按钮
https://img-blog.csdnimg.cn/0f8cf67221c54429b73a162b96ee552e.png#pic_center
四、界面介绍

https://img-blog.csdnimg.cn/622f7477dbee4e7f9b0cd7e9e7831a77.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16
Wireshark 的主界面包含6个部分:

[*]菜单栏:用于调试、配置
[*]工具栏:常用功能的快捷方式
[*]过滤栏:指定过滤条件,过滤数据包
[*]数据包列表:核心区域,每一行就是一个数据包
[*]数据包详情:数据包的详细数据
[*]数据包字节:数据包对应的字节流,二进制
五、基础操作

接下来,我们学习一下Wireshark常用的操作。
1. 调整界面大小

工具栏中的三个「放大镜」图标,可以调整主界面数据的大小。
https://img-blog.csdnimg.cn/4a1672c117024a64a4ae28b281232cbe.png
从左到右依次是:放大、缩小、还原默认大小。
2. 设置显示列

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

想要在数据列表中显示某一个字段,可以将这个数据字段添加至显示列中。
左键选中想要添加为列的字段,右键选择「应用为列」。
https://img-blog.csdnimg.cn/532264593c614462854070d865a92c2c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_16,color_FFFFFF,t_70,g_se,x_16#pic_center
选中字段,按 Ctrl + Shift + I ,也可以实现同样的效果。
添加为列的字段会在数据列表中显示。
https://img-blog.csdnimg.cn/58c75471934d449aa5f6017a9420b06b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16
2)隐藏显示列

暂时不想查看的列,可以暂时隐藏起来。
在显示列的任意位置右键,取消列名的「勾选」,即可隐藏显示列。
https://img-blog.csdnimg.cn/6550f4263adb4bc8b1c7667d81291f8d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center
3)删除显示列

不需要查看的字段,可以从显示列中删除。
右键需要删除的列,点击最下方的「Remove this Column」 。
https://img-blog.csdnimg.cn/9d2e5ea4199d4e01927a93f276ce726f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center
注意:隐藏字段时,在列名栏的任意位置右键即可;而删除字段时,需要在指定的列名位置右键,以防误删。
3. 设置时间

数据包列表栏的时间这一列,默认显示格式看起来很不方便,我们可以调整时间的显示格式。
点击工具栏的「视图」,选择「时间显示格式」,设置你喜欢的格式。
https://img-blog.csdnimg.cn/adbcb43d8a5a4d03a9e2502b087e5f1b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16
4. 标记数据包

对于某些比较重要的数据包,可以设置成高亮显示,以达到标记的目的。
选中需要标记的数据包,右键选择最上面的「标记/取消标记」。
https://img-blog.csdnimg.cn/c350b14e96f04edc9b1826f6b2843463.png#pic_center
选中数据包,按 Ctrl + M 也可以实现同样的效果,按两次可以取消标记。
5. 导出数据包

演示快速抓包时,我们讲过保存数据包的操作,保存操作默认保存所有已经抓取的数据包。但有时候,我们只需要保存指定的数据包,这时候可以使用导出的功能。
1)导出单个数据包

选中数据包,点击左上角的「文件」,点击「导出特定分组」。
https://img-blog.csdnimg.cn/4387188a925f416ba2ec26305a15aa16.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center
在「导出分组界面」,选择第二个 「Selected packets only」,只保存选中的数据包。
https://img-blog.csdnimg.cn/f1717875593b4b508632d57f15de373a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_15,color_FFFFFF,t_70,g_se,x_16#pic_center
2)导出多个数据包

有时候我们需要导出多个数据包,Wireshark有一个导出标记的数据包的功能,我们将需要导出的数据包都标记起来,就可以同时导出多个数据包。
点击左上角的「文件」,点击「导出特定分组」。
https://img-blog.csdnimg.cn/ed448de59bd14615aae75411ebb88f7b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center
在「导出分组界面」,勾选第三个 「Marked packets only」,只导出标记的数据包。
https://img-blog.csdnimg.cn/83e24cc2204149598bfbe6a1261112cf.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_15,color_FFFFFF,t_70,g_se,x_16#pic_center
6. 开启混杂模式

局域网的所有流量都会发送给我们的电脑,默认情况下,我们的电脑只会对自己mac的流量进行解包,而丢弃其他mac的数据包。
开启混杂模式后,我们就可以解析其他mac的数据包,因此,我们使用Wireshark时,通常都会开启混杂模式。
点击菜单栏的「捕获」按钮,点击「选项」。
https://img-blog.csdnimg.cn/4b03cb61ba0142e5ba0634f5fbdbd467.png#pic_center
勾选 在所有接口上使用混杂模式。
https://img-blog.csdnimg.cn/9d3dda0649784eaf811f8570c82e2b63.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center
六、过滤器操作

过滤器是Wireshark的核心功能,也是我们平时使用最多的一个功能。
Wireshark提供了两个过滤器:抓包过滤器 和 显示过滤器。两个过滤器的过滤思路不同。

[*]抓包过滤器:重点在动作,需要的包我才抓,不需要的我就不抓。
[*]显示过滤器:重点在数据的展示,包已经抓了,只是不显示出来。
1. 抓包过滤器

抓包过滤器在抓包前使用,它的过滤有一个基本的语法格式:BPF语法格式。
1)BPF语法

BPF(全称 Berkeley Packet Filter),中文叫伯克利封包过滤器,它有四个核心元素:类型、方向、协议 和 逻辑运算符。

[*]类型Type:主机(host)、网段(net)、端口(port)
[*]方向Dir:源地址(src)、目标地址(dst)
[*]协议Proto:各种网络协议,比如:tcp、udp、http
[*]逻辑运算符:与( && )、或( || )、非( !)
四个元素可以自由组合,比如:


[*]src host 192.168.31.1:抓取源IP为 192.168.31.1 的数据包
[*]tcp || udp:抓取 TCP 或者 UDP 协议的数据包
2)使用方式

使用抓包过滤器时,需要先停止抓包,设置完过滤规则后,再开始抓包。
停止抓包的前提下,点击工具栏的捕获按钮,点击选项。
https://img-blog.csdnimg.cn/c04b3742d74e446fb6f761e47efcb6b1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center
在弹出的捕获选项界面,最下方的输入框中输入过滤语句,点击开始即可抓包。
https://img-blog.csdnimg.cn/5550e8193d994d94b5ca866e22e492c4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5aOr5Yir5LiJ5peld3l4,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center
提示:抓包过滤器的输入框,会自动检测语法,绿色代表语法正确,红色代表语法错误。
2. 显示过滤器

显示过滤器在抓包后或者抓包的过程中使用。
1)语法结构

显示过滤器的语法包含5个核心元素:IP、端口、协议、比较运算符和逻辑运算符。
<ol>IP地址:ip.addr、ip.src、ip.dst
端口:tcp.port、tcp.srcport、tcp.dstport
协议:tcp、udp、http
比较运算符:> < == >=
页: [1]
查看完整版本: Wireshark零基础使用教程(超详细)