Wireshark数据抓包分析之互联网协议(IP协议)

本文详细介绍了使用Wireshark进行IP数据包抓包和分析的过程,涵盖IP地址的构成、IP数据报、TTL、IP分片等内容。通过实验步骤展示了如何捕获IP数据包、理解IP首部格式,以及分析TTL变化和IP分片数据包。
摘要由CSDN通过智能技术生成

预备知识

互联网协议地址(IP地址)的由来

互联网协议地址(Internet Protocol Address,又译为网际协议地址),缩写为IP地址(IP Address)。在上一节课介绍了ARP协议,通过分析包可以发现它是依靠MAC地址发送数据的。但是,这样做有一个重大的缺点。当ARP以广播方式发送数据包时,需要确保所有设备都要接收到该数据包。这样,不仅传输效率低,而且局限在发送者所在的子网络。也就是说,如果两台计算机不在同一个子网络,广播是传不过去的。这种设计是合理的,否则互联网上每一台计算机都会收到所有包,将会导致网络受到危害。
互联网是无数子网共同组成的一个巨型网络,如果想要所有电脑都在同一个子网络内,这几乎是不可能的。所以,需要找一种方法来区分哪些MAC地址属于同一个子网络,哪些不是。如果是同一个子网络,就采用广播方式发送。否则就采用“路由”发送。这也是在OSI七层模型中“网络层”产生的原因。它的作用就是引进一套新的地址,使得用户能够区分不同的计算机是否属于同一个子网络。这套地址就叫做“网络地址”,简称“网址”。但是,人们一般叫做是IP地址。这样每台计算机就有了两种地址,一种是MAC地址,另一种是网络地址(IP地址)。但是,这两种地址之间没有任何联系,MAC地址是绑定在网卡上的,网络地址是管理员分配的,它们只是随机组合在一起。

IP协议介绍

IP地址是IP协议提供的一种统一的地址格式。它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。IP地址分为IPv4(IP协议的第四版)和IPv6(IP协议第六版)两大类。目前,最广泛使用的是IPv4。在该版本中规定,该地址是由32个二进制位组成,用来标识连接到网络的设备。由于让用户记住一串32位长的01字符确实比较困难,所以IP地址采用点分四组的表示法。下面以IPv4地址,来介绍点分四组表示法。
在点分四组表示法中,以A、B、C、D的形式构成IP地址的四组1和0。它们分别转换为十进制0到255之间的数,如下图所示:
在这里插入图片描述
上图显示了IPv4地址11000000.10101000.00000000.00000001,进行了点分四组的表示法。从图中,可以看到这样一串32位长的数字很不容易记住或者表示。但是采用点分四组的表示法,就可以将以上一个很长的字符串表示为192.168.0.1。这样,用户就比较容易记住。

IP地址的构成

IP地址之所以会被分成四个单独的部分,是因为每个IP地址都包含两个部分,分别是网络地址和主机地址。网络地址用来标识设备所连接到的局域网,而主机地址则标识这个网络中的设备本身。例如,IP地址192.168.254.1是一个32位的地址。假设它的网络部分是前24位(192.168.254),那么主机部分就是后8位(1)。处于同一个子网络的计算机,它们IP地址的网络部分必定是相同的。也就是说192.168.254.2应该与192.168.254.1处在同一个子网络。
但是,只查看IP地址是无法判断网络部分的。这时候就需要使用另一个参数“子网掩码”来判断。所谓的“子网掩码”就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字。它的网络部分全部为1,主机部分全部为0。
下面以IP地址10.10.1.22为例,其二进制形式为00001010.00001010.00000001.00010110。为了能够区分出IP地址的每一个部分,将使用子网掩码来表示。在本例中,10.10.1.22的子网掩码是11111111.11111111.00000000.00000000。这就意味着IP地址的前一半(10.10或者00001010.00001010)是网络地址,而后一半(1.22或者00000001.00010110)表示是该网络上的主机,如下图所示。
在这里插入图片描述
在该图中的子网掩码也可以写成点分四组的形式。比如子网掩码11111111.11111111.0000000.0000000,可以被写成255.255.0.0。IP地址和子网掩码为简便起见,通常会被些成无类型域间选路(Classless Inter Domain Routing,CIDR)的形式。在这种形式下,一个完整的IP地址后面会有一个左斜杠(/),以及一个用来表示IP地址中网络部分位数的数字。例如,IP地址10.10.1.22和网络掩码255.255.0.0,在CIDR表示法下就会被写成10.10.1.22/16的形式。

IP数据报

TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报(IP Datagram)。IP数据报是一个与硬件无关的虚拟包,由首部(header)和数据两部分组成。首部部分主要包括版本、长度、IP地址等信息。数据部分一般用来传送其它的协议,如TCP、UDP、ICMP等。
IP数据报的“首部”部分的长度为20到60个字节,整个数据报的总长度最大为65535字节。因此,理论上一个数据报的“数据”部分,最长为65515字节。由于以太网数据报的“数据”部分,最长只有1500字节。因此如果IP数据报超过了1500字节,就需要分割成几个以太网数据报分开发送了。

实验目的

1.熟悉并掌握Wireshark的基本操作。
2.加深对常用网络协议的理解,提高就业机会。
3.培养学生理论联系实践的研究兴趣。

实验环境

测试环境

捕获IP协议包和其它包有点区别,因为在IP协议中涉及到一个TTL(time-to-live,生存时间)值问题。TTL值指定数据包被路由器丢弃之前允许通过的网段数量。当数据包每经过一个路由器,其TTL值将会减一。关于TTL的详细信息,在后面进行介绍。为了证明TTL值的变化,本例中选择使用两个路由器来捕获数据包。捕获IP协议数据包的实验环境,如下图所示。
在这里插入图片描述
从上图中,可以看到使用两个路由器,将三台主机分割成两个网段。这三台主机的IP地址,在上图中已经标出。在本例中,Wireshark可以在PC1和PC2任意一台主机上运行。

  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值