IP数据报分析

简介: IP数据报抓包分析

 一、IP数据报分析

image.gif

版本:占4比特,表示IP协议的版本。通信双发使用的IP版本必须一致

首部长度:占4比特,表示IP数据报首部的长度。该字段的取值以4字节为单位。

最小十进制取值为5,表示IP数据报首部只有20字节固定部分

最大十进制取值为15,表示IP数据报首部包含20字节固定部分和最大40字节可变部分

可选字段:增加了IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。这就增加了

每一个路由器处理IP数据报的开销。实际上可选字段很少被使用。

填充字段:确保首部长度为4字节的整数倍。使用全0进行填充。

区分服务:占8比特,用来获得更好的服务。1998年, 因特网工程任务组IETF把这个字段改名为

区分服务 利用该字段的不同数值可提供不同等级的服务质量。只有在使用区分服务时,该字段才

起作用。一般情况下都不使用该字段。

总长度:占16比特,表示IP数据报的总长度(首部+数据载荷)。最大取值为十进制的65535,以字节为单位。

标识:占16比特,属于同一个数据报的各分片数据报应该具有相同的标识。IP软件维持一个计数器,

每产生一个数据报,计数器值加1,井将此值赋给标识字段。

标志:占3比特,各比特含义如下:DF位: 1表示不允许分片  0表示允许分片;

MF位: 1表示“后面还有分片”   0表示“这是最后一个分片”    保留位:必须为0。

片偏移占:13比特,指出分片数据报的数据载荷部分偏移其在原数据报的位置有多少个单位。片偏

移以8个字节为单位。

生存时间TTL:占8比特,表示IP数据报的生存时间。

最初以秒为单位,最大生存周期为255秒  路由器转发IP数据报时,将IP数据报首部中的该字段的值

减去IP数据报在本路由器上所耗费的时间,若不为0就转发,否则就丢弃。

现在以“跳数”为单位,路由器转发IP数据报时,,将IP数据报首部中的该字段的值减1,若不为0就转

发,否则就丢弃。IP数据报每经过一个路由器,路由器都要重新计算首部检验和,因为某些字段

(生存时间、标志、片偏移等)的取值可能发生变化。

协议:占8比特,指明IPv4数据报的数据部分是何种协议数据单元。

常用的一些协议和相应的协议字段值

image.gif

首部检验和:占16比特,用来检测首部在传输过程中是否出现差错。比CRC检验码简单,称为因特

网检验和。由于IP层本身并不提供可靠传输的服务,并且计算首部校验和是一项耗时的操作,因此

在IPv6中,路由器不再计算首部校验和,从而更快转发IP数据报。

源IP地址和目的IP地址:各占32比特,用来填写发送该IP数据报的源主机的IP地址和接收该IP数据

报的目的主机的IP地址。

 

例:一个IP数据报总长度为3820字节,标识为12345。 其数据部分为3800字节,使用以太网传送

该IP数据报,太网的最大传送单元MTU为1500字节(数据部分为1480字节)

image.gif

二、Wireshark抓包分析

1.首先打开Wireshark,选择监听的接口

image.gif

注:若是准备ping同一WiFi下的主机,则选择WLAN

2.打开cmd命令窗,ping IP地址

image.gif

3.Wireshark监听若干秒后停止监听,并筛选自己ping的ip地址和协议

image.gif

4.分析IP数据报

image.gif

IP协议版本号

IPv4

服务类型

0x00(DSCP:CS0,ECN: Not-ECT)

IP报文头长度

20bytes

数据报总长度

60

标识

0x9349

数据报是否要求分段

分段偏移量

0

在发送过程中经过几个路由器

0   (同一网络下)

上层协议名称

ICMP

报文头校验和

0x0000

源地址

目标地址


相关文章
|
3月前
|
搜索推荐 定位技术
如何快速查询自己的IP地址?
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
如何快速查询自己的IP地址?
|
算法 JavaScript Java
使用强大的离线IP地址定位库ip2region获取城市信息
ip2region - 准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,ip2region.db数据库只有数MB,提供了java、php、c、python、nodejs、golang、c#等查询绑定和Binary,B树,内存三种查询算法。
使用强大的离线IP地址定位库ip2region获取城市信息
|
3月前
|
数据采集 缓存 监控
通过动态IP解决网络数据采集问题
通过动态IP解决网络数据采集问题
|
3月前
|
算法 JavaScript Java
一个还不错的离线 IP 地址定位库,99.9% 准确率
一个还不错的离线 IP 地址定位库,99.9% 准确率
294 0
|
边缘计算 运维 负载均衡
获取客户端真实 IP 地址的最佳实践
翻遍整个互联网,几乎没有文章能把 “获取客户的真实 IP 地址” 这个看起来很简单的事情捋清楚、讲明白,更不用说最佳实践。这篇文章也是我在这段时间的研究中总结出来的宝贵经验,希望对读者能有些许帮助。
776 1
|
安全 网络协议 网络安全
干货 | 内网信息收集总结(上)
干货 | 内网信息收集总结(上)
184 0
|
数据采集 消息中间件 分布式计算
爬虫识别-IP 段统计-需求及思路|学习笔记
快速学习爬虫识别-IP 段统计-需求及思路。
116 0
爬虫识别-IP 段统计-需求及思路|学习笔记
|
数据采集 分布式计算 大数据
爬虫识别-IP 段统计-代码实现及效果|学习笔记
快速学习爬虫识别-IP 段统计-代码实现及效果。
81 0
爬虫识别-IP 段统计-代码实现及效果|学习笔记
|
数据采集 分布式计算 算法
爬虫识别-IP 段统计-总结|学习笔记
快速学习爬虫识别-IP 段统计-总结。
71 0
|
SQL 关系型数据库 PostgreSQL
ip地址段查询深度优化案例详解
如何在庞大的ip地址库中快速找到某个IP地址的归属地?本文比较几种不同优化方法。
1645 0