Openlab实验平台实验--抓包分析工具Wireshark使用介绍

时间:2024-03-16 19:14:44

一、任务目的

1、熟悉并掌握Wireshark的基本使用,抓取网络数据包。
2、掌握过滤器的使用方法,有效的提高捕获数据包、分析数据包的效率。

二、任务环境

设备名称 软件环境(镜像) 硬件环境
控制器 Ubuntu 14.04桌面版
Floodlight 1.0
CPU:1核 内存:2G 磁盘:20G
交换机 Ubuntu 14.04命令行版
Open vSwitch 2.3.1
CPU:1核 内存:2G 磁盘:20G

注:系统默认的账户为root/[email protected],openlab/[email protected]
任务内容
1、从Wireshark的界面入手,深入了解Wireshark强大的功能。
2、使用Wireshark捕获OpenFlow数据包,利用捕获过滤器和显示过滤器快速筛选出OpenFlow数据包,并学会简单分析。

三、实验原理

Wireshark(前称Ethereal)是一个免费开源的网络数据包分析软件,用于截取网络数据包并尽可能显示出最为详细的网络数据包数据。1997年底,Gerald Combs需要一个能够追踪网络流量的工具软件作为其工作上的辅助,于是他开始撰写Ethereal软件。随后越来越多的人参与Ethereal的开发工作,2006年6月,因为商标的问题,Ethereal更名为Wireshark。Wireshark的特点有:
1、 支持数百种协议
2、 实时捕捉数据包和离线分析
3、 标准三窗格分组显示
4、 支持Windows,Linux,macOS,Solaris,FreeBSD,NetBSD等多平台
5、 捕获的网络数据可以通过GUI或TTY-mode TShark实用程序浏览
6、 业界最强大的显示过滤工具
7、 丰富的VoIP分析
8、 支持许多不同的捕获包格式
9、 捕获使用gzip压缩的文件可以动态解压缩
10、 实时数据可以从 Ethernet,IEEE 802.11, PPP/HDLC, ATM, Bluetooth,USB,Token Ring,Frame Relay,FDDI等中读取
11、 支持对许多协议的解密,包括IPsec,ISAKMP,Kerberos,SNMPv3,SSL/TLS,WEP和WPA/WPA2
12、 着色规则可以应用于数据包列表,以进行快速,直观的分析
13、 输出可以导出为XML,PostScript,CSV或纯文本格式
Wireshark的实现基于分解器(dissector),网络上每一层的协议都有对应的分解器,分解器的作用是把每一层的信息分解,显示出首部字段,把有效载荷字段传递给上一层的分解器,以达到逐层分解的目的。使用Wireshark抓取网络数据包的流程如下:
1、 确定Wireshark的位置。如果没有一个正确的位置,启动Wireshark后会花费很长的时间捕获一些与自己无关的数据。
2、 选择捕获接口。一般都是选择连接到Internet网络的接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助。
3、 使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获文件。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间。
4、 使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。
5、 使用着色规则。通常使用显示过滤器过滤后的数据,都是有用的数据包。如果想更加突出的显示某个会话,可以使用着色规则高亮显示。
6、 构建图表。如果用户想要更明显的看出一个网络中数据的变化情况,使用图表的形式可以很方便的展现数据分布情况。
7、 重组数据。Wireshark的重组功能,可以重组一个会话中不同数据包的信息,或者是一个重组一个完整的图片或文件。由于传输的文件往往较大,所以信息分布在多个数据包中。为了能够查看到整个图片或文件,这时候就需要使用重组数据的方法来实现。

四、实验步骤

1、 实验环境检查
登录交换机,输入ovs-vsctl show命令检查网络连通性,当控制器连接状态显示为“true”时表示交换机连接上控制器,如下图所示。
Openlab实验平台实验--抓包分析工具Wireshark使用介绍
Openlab实验平台实验--抓包分析工具Wireshark使用介绍
2、 Wireshark抓包设置
步骤1 选择控制器,打开终端。输入sudo wireshark命令,启动Wireshark,如下图所示。
Openlab实验平台实验--抓包分析工具Wireshark使用介绍
Wireshark界面如图所示,主要包括主工具栏、过滤工具栏和状态栏。
Openlab实验平台实验--抓包分析工具Wireshark使用介绍
主工具栏中左起前5个按钮与抓包操作有关,其余按钮分别关于文件操作、数据包选择操作、配色及自动滚屏设置等。
过滤工具条用于过滤数据包,在输入框中手动输入过滤表达式或者单击“Expression”按钮根据预定义的模板构造过滤表达式。
状态栏主要显示抓包文件名及其所在目录,抓包文件中包含的数据包数量、Wireshark实际显示出的数据包数量以及认为打上标记的数据包数量。
步骤2 选择抓包网卡,单击“Capture → Options”选择实际用来抓包的网卡,界面如下图所示:
Openlab实验平台实验--抓包分析工具Wireshark使用介绍
3、 捕获OpenFlow数据包
步骤1 单击“Start”按钮开始抓包。数据包列表的面板中会滚动显示所抓取的数据包,包括数据包的编号、时间戳、源地址、目标地址、协议、长度以及相关信息,如下图所示。
Openlab实验平台实验--抓包分析工具Wireshark使用介绍
Openlab实验平台实验--抓包分析工具Wireshark使用介绍
步骤2 过滤出OpenFlow协议,查看数据包详情,如下图所示。
Openlab实验平台实验--抓包分析工具Wireshark使用介绍
可以发现一个数据详情中主要包含五层,依次是:

Frame:物理层数据帧概况。
Ethernet II:数据链路层以太网帧头部信息。
Internet Protocol Version 4:互联网IP包头信息。
transmission control protocol:传输层数据段头部信息,此处是TCP。
OpenFlow:位于TCP协议之上,负责解析应用层。
步骤3 可以在数据包详情中查看OpenFlow包的具体内容。OpenFlow包中主要字段包括:协议版本、消息类型、消息长度、事件id等,如下图所示。
Openlab实验平台实验--抓包分析工具Wireshark使用介绍
步骤4 保存数据。
Openlab实验平台实验--抓包分析工具Wireshark使用介绍
Openlab实验平台实验--抓包分析工具Wireshark使用介绍
选择“Files ——> Save”或者“Files ——> Save As”将所有数据包保存进一个文件。
选择“Files ——> Export Specified Packets”,保存已抓取数据包中一部分。导出数据的具体方法包括:
(1) 选择All packets,则保存所有已抓取的数据包。
(2) 选择Selected packets only,则保存当前鼠标选中的数据包。
(3) 选择Marked packets only,则保存当前标记的数据包。标记数据包的方法是在数据包列表中选中目标数据包,然后右击选择“mark packet toggle”。
(4) 选择First to last marked,则将两个标记数据包之间所有的数据包导出。
(5) 选择Range,并输入数据包的编号范围,则将编号连续的数据包导出。
(6) 选择 Remove ignored packets,则放弃部分数据包并导出其他所有数据包。放弃数据包的方法是,在数据包列表中选中数据包,右击,选择“ignore packet toggle”。