wireshark介绍、使用

1 Wireshark介绍

Wireshark 是开源网络包分析工具,支持Windows/Linux/Unix环境。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。可以从网站下载最新版本的Wireshark (http://www.wireshark.org/download.html 。 Wireshark通常在4-8周内发布一次新版本。目前我司主流的版本是wireshark 3.0.0,主要是试用该版本进行协议分析。

2 功能介绍

Wireshark支持图形和命令行两种抓报文方式。

3 图形界面抓报文

3.1 选择网卡抓报文

第一步 打开wireshark抓包软件,点击“Capture–>Interfaces”,如图3-1

在这里插入图片描述

图3-1选择网卡
第二步 选择抓包的网卡,点击”Strart“开始抓包,这样将抓取流经此网卡的所有报文,并临时保存在内存中。因此,如果持续抓包将消耗掉系统所有内存。如图3-2和图3-3
在这里插入图片描述

图3-2启动抓包

在这里插入图片描述
图3-3抓包界面
图标 说明
重新抓报文
停止抓报文
在这里插入图片描述
表1-1

3.2 显示报文抓取时间

打开wireshark抓包软件,点击“View–>TimeDisplay Format–>Date and Time of Day”,如图3-4和图3-5
在这里插入图片描述
图3-4
效果图:
在这里插入图片描述
图3-5

3.3 Wireshark界面布局

Wireshark界面主要分为三部分(如图3-6),区域一显示抓取的报文,区域二显示选中报文的包头详细信息,区域三显示选中报文的详细信息,默认以十六进制显示。
在这里插入图片描述
图3-6
功能 说明
区域一 显示抓取的报文
区域二 显示选中报文的包头详细信息
区域三 显示选中报文的详细信息,默认以十六进制显示
Packets 抓取的所有报文计数
Displayed 满足过滤条件的报文计数
在这里插入图片描述
表1-2

3.4 报文过滤条件

 Wireshark能够根据应用的需要设置灵活方便的过滤条件,迅速筛选出符合条件的报文。

Wireshark的Filter过滤能够自动检测语法合法性,如果过滤条件设置正确,则Filter输入框为绿色,如果过滤条件设置错误,则Filter输入框为红色。如图3-7
在这里插入图片描述
图3-7

3.4.1 常用过滤条件

功能 说明
ip.addr10.23.7.113 源IP地址或目的IP地址是10.23.7.113的报文
ip.src
10.23.7.113 源IP地址是10.23.7.113
ip.dst10.23.7.113 目的IP地址是10.23.7.113
ip.src
10.23.7.113 and ip.dst==10.23.7.113 报文源IP地址是10.23.7.113且目的IP地址是106.28.142.181

IPip
udp/tcp.port==80 过滤udp或tcp源端口或目的端口是80的报文

udp/tcp.srcport==40004 过滤udp或tcp源端口是40004的报文

udp/tcp.dstport80 过滤udp或tcp目的端口是80的报文
tcp.srcport
40004 and tcp.dstport80 过滤tcp协议源端口是40004且目的端口是80的报文
tcp/udp/http 过滤tcp/udp/http报文
tcp.flags.syn
0x02 抓tcp syn报文
ip.id==0xadcd 过滤ip报文id是0xadcd的报文
在这里插入图片描述
表1-3

3.4.2 Wireshark expression

当然,如果你对Filter过滤规则不熟悉或者不知道如何怎么写时,可以使用wireshark的Expression,这里列出了wireshark所支持的所有过滤协议以及过滤方式

在这里插入图片描述
图3-8

3.4.3 高级过滤条件

上述的过滤条件都是wireshark内置的,主要是根据已知的包头字段内容过滤。同时wireshark也支持根据报文负载内部过滤。
项目 说明
tcp/udp[offset:n] 从tcp或udp偏移指定字节后,命中指定n个字节的内容
tcp[20:8] 表示从20开始,取8个字节
udp[8:3] 表示从8开始,取3个字节
udp[8:3]==81:60:03 不可以写为udp[8:3]==816003
在这里插入图片描述
表1-4
根据负载单字节过滤,如图3-9
在这里插入图片描述
图3-9
根据udp负载过滤双字节,如图3-10

图3-10
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据tcp包头后3字节内容,如图3-11
在这里插入图片描述
图3-11

3.4.4 Wireshark capture filter

根据3.1抓报文,wireshark默认抓取所选网卡的所有报文,并且保存在内存中。如果忘记停止抓报文,会耗尽系统内存。我们完全可以设置wireshark只抓取满足过滤条件的报文。
在这里插入图片描述
图3-12
点击图中的“Options”选择,进入图3-13
在这里插入图片描述
图3-13
设置好过滤条件后,点击”Start“,wireshark就只抓取符合过滤条件的报文。
在”Capture Filter“输入框内输入过滤条件。语法正确,输入框背景显示为绿色,语法错误,输入框背景显示为红色。请注意,此处的语法与3.4.1不相同。
功能 说明
Host 10.23.7.113 源IP地址或目的IP地址是10.23.7.113的报文
host 10.23.7.113 and tcp port 4444 源IP地址或目的IP地址是10.23.7.113的报文且tcp端口是4444的报文
udp port 69 udp 端口是69的报文
常用过滤条件:
在这里插入图片描述
表1-5

4 命令行抓报文

命令行抓包可以让抓取的报文直接保存在硬盘上,这样既不用担心wireshark抓大流量报文时(例如笔记本抓1Gbps速率的报文)崩溃,又不用担心迅速耗尽系统内存的风险。

4.1 选择网卡

使用cmd进入wireshark的安装目录,如图4-1
在这里插入图片描述
图4-1
执行dumpcap.exe -D列出所有网卡
在这里插入图片描述
图4-2
根据wireshark图形界面,选择你需要抓包接口ID
在这里插入图片描述
图4-3

4.2 命令行过滤条件

Dumpcap.exe -i 1 -s 0 -B 256 filesize:10000 -w f:\1.pcap -f “ tcp port 80”
在这里插入图片描述
图4-4
项目 说明
-i 1 接口ID值,可使用dumpcap.exe -D查看
-s 0 指定抓取报文的长度,0表示抓取报文全部长度
-B 256 size of kernel buffer,即系统内核缓存。默认是2M
Filesizes:10000 每10M一个文件保存
-w f:\1.pcap 抓取的报文保存在F盘,文件名为1.pcap
-f “tcp port 80” 抓报文的过滤条件
在这里插入图片描述
表1-6

4.3 常用过滤条件

1、dumpcap.exe -i 4 -s 65535 -b filesize:100000 -w F:\radius_filter_test.pcap -f “udp[30:4]==0x30383734”
2、dumpcap.exe -i 1 -s 65535 -B 256 -b filesize:200000 -w F:\pcap1\3.pcap -f “udp port 1813”
3、dumpcap.exe" -i 2 -s 65535 -B 256 -b filesize:10000 -w F:\pcacp\3.pcap -f “host 182.244.157.105”

5 批量转换报文格式

在我们的日常工作中排查一些局点问题,往往需要从前方局点抓一些报文在公司进行回放测试,以帮助分析和定位问题,但往往通过wireshark自动执行抓包后保存的报文格式默认是.pcapng类型,使用公司的报文回放工具SendPcap_v1.1.exe因识别不了此类格式的报文而无法进行回放,若通过手动方式将报文一个一个打开后再保存为我们能用的格式,工作量是非常大的。这个时候我们就需要借助自动化脚本进行批量转化,大大简化工作量来达到我们的目的。本文重点介绍通过自动化执行脚本方式来批量转化报文的方法。按照本文介绍的方法,我们可以很轻松的实现将大批量的报文在短时间内进行转化。
步骤1、确定wireshark安装目录,如图5-1
在这里插入图片描述
图5-1
步骤2、操作方法:【计算机】=>【属性】=>【高级系统设置】=>【高级】=>【环境变量】
在弹出的窗口中确认“用户变量”有没有“path”变量,如果没有则选择“新建”,在弹出的窗口中“变量名”为“path”,对应的变量值则为wireshark的安装路径。若已经存在“path”变量,则只需要编辑“path”变量,将wireshark的安装路径作为变量值输入,注意:若“path”变量中已存在其他变量,则需要用“;”分号将各个变量隔开。系统变量的设置方法与用户变量的设置方法一致。
【说明】
“用户变量”与“系统变量”的区别:用户变量只对当前用户有效,而系统变量对所有用户都生效。所以如果需要此设置对其他用户也生效,则只需设置系统变量即可。
在这里插入图片描述
图5-2
在这里插入图片描述
图5-3
在这里插入图片描述
图5-4
步骤3、操作方法:将下面的内容复制到记事本中,然后保存为.bat格式,命名为“批量转化报文格式.bat”
if exist subdirs.txt del subdirs.txt>nul
dir /d /b /a:-d> subdirs.txt
for /f %%i in (subdirs.txt ) do tshark -r %%i -F pcap -w converted/%%i
pause
del subdirs.txt>nul
在这里插入图片描述
图5-5
步骤4、操作方法:将上一步创建的脚本放到需要转化的报文目录下,然后新建一个文件夹并命名为“converted”,用于存放格式转化后的报文。
在这里插入图片描述

图5-6
步骤5、操作方法:双击脚本“批量转化报文格式.bat”,弹出一个cmd窗口会显示脚本正在执行转化的状态,文件转化完成后会显示如下图所示文字提醒“请按任意键继续”,敲击任意键即可完成脚本执行,脚本自动退出。
在这里插入图片描述
图5-7
步骤6、操作方法:脚本执行过程中会自动生成subdirs.txt,该文件内容记录的是成功完成转化的报文列表。打开converted目录,我们就可以看到已完成格式转化的报文了。
在这里插入图片描述
图5-8
打开converted目录
在这里插入图片描述
图5-9
更多信息请访问www.wireshark.org

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值