首页 > 技术文章 > 实验二 IP报文的捕获与分析

Blogwjl 2021-12-29 22:04 原文

实验二   IP报文的捕获与分析

      ——实验报告

一、实验目的

(1)掌握IP协议报文格式。

(2)对捕捉到的包进行IP分析。

二、实验内容

用Wireshark过滤出IP数据包,查看并分析具体的IP包的内容。

三、实验原理

1、wireshark简介

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其程式码,并拥有针对其源代码修改及客制化的权利。Ethereal是目前全世界最广泛的网络封包分析软件之一。

Wireshark可以帮助网络管理员检测网络问题,帮助网络安全工程师检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协议除错,普通使用者使用Wireshark来学习网络协定的相关知识当然,有的人用它来寻找一些敏感信息

Wireshark不是入侵侦测软件(Intrusion DetectionSoftware,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包信息,它也不会送出封包至网络上

2、IP数据报格式

IP数据报TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报(IP Datagram)。这是一个与硬件无关的虚拟包,由首部和数据两部分组成。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。在首部的固定部分的后面是一些可选字段,其长度是可变的。首部中的源地址和目的地址都是IP协议地址。IP数据包格式如图1所示。

 

图1  IP报文格式

上网查找资料,整理如下更详细更易懂的IP报文格式与字段含义:

 

IP协议

偏移量

0~3

4~7

8~15

16~18

19~31

0

版本

首部长度

服务类型

总长度

32

标识符

标识

分段偏移

64

存活时间

协议

首部校验和

 

96

源IP地址

128

目的IP地址

160

选项

160或192+

数据

 

IP报文字段

含义

版本

指 IP 协议所使用的版本。通信双方使用的 IP 协议版本必须一致。如 IPv4,IPv6

首部长度

IP 的首部长度,可表示的最大十进制数值是 15。注意:该字段所表示的单位是 32 位字长(4 个字节)。因此,当 IP 首部长度为 1111(即十进制的 15) 时,首部长度就达到 60 字节。当 IP 分组的首部长度不是 4 字节的整数倍时,必须利用最后的填充字段加以填充

服务类型

8位,优先级标志位和服务类型标志位,被路由器用来进行流量的优先排序。

总长度

指 IP 首部和数据报中数据之后的长度,单位为字节。总长度字段为 16 位, 因此数据报的最大长度为 216-1=65535 字节

标识符

一个唯一的标识数字,用来识别一个数据报或者被分片数据包的次序

标识

用来标识一个数据报是否是一组分片数据报的一部分。标志字段中的最低位记为 MFMore Fragment)。MF=1 即表示后面还有分片的数据报。MF=0 表 示这已是若干数据包分片中的最后一个。标志字段中间的一位记为 DFDon't Fragment),即不能分片只有当 DF=0 时,才允许分片

分段偏移

一个数据报是一个分片,这个域中的值就会被用来将数据报以正确的顺 序重新组装

存活时间

用来定义数据报的生存周期,以经过路由器的条数/秒数进行描述

协议

用来识别在数据包序列中上层协议数据报的类型。如,ICMP则协议值为1,TCP协议值为6,UDP协议值为17

首部校验和

一个错误检测机制,用来确认 IP 首部的内容有没有被损坏或者篡改

源IP地址

发出数据报的主机的 IP 地址

目的IP地址

数据报目的地的 IP 地址

选项

保留作额外的 IP 选项。它包含着源站选路和时间戳的一些选项

数据

使用 IP 传递的实际数据

 

四、实验环境

交换式网络、Windows操作系统,Wireshark网络抓包工具。

五、实验内容步骤与结果

 1、熟悉wireshark软件的常用操作

(1)学习捕捉包的开始和停止。

n  启动程序,如图2所示为启动界面。

 

2 Wireshark启动界面

n  捕捉接口对话框

点击File按钮下方的快捷键,出现以下的捕捉接口对话框,如图3所示。

 

3 选定捕获网卡接口Capture Interfaces

对常见的按钮做下简单描述:

1)Descrption(描述):显示的本机的以太网卡等网路接口信息,一般采用以太网接口进行数据捕捉。

2)IP:显示接口的IP地址,没有则为Unkown。

3)Packets:显示打开窗口后一共收到的收到的包的个数。

4)Packets/s:显示的最近一秒接受的数据包的个数。

5)Start:以上一次的设置或默认设置开始抓包。

6)Options:打开捕捉选项对话框,对捕捉方式进行设置。

7)Details:打开对话框显示接口的详细信息。

8)Close:关闭对话框。

n  数据包捕捉设置

点击图4中捕捉接口对话框中的对应接口后的Options按钮,进行捕捉设置(如不设置则选择默认配置进行捕捉)。如图4所示为捕获设置。

 

4 捕获数据包的参数设置

下面对上面常见的按钮做下简单描述。对话框内容介绍:

1)Interface  于指定进行捕捉的接口。

2)IP address  接口的IP地址,没有则显示Unkown。

3)Link-layer header type  除非有特殊设置,否则建议保持默认状态。

4)Capture packets in promiscuous mode 通常所说的“混乱模式”,如果没有指定则只能捕捉进出PC的数据包(不能捕捉整个局域网中的数据包)。

5)Limit each packet to N bytes  限制每个包的最大字节数,默认值为65535,适用于绝大多数协议。

6)Capture Filter(s)  对需要抓的包的类型进行设置。

通常需要对捕获的大量包进行设置,点击弹出以下对话框,如图5所示。

 

5 协议过滤设置

点击选择需要捕捉的数据包类型。如图中所示要捕获TCP数据包。其他为文件的保存设置,可以修改以实现更合理化的使用。

n  开始抓包

在进行完捕捉设置之后尽可以对指定类型的数据包进行捕捉了。点击以太网卡后面的Start按钮开始抓包。如图6所示。

6开始捕获数据包

则出现以下的抓包主界面,如图7所示。

7 Wireshark抓包主界面

图中主窗口显示的信息即为所抓到的包。

  •   停止抓包

点击捕捉设置对话框中的Stop按钮,如图8所示。

 

8停止捕获数据包

(2)主窗口界面

  •   菜单栏,如图9所示。

 

9 Wireshark菜单栏

  •   信息过滤工具栏

在Filter中输入过滤的内容进行设置,如图10所示。

 

10 过滤工具栏

点击Filter过滤按钮出现以下图的选择对话框,对主窗口中的数据包信息进行过滤。例如,只显示TCP数据包,ARP数据包等,从而减少我们分析数据包时无用信息的干扰。在输入过程中会进行语法检查。如果您输入的格式不正确,或者未输入完成,则背景显示为红色。直到您输入合法的表达式,背景会变为绿色。

可以通过以下两种方法实现过滤。一方面可以在如图4所示的对话框中选择合适的条目;另外一方面图10直接在工具栏的编辑框中输入需要输出的数据包类型。

  •   数据包列表

如图11所示为数据包列表,点击任意一项则显示详细的数据包内容。

 

11 数据包列表

点击前面的+号可以查看数据包的详细信息。如帧的长度,捕获的时间,数据包中包含的协议等。同时可以对各层协议中添加的封装信息进行查看和分析。

  •   16进制数据

“解析器”在Wireshark里也被称为“16进制数据查看面板”。这里显示的内容与“封装详细信息相同”,只是改为16进制的格式表示。如图12所示。

 

12 16进制显示被捕获数据包

 

2、抓取并分析IP包

(1)用Wireshar捕捉IP包

  •   在过滤工具栏中输入IP,如图13所示。

 

图13  过滤IP数据包

  •   生成IP数据包

在IE浏览器中访问任何网站。

  •   停止抓包

(2)对所抓到的IP包分析其结构

在Packet List面板中单击其中任意条目,包的其他情况将会显示在另外两个面板中。以一下条目为例。

  •   流水号  通常作为封包产生的顺序;此封包的流水号为 9651。
  •   时间  除上述的流水号外,此项为该封包产生的时间;此封包产生的时间为240.466319秒。
  •   来源IP地址  发出此封包的终端的IP地址;此封包的源IP地址为 192.168.1.180。
  •   目的IP地址  所要接受此封包的终端的IP地址;此封包的目的IP地址为 111.13.34.179。
  •   通讯协议  这个封包所使用的通讯协议;此封包使用HTTP协议。
  •   资讯  此封包的大略信息。

点击流水编号为9651的信息后,会显示如所图14所示的层层封装信息。

 

图14 IP前后相关封装

  •   Frame  表示为第几个封包,后面括号里面的数字表示封包的大小。
  •   Ethernet II       Src  来源设备网卡名称及网卡位置;源MAC地址为 50:eb:71:52:82:a8。        Dst:接受端设备的网卡名称(目的MAC地址)及网卡位置。
  •   Internet Protocol     Src  来源设备的IP地址,  Dst :接收设备的IP地址,展开后会看到,如图4所示为IP包的更多信息。对照着实验基本原理中的IP协议格式,读者大致会清楚该IP包的信息。例如version:4 ,是IP V4协议;Header length:20 bytes;IP数据包头20字节为固定值。

图15 IP数据包格式分析

  •   Transmission Control Protocol       Src Port:源端口为 62330,Dst Port:目的端口为80。展开后更会看到sequence number、acknowledgement 、number,header length、标志位和拥塞窗口大小等有关的信息。

  Hypertext Transfer Protocol  该包应用层协议为HTTP协议。

若有不足,恳请指正,感谢!

推荐阅读