开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第3天,点击查看活动详情
实验目标
掌握Wireshark的使用方法
实验背景
已经学习了计算机网络的理论知识,掌握了网络中经典协议的原理与作用,也知道了多种协议的数据包格式,但是,真实计算机网络中运行的协议和数据包,和书本上的理论知识一致吗?通过wireshark抓包实验,可以确认计算机网络的数据包结构和协议的工作原理。此外,对于通信程序的编程工作,wireshark可以测试程序的通信状态和功能。所以,掌握wireshark的数据包捕获与分析技能十分重要。
基本原理与概念
Wireshark是目前主流的网络数据包(又称“分组”)分析软件,作为网络嗅探器,它能提取并分析网络分组,并详细显示分组信息,Wireshark使用winpeap作为接口,直接与网卡进行数据报文交换。Wireshak的前身是Etherreal,此后由于商标版权问题,2006年正式更名为Wireshark。
需要说明的是,Wireshark,只能捕获分组并向用户显示详细的分组信息,而不会修改分组的内容,本身也不会向网络发送分组。另外,对于网络上的异常流量,Wireshark不会产生警示或提示。
实验准备
获取Wireshark
Wireshark的官方下载网站为www.wireshark.org/ 。
打开Wireshark
实验过程
Wireshark主窗口界面
如图,如果开始铺货流量或者打开已有的流量文件,Wireshark主界面自上而下可以分为5个部分。
1.显示过滤器
显示过滤器(Display)用于过滤符合筛选条件的分组。
2.分组列表窗格
分组列表窗格(Packet List Pane)显示捕获到的分组及相关信息,包括序号(No.)列,时刻(Time)列,源地址(Source)列和目的地址(Destination)列,协议(Protocal),分组长度(Length)列及相关信息(Info)列等。
3.分数详细信息窗格
分组列表窗格显示分组中的各字段内容。由于分组的详细信息较多,该窗格中采用“资源管理器”的协议树“形式,按5层协议体系展示被捕获数据包的详细信息,如分组所属的数据链路层,网络层,传输层以及应用层。
4.十六进制数据窗格
以十六进制表示数据包所有的内容,可以看作数据包在物理层上传输的形式。
5.地址栏
数据捕获基本操作
确定抓取流量的网卡后,可以选择菜单栏的捕获->选项,注意一定要勾选表格中目的网卡第四列的"混杂"单选按钮;当然也可以勾选在所有接口上使用混杂模式单选按钮,如图所示,否则无法获取内网的其他信息。
显示过滤器
过滤器可以帮助用户在捕获的大量数据包中快速找到需要的信息。
1.保存过滤表达式
表达式规则如下:
(1)协议过滤,作用是筛选出用户需要的协议数据报文
(2)IP地址过滤,作用是筛选出用户需要的源IP或目的IP地址的报文。
(3)端口过滤
(4)Http模式过滤
(5)逻辑运算符为AND/OR.
分组列表窗格
wireshark对不同的协议使用不同的颜色显示,用户可以在视图->着色规则中修改这些显示颜色的规则。
分组详细窗格
参考TCP/IP模型,将数据分组包含信息分为5层。
数据包保存与导出
文件->保存选项,默认使用的保存类型是pcaping,但出于兼容性的考虑,如果用户希望保存的数据包可以被其他抓包软件打开,建议把保存格式设置为pcap格式。