Wireshark使用手册
前言
看了林沛满的《Wireshark网络分析就是这么简单》,想着记录下作为使用手册,方便后面查阅,文章内容后续再慢慢填充,希望文章能成为使用Wireshark工具的手册。
其实书中不是单独介绍Wireshark工具的使用,更多是借助Wireshark解决问题,同时介绍了多个协议的原理。
Wireshark软件,发明者Gerald Combs;软件问世于1998年。
功能介绍
软件下载地址见官网>
Wireshark的相关wiki地址>、用户使用指导>
下文部分截图源于Wireshark版本 Version 4.0.4
过滤
关于过滤的使用见官方地址>
主界面如下所示:
本地一般抓取en0这个网络接口下的网络包。en 代表 “Ethernet”,是以太网接口的缩写,而数字 0 表示这是第一个或主要的以太网接口。通常指Wifi。
过滤方式有两种:
- capture filter:主要减少抓取的原始包大小,仅捕捉关心的包;在抓包前配置,抓包期间不能修改。格式如 tcp port 80
- display filter:主要用于在已抓包中,展示想看的包;抓包过程中是可以修改的。格式如 tcp.port==80
示例1:
- capture filter:tcp port 80:抓取tcp对应端口为80的发送和接收包。
- display filter:tcp.port==80,展示tcp对应端口为80的发送和接收包。
示例2:
连接符合:and/or;非符合:not
- capture filter:tcp port 23 and host 10.0.0.5,抓取端口为23的telnet及host为10.0.0.5的包
- display filter:tcp.port == 23 and ip.addr == 10.0.0.5,展示端口为23的telnet及ip地址为10.0.0.5的包
telnet命令 默认端口是23
示例3:
更多的display filter,选中主页面的任意数据右键 -> Apply as Filter -> Selected,如下图所示。
下面的数据区域也可进行右键设置展示过滤。
关于更多的capture filter:
- todo
关于更多display filter:
- tcp.analysis.zero_window:过滤Window窗口为0的包。
- 在display filter输入框按回车键,可以出来提示。
分析
看网络分层
从每个包的数据区域可以看到,从上到下表示了网络分层依次是:
- Frame(物理层): 物理层的数据帧概况。
- Ethernet(数据链路/网络接口层):可以看到设备的mac地址。
- Internet Protocol(网络层):对TCP的数据进行IP地址包装,确定接收和发送方地址。
- Transmission Control Protocol(传输层):使用如tcp或udp协议,进行数据的控制传输。
再往下便是应用层数据。
性能分析
1、看抓取包的总览情况:
Statistics -> Capture Filter properties。(有的版本是 Statistics -> Summary)
2、看TCP各项指标统计:
Statistics -> TCP Stream Graphs -> 选择不同的观察指标
3、看部分协议请求与响应时间
Statistics -> Service Response Time -> 选择对应的协议
4、查看是否有网络报错情况,如TCP重传、乱序等情况
Analyze -> Expert Information
配置
1、Wireshark配置是否使用TCP相对Sequence Number
Perferences -> Protocols -> TCP -> 勾选Relative sequence number
案例
略略略,希望将来有机会补充。
总结
网络抓包分析进行问题定位,需要对不同的网络协议有比较深入的了解,在此之后,借助Wireshark方能事半功倍。所以前提或基础是对不同协议的学习,再接再厉。