-
ip数据包
2017-09-16 17:52:10 -
ip数据包分析 ip数据包分析
2009-05-15 10:05:35ip数据包分析 ip数据包分析 ip数据包分析 ip数据包分析 -
IP 数据包查看
2018-08-17 16:17:39IP 数据包查看 IP 数据包查看 IP 数据包查看 IP 数据包查看 -
ip数据包的监控ip数据包的监控
2009-01-05 21:24:54ip数据包的监控ip数据包的监控ip数据包的监控ip数据包的监控ip数据包的监控ip数据包的监控ip数据包的监控ip数据包的监控ip数据包的监控ip数据包的监控 -
ip数据包分析工具
2017-10-21 09:19:44ip数据包分析工具 ip数据包分析工具 ip数据包分析工具 ip数据包分析工具 -
IP数据包格式
2018-04-28 00:10:22IP数据包格式 TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报(IP Datagram).这是一个与硬件无关的虚拟包,由首部和数据两部分组成.首部的前一部分是固定长度,共 20 字节,是所有IP数据报必须具有的.在首部的...IP数据包格式
TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报(IP Datagram).这是一个与硬件无关的虚拟包,由首部和数据两部分组成.首部的前一部分是固定长度,共 20 字节,是所有IP数据报必须具有的.在首部的固定部分的后面是一些可选字段,其长度是可变的.
IP数据报首部的固定部分中的各字段
版本: 占4位,指IP协议的版本.通信双方使用的IP协议版本必须一致.日前广泛使用的 IP协议版本号为 4 (即 IPv4).IPv6 目前还处于起步阶段.
首部长度:占 4 位,可表示的最大十进制数值是15.请注意,这个字段所表示数的单位是32位字 (1个32位字长是4 字节),因此,当 IP 的首部长度为 1111 时 (即十进制的 15),首部长度就达到 60字节.当 IP 分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充.因此数据部分永远在 4字节的整数倍开始,这样在实现 IP协议时较为方便.首部长度限制为 60字节的缺点是有时可能不够用.这样做的目的是希望用户尽量减少开销.最常用的首部长度就是 20 字节 (即首部长度为 0101),这时不使用任何选项.
服务:占 8 位,用来获得更好的服务.这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过.1998年IETF把这个字段改名为区分服务 DS(Differentiated Services).只有在使用区分服务时,这个字段才起作用.
总长度:总长度指首都及数据之和的长度,单位为字节.因为总长度字段为 16位,所以数据报的最大长度为 216-1=65 535字节.在IP层下面的每一种数据链路层都有自己的帧格式,其中包括帧格式中的数据字段的最大长度,即最大传送单元 MTU (Maximum Transfer Unit).当一个数据报封装成链路层的帧时,此数据报的总长度 (即首部加上数据部分)一定不能超过下面的数据链路层的MTU值,否则要分片.
标识 (Identification):占 16位.IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段.但这个"标识"并不是序号,因为 IP是无连接的服务,数据报不存在按序接收的问题.当数据报由于长度超过网络的 MTU 而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中.相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报.
标志 (Flag):占3 位,但目前只有2位有意义. 标志字段中的最低位记为 MF(More Fragment).MF=1即表示后面"还有分片"的数据报.MF=0表示这已是若干数据报片中的最后一个.标志字段中间的一位记为DF(Don't Fragment),意思是"不能分片",只有当 DF=0时才允许分片.
片偏移:占 13位.较长的分组在分片后,某片在原分组中的相对位置.也就是说,相对用户数据字段的起点,该片从何处开始.片偏移以 8个字节为偏移单位,这就是说,每个分片的长度一定是 8字节(64位)的整数倍.
生存时间:占 8位,生存时间字段常用的英文缩写是TTL(Time To Live),其表明数据报在网络中的寿命.由发出数据报的源点设置这个字段.其目的是防止无法交付的数据报无限制地在因特网中兜圈子,因而白白消耗网络资源.最初的设计是以秒作为 TTL的单位.每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间.若数据报在路由器消耗的时间小于 1 秒,就把TTL值减 1.当 TTL值为 0时,就丢弃这个数据报.
协议:占 8 位.协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程.详细资料请看文章最后的注释.
首部检验和:占 16位.这个字段只检验数据报的首部,但不包括数据部分.这是因为数据报每经过一个路由器,都要重新计算一下首都检验和 (一些字段,如生存时间,标志,片偏移等都可能发生变化),不检验数据部分可减少计算的工作量.
源地址:占32位.
目的地址:占 32位.IP数据报首部的可变部分
IP首部的可变部分就是一个可选字段.选项字段用来支持排错,测量以及安全等措施,内容很丰富.此字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目.某些选项项目只需要1个字节,它只包括1个字节的选项代码.但还有些选项需要多个字节,这些选项一个个拼接起来,中间不需要有分隔符,最后用全0的填充字段补齐成为4字节的整数倍.
增加首部的可变部分是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的.这就增加了每一个路由器处理数据报的开销,实际上这些选项很少被使用.新的IP版本IPv6就将IP数据报的首部长度做成固定的.
目前,这些任选项定义如下:- 安全和处理限制(用于军事领域);
- 记录路径(让每个路由器都记下它的IP地址);
- 时间戳(Time Stamp)(让每个路由器都记下IP数据报经过每一个路由器的IP地址和当地时间);
- 宽松的源站路由(Loose Source Route)(为数据报指定一系列必须经过的IP地址);
- 严格的源站路由(Strict Source Route)(与宽松的源站路由类似,但是要求只能经过指定的这些地址,不能经过其他的地址).
这些选项很少被使用,并非所有主机和路由器都支持这些选项.
实例
下面是一个TCP的SYN数据包,大家可以分析一下:
4500002C2A690000-4006B7580A616750-7CACAAAD24DE0E89-12DE958000000000-60023908EA4D0000-020405B4
- 版本:4,即IPv4;
- 首部长度:5,即5*4=20B,说明没有可变部分;
- 服务:00;
- 总长度:002C,44B;
- 标识:2A69;
- 标志+片偏移:0000;
- 生存时间:40,即64;
- 协议:06,传输控制协议,也就是TCP;
- 首部校验和:B758;
- 源地址:0A616750;
- 目的地址:7CACAAAD.
后面的数据是TCP的头部字段,这里先简单列出来,后面会详细分析:
- 源端口:24DE;
- 目的端口:0E89;
- 序号:12DE9580;
- 确认号:00000000;
- 数据偏移:6,即偏移24B.TCP的头部默认是20B,我们分析的数据包有一个TCP选项,占4B;
- 保留+控制位:002,表明这是一个SYN包;
- 窗口值:3908,14600,即发送者的接收窗口值;
- 校验和:EA4D;
- 紧急指针:0000;
- 选项类型:02,最大报文段长度;
- 选项长度:04;
- 选项数据:05B4,即1355.
附录:IP数据包的协议字段中,数值和所对应的协议
数值 值描述
0 保留字段,用于IPv6(跳跃点到跳跃点选项)
1 Internet控制消息
2 Internet组管理
3 网关到网关
4 IP中的IP(封装)
5 流
6 传输控制
7 CBT
8 外部网关协议
9 任何私有内部网关(Cisco在它的IGRP实现中使用)
10 BBNRCC监视
11 网络语音协议
12 PUP
13 ARGUS
14 EMCON
15 网络诊断工具
16 混乱(Chaos)
17 用户数据报文
18 复用
19 DCN测量子系统
20 主机监视
21 包无线测量
22 XEROXNSIDP
23 Trunk-1
24 Trunk-2
25 leaf-1
26 leaf-2
27 可靠的数据协议
28 Internet可靠交易
29 ISO传输协议第四类
30 大块数据传输协议
31 MFE网络服务协议
32 MERIT节点之间协议
33 序列交换协议
34 第三方连接协议
35 域之间策略路由协议
36 XTP
37 数据报文传递协议
38 IDPR控制消息传输协议
39 TP+ +传输协议
40 IL传输协议
41 IPv6
42 资源命令路由协议
43 IPv6的路由报头
44 IPv6的片报头
45 域之间路由协议
46 保留协议
47 通用路由封装
48 可移动主机路由协议
49 BNA
50 IPv6封装安全有效负载
51 IPv6验证报头
52 集成的网络层安全TUBA
53 带加密的IP
54 NBMA地址解析协议
55 IP可移动性
56 使用Kryptonet钥匙管理的传输层安全协议
57 SKIP
58 IPv6的ICMP
59 IPv6的无下一个报头
60 IPv6的信宿选项
61 任何主机内部协议
62 CFTP
63 任何本地网络
64 SATNET和BackroomEXPAK
65 Kryptolan
66 MIT远程虚拟磁盘协议
67 Internet Pluribus包核心
68 任何分布式文件系统
69 SATNET监视
70 VISA协议
71 Internet包核心工具
72 计算机协议Network Executive
73 计算机协议Heart Beat
74 Wang Span网络
75 包视频协议
76 Backroom SATNET监视
77 SUN ND PROTOCOL—临时
78 WIDEBAND监视
79 WIDEBAND EXPAK
80 ISO Internet协议
81 VMTP
82 SECURE—VMTP(安全的VMTP)
83 VINES
84 TTP
85 NSFNET—IGP
86 不同网关协议
87 TCF
88 EIGRP
89 OSPFIGP
90 Sprite RPC协议
91 Locus地址解析协议
92 多播传输协议
93 AX.25帧
94 IP内部的IP封装协议
95 可移动网络互连控制协议
96 旗语通讯安全协议
97 IP中的以太封装
98 封装报头
99 任何私有加密方案
100 GMTP
101 Ipsilon流量管理协议
102 PNNI over IP
103 协议独立多播
104 ARIS
105 SCPS
106 QNX
107 活动网络
108 IP有效负载压缩协议
109 Sitara网络协议
110 Compaq对等协议
111 IP中的IPX
112 虚拟路由器冗余协议
113 PGM可靠传输协议
114 任何0跳跃协议
115 第二层隧道协议
116 D-II数据交换(DDX)
117 交互式代理传输协议
118 日程计划传输协议
119 SpectraLink无线协议
120 UTI
121 简单消息协议
122 SM
123 性能透明性协议
124 ISIS over IPv4
125 FIRE
126 Combat无线传输协议
127 Combat无线用户数据报文
128 SSCOPMCE
129 IPLT
130 安全包防护
131 IP中的私有IP封装
132 流控制传输协议
133~254 未分配255 保留
转自: https://blog.csdn.net/ce123_zhouwei/article/details/17453033
-
IP数据包的监控
2019-01-04 17:07:38ip数据包的监控,嗅探网络的数据包,解析IP数据包的头部并输出,并保存log文件 -
解析IP数据包
2017-02-17 14:35:28计算机网络 C语言 解析IP数据包 -
帧封装、IP数据包解析和发送TCP数据包
2017-08-31 18:38:09帧封装、IP数据包解析和发送TCP数据包帧封装、IP数据包解析和发送TCP数据包帧封装、IP数据包解析和发送TCP数据包帧封装、IP数据包解析和发送TCP数据包 -
IP数据包分析
2012-05-30 10:10:52这是IP数据包分析的小程序,在网卡处抓取原始IP数据包,并分析IP数据包。 -
ip数据包分析_关于TCP_IP数据包的截取和分析
2009-06-03 14:48:44ip数据包分析_关于TCP_IP数据包的截取和分析 -
解析IP数据包(设计一个解析IP数据包的程序,并根据这个程序,说明IP数据包的结构及IP协议的相关问题)
2010-11-26 14:28:06捕获网络中的IP数据包,解析数据包的内容,将结果显示在标准输出上。以命令行形式运行:ipparse logfile,其中ipparse是程序名, 而logfile则代表记录结果的日志文件;在标准输出和日志文件中写入捕获的IP包的版本、... -
解析IP数据包.cpp
2019-05-23 18:30:42编制程序,监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址统计出该源地址在该时间段内发出的IP包的个数。 并根据TCP/IP协议解析IP数据包; Winpcap由内核级的数据包过滤器,底层动态链接库(packet.... -
IP数据包的解析
2019-01-04 17:06:23ip数据包的解析,分为服务端与客户端,客户端发送消息,服务端解析,并打印输出 -
监控IP数据包流量
2019-01-26 12:47:34用vc++编写的IP数据包流量的监控,使用方法:先自行安装wincap(网上很多),将工程文件exe拖入cmd,即可按照提示监控IP包流量。 -
IP数据包详解
2020-09-16 17:35:21不可靠:意思它不保证IP数据包能成功地到达目的地,IP仅提供尽力而为的传输服务。任何要求的可靠性必须有上层来提供。 无连接:意思是IP并不维护任何关于后续数据报的状态信息,每个数据报的处理都是独立的。 IP报...引言
IP提供不可靠,无连接的数据报传送服务。
- 不可靠:意思它不保证IP数据包能成功地到达目的地,IP仅提供尽力而为的传输服务。任何要求的可靠性必须有上层来提供。
- 无连接:意思是IP并不维护任何关于后续数据报的状态信息,每个数据报的处理都是独立的。
IP报数据格式
IP数据包由首部和数据两部分组成,首部由固定部分和可变部分构成,固定部分长度是20个字节,是所有IP数据报必须具有的,可变部分是可选的,长度也是可变的。
- 版本:4bit,指协议版本,通信双方必须使用相同的IP协议版本。IPV4对应协议版本号为4.
- 首部长度:4bit,单位4字节。当首部长度取1111时,首部长度达最大值15×4=60字节,有以下推论:
推论1:当IP分组首部长度不是4字节的整数倍时,必须使用最后的填充字段加以填充;
推论2:数据部分用用在4字节的整数倍开始; - 服务:8bit;
- 总长度: 16bit,单位字节。当总长度取1111 1111 1111 1111时,总长度取最大值65535字节。数据链路层帧格式中数据部分长度最大值为MTU,当IP层的数据报封装成链路层的帧时,此数据包的总长度(首部+数据部分)若大于MTU,则需要分片。
- 标识:16bit。当数据报长度大于MTU时必须分片,这个标识字段值就会被复制到所有的分片数据包中。相同的标识字段值使分片后的各数据包片最后能正确的重装为原来的数据报。
- 标志:3bit,目前只有2位有意义。最低位MF,1(默认值)表示“还有分片”,0表示“最后一个分片”;中间位DF,1(默认值)表示“不分片”,0表示“允许分片”。
- 片偏移:13bit,单位8字节,相对数据部分起点的偏移。可知每个分片的数据部分长度都一定是8字节的整数倍。
- 生存时间(TTL):8bit, 表明数据包在网络中的寿命。发出数据报的源点设置这个字段,其目的是防止无法交付的数据报无限制的在网络中兜圈子,白白消耗网络资源。单位不是秒,是跳hop,每经过一个路由时减1,直到为0时被抛弃。
- 协议:8bit,运输层所使用的协议,方便IP层知道应将数据包部分上交给哪个协议栈处理。
- 首部校验和:16bit,没经过一个路由器,都需要重新计算一下首部校验和,比如生存时间等首部区域的值可能发生变化,不检验数据部分可以减少工作量。
- 源地址:32bit.
- 目的地址:32bit.
IP数据报的分片
如果IP数据报被分片,分片后的数据报和原来没有分片的数据报结构是相同的,即也有是由首部和数据部两部分组成:数据区是原IP数据报数据区的一个连续部分,头部是原IP数据报头部的复制,但与原来未分片的IP数据报头部有两点主要不同:标志和片偏移。
IP数据报的重组
重组依赖首部中的以下三个域:
- 标识:相同的标识代表这些数据来源于同一个IP数据报;
- 标志:表示是否是最后一个分片;
- 偏移量:确定分片在原数据报中的位置。
-
解析ip数据包
2012-06-13 18:29:21解析ip数据包 武汉理工大学 计算机网络 -
java 解析ip数据包_ip包,ip数据包,数据包或者包的理解
2021-03-09 23:02:54首先看看以下这段话:路由器把需到达的网络的网络号保存在路由表中,...根据TCP/IP协议,路由器的数据包转发具体过程是:网络接口接收数据包,这一步由网络物理层处理,即把经编码调制后的数据信号还原为数据。根据网...首先看看以下这段话:
路由器把需到达的网络的网络号保存在路由表中,当一个IP数据报被路由器接收到时,路由器先从该IP数据报中取出目的站点的IP地址,根据IP地址计算出目的站点所在网络的网络号,然后用网络号去查找路由表以决定通过哪一个接口(线路)转发该IP数据报。
根据TCP/IP协议,路由器的数据包转发具体过程是:网络接口接收数据包,这一步由网络物理层处理,即把经编码调制后的数据信号还原为数据。根据网络物理接口,路由器调用相应的链路层功能模块,以解释处理此数据包的链路协议报头。这一步处理比较简单,主要是对完整性的验证,如CRC校验、帧长度检查。在链路导层完成对数据帧的完整性验证后,路由器开始处理此数据帧的IP层。这一过程是路由器功能的核心。根据数据帧IP包头的目的的IP地址,路由器在路由表中查找下一跳的IP地址,IP数据包头的TTL域开始减数,并计算新校验和(Check-sum)。根据路由表中所查到的下一跳IP地址,将IP数据包送往相应的输出链路层,封装上相应的链路层包头,最后经输出网络物理接口发送出去。
现在来理解:
ip包----网络层的包,有自己的格式
ip数据包-------即ip包
包-------即数据包.通常我们说什么包转发率,掉包等概念,也就是网络设备(如路由器,网卡等)就是针对它来说,也以说是数据包(包含了MAC地址等帧有的信息)
数据包--------这个概念就有时挺模糊了,所以一般不说.即不能说它一定就是ip数据包或帧。
以下结合两个命令例子来说明上面的概念理解:
(1)win2003server里的网络监视器是对网络数据进行分析,可以从网络中获取帧,这些网络数据就可以叫包(包含帧信息),而非ip数据包。
(2)ping命令中参数l英文意思是send buffer size(默认是32即32bytes),也就是改变发送的数据分组的字节数。例如ping -l 24
www.163.com
,其中24就是发送的ip数据包的长度,而非帧长度。这条命令用于测试与MTU相关的网络故障。(大多数设备为1500,单位是byte,本机MTU小于等于网关的MTU,数据才不会分拆。)
-
解析ip数据包java_ip包,ip数据包,数据包或者包的理解
2021-03-06 16:06:05首先看看以下这段话:路由器把需到达的网络的网络号保存在路由表中,...根据TCP/IP协议,路由器的数据包转发具体过程是:网络接口接收数据包,这一步由网络物理层处理,即把经编码调制后的数据信号还原为数据。根据网... -
IP数据包捕获解析
2012-05-07 19:45:37IP数据包捕获解析,其中包含各种IP数据包捕获解析的文档 -
IP协议及IP数据包详解
2018-07-09 14:05:55IP协议及IP数据包详解 -
封装并发送IP数据包
2017-02-17 14:37:16计算机网络 封装并发送IP数据包 C语言实现 -
IP数据包和ICMP数据包的结构
2019-05-05 21:16:42一、IP数据包报头(IPV4和IPV6比较) 每行32bit,4字节,前5行一共20字节 version:版本号,4bit IHL:IP头部长度,4bit type of service:服务类型,标记/识流量,8bit total length:IP数据包总长度,16bit... -
ip数据包捕获程序设计实验 mfc
2019-05-07 20:53:16捕获网络中的IP数据包,解析数据包的内容,并将结果显示出来。 (2) 显示内容包括:捕获的IP包的版本、源地址、目的地址、源端口、目的端口、协议类型、IP包总长度、IP包头总长度、IP数据包长度等内容。 (3) 设置停止... -
IP数据包分析程序
2012-12-30 21:53:10捕获并分析通过本地网卡的IP数据包。可输入需要捕获的IP数据包数量,输出每个IP数据包的相关字段值(包括版本、总长度、标志位、片偏移、协议、源地址与目的地址等),协议字段需要区分出具体类型(例如TCP、UDP、... -
IP数据包嗅探 分析
2012-05-09 16:14:48IP数据包的嗅探,C++实例。能实现对嗅探到的IP数据包进行分析,并能读出源IP地址和目的IP地址. -
(C#)IP数据包捕获
2018-06-27 22:11:11在本地可选网卡上捕获IP数据包,并实现简单解析,利用序列化实现数据包保存及本地数据的读取显示 -
IP数据包结构
2020-06-16 20:30:50IP数据包长度:mtu=1500(China) 版本(4):0100(ipv4)、0110(ipv6) 首部长度(4):00001111(015 x4字节 = 0~60字节),IP包头的长度 优先级与服务类型(8):前4个bit代表优先级,中间3个bit代表服务类型,... -
捕获与解析IP数据包(C++)
2019-01-02 19:42:42基于C++和winpcap编写的网络程序,实现监听并解析IP数据包! 运行程序,按提示输入要选择的网卡序列,再次输入需要不活的IP数据包的个数,然后程序自动运行捕获。 捕获后开始解析,从数据链路层开始解析...