资源描述
资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。
杭州迪普科技有限公司
wireshark抓包应用指导说明书
拟制
雷振华
日期
.4.10
评审人
日期
签发
日期
修订记录
日期
修订版本
描述
作者
.4.10
V1.0
初稿完成
雷振华
目 录
1 WIRESHARK介绍 5
2 功能介绍 5
3 图形界面抓报文 5
3.1 选择网卡抓报文 5
3.2 显示报文抓取时间 7
3.3 WIRESHARK界面布局 8
3.4 报文过滤条件 9
3.4.1 常见过滤条件 10
3.4.2 WIRESHARK EXPRESSION 11
3.4.3 高级过滤条件 11
3.4.4 WIRESHARK CAPTURE FILTER 14
4 命令行抓报文 15
4.1 选择网卡 15
4.2 命令行过滤条件 17
4.3 常见过滤条件 17
5 批量转换报文格式 18
1 Wireshark介绍
Wireshark 是开源网络包分析工具, 支持Windows/Linux/Unix环境。网络包分析工具的主要作用是尝试捕获网络包, 并尝试显示包的尽可能详细的情况。能够从网站下载最新版本的Wireshark (。 Wireshark一般在4-8周内发布一次新版本
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.addr==10.23.7.113
源IP地址或目的IP地址是10.23.7.113的报文
ip.src==10.23.7.113
源IP地址是10.23.7.113
ip.dst==10.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.dstport==80
过滤udp或tcp目的端口是80的报文
tcp.srcport==40004 and tcp.dstport==80
过滤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: 00 -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
更多信息请访问.org
展开阅读全文