学习TCP/IP等网络协议时异常枯燥,因为网络问题看不见摸不着,很难深入理解其工作原理,而Wireshark正是将这些知识以一种网络数据包、可视化的形式呈现给大家,接下来博主带大家掌握Wireshark的必备技能!如有任何疑问,欢迎评论区留言~
1. Wireshark简介
Wireshark是一款最流行和强大的免费开源数据包抓包与分析工具,它通过调用PCAP来抓取网卡上的上下行网络数据包,并且可以查看网络数据包详细信息。
Wireshark在网络安全与取证分析中发挥重大作用,作为一款网络数据嗅探与协议分析器,已经成为网络运行管理、网络故障诊断、网络应用开发与调试的必用工具。
2. 界面功能介绍
wireshark有四个关键面板,具体功能介绍如下:
- 1. 显示过滤器(Display Filter): 用于设置过滤条件进行数据包列表过滤;
- 2. 数据包列表(Packet List): 显示捕获到的数据包,每个数据包包含编号,时间戳,源地址,目标地址,协议,长度,以及数据包信息。 不同协议的数据包使用了不同的颜色区分显示。
- 3. 数据包详细信息(Packet Details Pane): 在数据包列表中选择指定数据包,在数据包详细信息中会显示数据包的所有详细信息内容。数据包详细信息面板是最重要的,用来查看协议中的每一个字段。各行信息分别为
- Frame:物理层的数据帧概况;
- Ethernet II:数据链路层以太网帧头部信息;
- Internet Protocol Version 4:网络层IP包头部信息;
- Transmission Control Protocol:传输层TCP的数据段头部信息,此处是TCP;
- Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议;
- 4. 数据包字节(Packet Bytes):此面板显示了数据包原始字节信息,每行包含数据偏移量、十六个十六进制字节和十六个ASCII字节。不可打印的字节将替换为句点(“.”)。
3. 必知使用技巧
3.1. 两种方式启动数据包捕获
方式一:菜单栏选择『捕获(Capture)』->『选项(Options)』,设置要捕获的网络适配器,点击『开始』即可启动数据包捕获。
为了精确捕获需要的数据包,我们可在捕获过滤器中输入捕获表达式。假设我们想要仅捕获进出IP地址172.18.5.4的流量,对应表达式为:172.18.5.4
。
若想了解更多显示过滤器和捕获过滤器的语法和样例,可以参阅文末官方文档(附下载链接)。
注:捕获过滤器是提前设置好的过滤规则,只捕获符合过滤规则的报文,而先前介绍的显示过滤器是针对已经捕获的报文,过滤出符合过滤规则的报文。
方式二(推荐):在上述『捕获』菜单栏中进行的操作也可以在工具栏进行,我比较喜欢用此方式,方便快捷。
3.2. 双击数据包列表中的记录可快速查看数据包详情
双击每一行记录,可以在弹窗中查看数据包详细信息。
HTTP请求是『请求-响应』式的,需求查看对应请求的响应时,可以在选中的数据包条目上右键,选择Follow -> HTTP Stream
3.3. 通过数据包符号提示快速搞清数据包用途
不同的数据包符号含义不同,记住这些符号对应的含义可以更快捷的找到你要分析定位的数据包。
举例说明:如下图所示,选中357数据包后,356数据包前面出现✓,表明357是对356数据包的确认。
3.4. 熟悉数据包着色规则方便快速区分数据所属协议
数据包列表区中不同的协议使用了不同的颜色区分。协议颜色标识定位在菜单栏『View(视图)』–>『Coloring Rules(着色规则)』。
如下所示,可快速根据着色规则,筛选需要的数据。可以粗略地看到,黑色背景代表报文的各类错误,红色背景代表各类异常情景,其它颜色代表正常。
比如黑色背景的Bad TCP:tcp.analysis.flags && !tcp.analysis.window_update
代表了TCP解析出错,通常重传,乱序,丢包,重复响应都在此条规则的范围内。
由于篇幅有限,若想了解更多Wireshark使用技巧可以参阅如下官方文档:
- Wireshark 用户操作指导手册 V4.5.0.pdf (共374页,访问密码: 6277)