- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IP`ARP`TCP报文
网络协议分析系列之一:IP首部分析
如果有时间的话,本人会陆续放上一系列的教程。
其实也不能说是教程吧,就是一些乱七八糟的东西。
好东西当然是要拿出来给大家一起分享的,构造网络的初衷也是这样的吧。
另外如果文章中有什么不妥之处,欢迎大家来指正!
废话不多说,下面开始我们这个系列的第一帖:IP首部的分析
要用到的工具:
1、活人一个 (当然就是偶了)
2、思科路由器N台(当然是虚拟的了,因为用CISCO的路由器来做的话,比用unix做简单的多,不论是从架设还是其他方面)
3、OmniPeek (强大的报文分析工具,渐渐有超越sniffer的趋势)
4、visio (这个只用来做top图)
参考资料:
TCP/IP Illustracted Volume 1:The Protocols
向伟大的W.Richard Stevens致敬!
————————————————————————————————————————————————
图1:实验要用到的TOP图
假设R1的fa0/0口的IP地址是12.1.1.1/24
R2的fa0/0口的IP地址是12.1.1.2/24
在R1上做telnet 12.1.1.2 (具体内容不做详述)
因为TELNET使用TCP协议,而TCP正是封装在IP数据包里的,所以用telnet的过程来分析这个IP报文。
图2:tcp/ip的封装
图3:IP首部
如图3所示,人们都说IP首部是20字节,20字节的。但是很多人不明白这20字节到底是怎么回事,我这个帖子的目的就是通过抓包、分析包来让大家了解这20字节。
前面的准备工作都做好了,下面我们就来具体分析一下IP 20字节的首部。
图4:ip20字节的首部分析
好,我们把图3和图4放在一起来分析:
①首先是版本号:4 (相信大家也都听过ipv6,如果是ipv6的话,那么这个地方就是6),这个没什么好说的。
②接下来是首部长度字段,这个首部长度是这样规定的:首部长度是指首部占32bit字的数目。
一般来说32bit就是4个字节,也就是说,这个首部长度的内容也就是有多少个4字节。按我们图3所示,首部长度是20字节,所以图4中Header Length的内容就是5。当然首部长度不一定就是20,因为首部长度字段一共有8位,所以IP首部最大可达60字节。
③8位服务类型在当今来说几乎不怎么用,即使用也不是原来设计那样,所以这里不做介绍。
④16位总长度字段是指整个IP数据报的长度,以字节为单位。因为总长度字段是16位,所以可以传送一个长达65535字节的IP数据报,当然在实际应用中不可能传这样长度的一个报文,因为涉及一个IP包分片的问题。
⑤标识字段唯一的标识主机发送的每一份数据报。通常每发送一份数据报这个值就会加1。在数据报分片的时候,标识字段相同的分组会重组装成一个数据报。
⑥3位标识和13位的偏移字段都与数据报的分片有关,这里偷下懒,等以后再说。其实说简单了就是:标识字段标识了这个分组后面还有没有分组以及是否分片,而偏移字段则标识了分组的先后顺序问题。
⑦8位的生存时间,虽然是生存时间,但这个字段不是以时间来计数的,一开始设计的时候的确是以时间来计数,后来由于种种原因,就变成了以跳数来计数了。
也就是说,这个生存时间字段设置了数据报可以经过的最多路由器数,每经过一个路由器,这个值都要减1。而当TTL值变为0时,路由器就要丢弃这个数据报,返回给发送主机一个ICMP报文。cisco路由器上的traceroute命令就是依靠TTL来实现的。
为什么要设计这个TTL值呢,就是为了防止数据报在网络中无休止的传送。
⑧协议字段,这个字段的目的是为了区分上层的协议,是TCP?UDP?ICMP?IGMP?这里的值是6,代表上层协议是TCP,而17代表UDP,1代表ICMP。。。
⑨首部校验和字段,首部校验和,顾名思义,是对IP首部进行计算的检验和,不对首部后面的数据进行计算。而ICMP、IGMP、UDP和TCP在它们各自的首部中均含有同时覆盖首部和数据的校验和。这点IP和他们不同,需要注意一下。
⑩最后两个字段很清楚啦,源IP和目的IP。从哪来的,要到那里去。94这么简单,嘻嘻!
--------------------------------------------------------------------------------------------------------------------------------------------
网络协议分析系列之二:ARP报文分析
链接:
网络协议分析系列之一:IP首部分析
本文将对ARP报文加以分析,让大家对ARP报文有个初步的了解。
废话不多说,直接进入主题:
图1:a
文档评论(0)