任务目的

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

任务环境

设备名称

软件环境

硬件环境

控制器

Floodlight 1.0桌面版

CPU:1核 内存:2G 磁盘:20G

交换机

Open vSwitch 2.3.1命令行版

CPU:1核 内存:2G 磁盘:20G

主机

Ubuntu 14.04桌面版

CPU:1核 内存:2G 磁盘:20G

注:系统默认的账户为root/root@openlab,openlab/user@openlab。

任务内容

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-modeTShark实用程序浏览
6、 业界最强大的显示过滤工具
7、 丰富的VoIP分析
8、 支持许多不同的捕获包格式
9、 捕获使用gzip压缩的文件可以动态解压缩
10、 实时数据可以从 Ethernet,IEEE802.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的重组功能,可以重组一个会话中不同数据包的信息,或者是一个重组一个完整的图片或文件。由于传输的文件往往较大,所以信息分布在多个数据包中。为了能够查看到整个图片或文件,这时候就需要使用重组数据的方法来实现。

实验步骤

一、实验环境检查

步骤root用户登录交换机,执行如下命令初始化OVS

#cd /home/fnic

#./ovs_init

步骤输入ovs-vsctl show命令检查网络连通性,当控制器连接状态显示为“true”时表示交换机连接上控制器,如下图所示。

图片

 

说明:交换机镜像的用户名是root,密码是root@openlab。

二、 Wireshark抓包设置

步骤1 选择控制器,打开终端。输入sudo wireshark命令,启动Wireshark,如下图所示。

 

图片

Wireshark界面如图所示,主要包括主工具栏、过滤工具栏和状态栏。

  • 主工具栏中左起前5个按钮与抓包操作有关,其余按钮分别关于文件操作、数据包选择操作、配色及自动滚屏设置等。

  • 过滤工具条用于过滤数据包,在输入框中手动输入过滤表达式或者单击“Expression”按钮根据预定义的模板构造过滤表达式。

  • 状态栏主要显示抓包文件名及其所在目录,抓包文件中包含的数据包数量、Wireshark实际显示出的数据包数量以及认为打上标记的数据包数量。

步骤2 选择抓包网卡,单击“Capture -> Options”选择实际用来抓包的网卡,界面如下图所示:

图片

三、 捕获OpenFlow数据包

步骤1 单击“Start”按钮开始抓包。数据包列表的面板中会滚动显示所抓取的数据包,包括数据包的编号、时间戳、源地址、目标地址、协议、长度以及相关信息,如下图所示。

图片

步骤2 停止抓包。

步骤3 过滤出OpenFlow协议,查看数据包详情,如下图所示。

图片

可以发现一个数据详情中主要包含五层,依次是:

  • Frame:物理层数据帧概况。

  • Ethernet II:数据链路层以太网帧头部信息。

  • Internet Protocol Version 4:互联网IP包头信息。

  • transmission control protocol:传输层数据段头部信息,此处是TCP。

  • OpenFlow:位于TCP协议之上,负责解析应用层。

步骤4 可以在数据包详情中查看OpenFlow包的具体内容。OpenFlow包中主要字段包括:协议版本、消息类型、消息长度、事件id等,如下图所示。

图片

步骤5 保存数据。

  • 选择“File -> Save”或者“File     -> Save As”将所有数据包保存进一个文件。

  • 选择“File -> 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”。

 

 

选择题

Wireshark的主要作用是()

A、截取并分析网络封包

B、修改封包内容

C、发送封包

D、检测并阻止入侵系统的病毒

正确答案:  A

在Wireshark中过滤出源地址是192.168.1.101或者目标地址是192.168.1.102的数据包,正确的过滤表达式是()

A、ip.src==192.168.1.101 and ip.dst===192.168.1.102

B、ip.src == 192.168.1.101 or ip.dst == 192.168.1.102

C、ip.src =192.168.1.101 ,ip.dst=192.168.1.102

D、ip.src=192.168.1.101 or ip.dst=192.168.1.102

正确答案:  B

下图中封包列表显示的是()协议的数据包

图片

A、FTP

B、SSH

C、DNS

D、HTTP

正确答案:  D

判断题

Wireshark可以同时抓取所有网卡上的数据包。

正确答案:  对

下图中封包详细信息界面中的Frame表示物理层的数据概况。

图片

正确答案:  对

© 版权声明
评论 抢沙发
wuqu的头像-资源分享吧-分享你所需要!

昵称

取消
昵称表情代码图片