课程设计III IP协议分析.docx
- 文档编号:17915833
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:14
- 大小:387.15KB
课程设计III IP协议分析.docx
《课程设计III IP协议分析.docx》由会员分享,可在线阅读,更多相关《课程设计III IP协议分析.docx(14页珍藏版)》请在冰点文库上搜索。
课程设计IIIIP协议分析
课程设计III
设计说明书
IP协议分析
学生姓名
学号
班级
成绩
指导教师
数学与计算机科学学院
2016年3月11日
课程设计任务书
2015—2016学年第二学期
课程设计名称:
课程设计III课程设计
课程设计题目:
IP协议分析
完成期限:
自2016年2月29日至2016年3月11日共2周
设计内容:
1.任务说明
了解IP(互联网协议)的细节。
2.要求
一个完整的连接到Internet的网络环境;
数据包捕获和分析软件(Wireshark);
路由跟踪命令:
traceroute/tracert。
使用Wireshark软件捕获网络通信流量,分析数据包结构。
指导教师:
教研室负责人:
课程设计评阅
评语:
指导教师签名:
年月日
摘要
本次课设,需要用wireshark软件对IP数据包进行抓包,并要对协议进行过滤筛选,从而保证试验的清晰,其次进行发送报文,对wireshark抓获的包进行分析。
关键词:
wiresharkIP协议报文
4、课设过程10
5、总结11
参考文献12
1课题描述
课程设计是课程教学中的一项重要内容,是完成教学计划达到教学目标的重要环节,是教学计划中综合性较强的实践教学环节。
它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。
《计算机网络原理》是一门理论性和实践性都很强的课程,课程设计环节占有很重要的地位。
希望同学们要按照教学计划要求,充分利用课程设计的时间,综合应用所学知识,独立完成课程设计任务,提高自己的应用技术能力。
IP协议是用于将多个包交换网络连接起来的,它在源地址和目的地址之间传送一种称之为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。
IP的责任就是把数据从源传送到目的地。
它不负责保证传送可靠性,流控制,包顺序和其它对于主机到主机协议来说很普通的服务。
IP实现两个基本功能:
寻址和分段。
IP可以根据数据包包头中包括的目的地址将数据报传送到目的地址,在此过程中IP负责选择传送的道路,这种选择道路称为路由功能。
如果有些网络内只能传送小数据报,IP可以将数据报重新组装并在报头域内注明。
IP模块中包括这些基本功能,这些模块存在于网络中的每台主机和网关上,而且这些模块(特别在网关上)有路由选择和其它服务功能。
IP协议定义在OSI第三层———网络层,是internet最重要的协议。
在IP协议中规定了在internet上进行通信时应遵守的规则,例如IP数据包的组成、路由器如何将IP数据包送到目的主机等。
各种物理网络在链路层(二层)所传输的基本单元为帧(MAC帧),其帧格式随物理网络而异,各物理网络的物理地址(MAC地址)也随物理网络而异。
IP协议的作用就是向传输层(TCP层)提供统一的IP包,即将各种不同类型的MAC帧转换为统一的IP包,并将MAC帧的物理地址变换为全网统一的逻辑地址(IP地址)。
这样,这些不同物理网络MAC帧的差异对上层而言就不复存在了。
正因为这一转换,才实现了不同类型物理网络的互联。
IP协议面向无连接,IP网中的节点路由器根据每个IP包的包头IP地址进行寻址,这样同一个主机发出的属于同一报文的IP包可能会经过不同的路径到达目的主机。
IP网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。
IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。
IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。
IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。
高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。
也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。
IP确认包含一个选项,叫作IPsourcerouting,可以用来指定一条源地址和目的地址之间的直接路径。
对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。
这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。
那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。
IP(InternetProtocol)协议的英文名直译就是:
因特网协议。
从这个名称我们就可以知道IP协议的重要性。
在现实生活中,我们进行货物运输时都是把货物包装成一个个的纸箱或者是集装箱之后才进行运输,在网络世界中各种信息也是通过类似的方式进行传输的。
IP协议规定了数据传输时的基本单元和格式。
如果比作货物运输,IP协议规定了货物打包时的包装箱尺寸和包装的程序。
除了这些以外,IP协议还定义了数据包的递交办法和路由选择。
同样用货物运输做比喻,IP协议规定了货物的运输方法和运输路线。
在Internet中,一台计算机可以有一个或多个IP地址,就像一个人可以有多个通信地址一样,但两台或多台计算机却不能共享一个IP地址。
如果有两台计算机的IP地址相同,则会引起异常现象,无论哪台计算机都将无法正常工作。
顺便提一下几类特殊的IP地址:
1.广播地址目的端为给定网络上的所有主机,一般主机段为全0
2.单播地址目的端为指定网络上的单个主机地址
3.组播地址目的端为同一组内的所有主机地址
4.环回地址127.0.0.1在环回测试和广播测试时会使用
2课程目的
利用wireshark软件分析IP协议,学习了解IP数据包,了解IP(互联网协议)的细节。
显示的内容包括:
捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。
捕获数据包,分析数据包,熟悉IP数据包结构,加深对IP层工作原理的理解和认识。
3课设要求
一个完整的连接到Internet的网络环境;
数据包捕获和分析软件(Wireshark);
手动控制获取WebURL资源的命令行工具wget/curl;
路由跟踪命令:
traceroute/tracert;
使用Wireshark软件捕获网络通信流量,分析数据包结构。
4课设过程
4.1IP包结构
互联网络层是TCP/IP协议参考模型中的关键部分.IP协议把传输层送来的消息封
装成IP数据包,并把IP数据包传送给数据链层.IP协议在TCP/IP协议族中处于核心地位,IP协议制定了统一的IP数据包格式,以消除个通信子网中的差异,从而为信息发送方和接收方提供了透明的传输通道.编制本程序前,首先要对IP包的格式有一定了解,图4.1给出了IP协议的数据包格式。
IP数据包的第一个字段是版本字段,其度是4位,表示所使用的IP协议的版本.目
前的版本是IPV4,版本字段的值是4,下一代版本是IPV6,版本字段值是6.本程序主要针对版本是IPV4的数据包的解析。
报头标长字段为4位,它定义了以4B为一个单位的IP包的报文长度.报头中除了选项字段和填充域字段外,其他各字段是定长的.因此,IP数据包的头长度在20—40B之间,是可变的。
04816192431
版本
报头标长
服务类型
总长度
标识
标志
片偏移
生存时间
协议
头校验和
源IP地址
目的IP地址
选项
填充域
数据部分
图4.1IP数据包格式
1-1.版本4位,表示版本号,目前最广泛的是4=B1000,即常说的IPv4;相信IPv6以后会广泛应用,它能给世界上每个纽扣都分配一个IP地址。
1-2.头长4位,数据包头部长度。
它表示数据包头部包括多少个32位长整型,也就是多少个4字节的数据。
无选项则为5(红色部分)。
1-3.服务类型,包括8个二进制位,每个位的意义如下:
过程字段:
3位,设置了数据包的重要性,取值越大数据越重要,取值范围为:
0(正常)~7(网络控制)
延迟字段:
1位,取值:
0(正常)、1(期特低的延迟)
流量字段:
1位,取值:
0(正常)、1(期特高的流量)
可靠性字段:
1位,取值:
0(正常)、1(期特高的可靠性)
成本字段:
1位,取值:
0(正常)、1(期特最小成本)
保留字段:
1位,未使用
1-4.包裹总长16位,当前数据包的总长度,单位是字节。
当然最大只能是65535,及64KB。
2-1.重组标识16位,发送主机赋予的标识,以便接收方进行分片重组。
2-2.标志3位,他们各自的意义如下:
保留段位
(2):
1位,未使用
不分段位
(1):
1位,取值:
0(允许数据报分段)、1(数据报不能分段)
更多段位(0):
1位,取值:
0(数据包后面没有包,该包为最后的包)、1(数据包后面有更多的包)
2-3.段偏移量13位,与更多段位组合,帮助接收方组合分段的报文,以字节为单位。
3-1.生存时间8位,经常ping命令看到的TTL(TimeToLive)就是这个,每经过一个路由器,该值就减一,到零丢弃。
3-2.协议代码8位,表明使用该包裹的上层协议,如TCP=6,ICMP=1,UDP=17等。
3-3.头检验和16位,是IPv4数据包头部的校验和。
4-1.源始地址,32位4字节,我们常看到的IP是将每个字节用点(.)分开,如此而已。
5-1.目的地址,32位,同上。
6-1.可选选项,主要是给一些特殊的情况使用,往往安全路由会当作攻击而过滤掉,普联(TP_LINK)的TL-ER5110路由就能这么做。
7-1.用户数据。
4.2捕获数据包
Wiershark软件提供了捕获IP数据包的捕获过滤器。
下面介绍使用ip捕获过滤器,捕获所有ip包。
(1)启动wireshark捕获工具。
(2)在wireshark主界面的菜单中依次选择Capture|Options。
如图所示
(3)CaptureFilter(过滤条件):
iphost192.168.3.65andiphost
192.168.3.66。
图4.2过滤条件设置
(3)在该界面选择捕获接口,并设置捕获过滤器及捕获文件的位置,以上信息配置完后,单击开始按钮开始捕获数据包,如下图所示。
图4.3抓包开始
(4)从该界面可以看到,此时没有捕获到任何的数据包。
这是因为没有进行任何操作,所以无法捕获到任何数据包,可以使用ping命令来捕获数据包。
(5)为了不受很多协议的影响,这里通过ping命令仅捕获ICMP协议的数据包。
此时在主机上执行ping命令,执行命令如下:
Ping192.168.3.65
图4.4ping命令窗口
执行以上命令后,捕获到的数据包如下所示。
图4.5捕获数据包
(6)从该界面可以看到Protocol列都为ICMP协议的包,虽然捕获的包很多,但只需要分析其中两个包,就可以很清楚的理解IP协议包格式。
4.3数据包分析
图4.6具体报文
如上图可知:
1、InternetProtocol互联网协议(IP)源:
192.168.3.65,目标:
192.168.3.66
2、Version(版本)协议版本号为:
4
3、HeaderlengthIP(报头长度)头部字长为:
20字节
4、DifferentiatedservicesFiled(服务的类别):
上图为0x00,一个8字节的字段,表示一个特定的上层协议所分配的重要级别。
5、Totallength(总长度):
一个16字节的字段,表示整个数据包的长度。
包括数据和报头。
从该值中减去Headerlength值的长度,得到的就是数据有效负荷的长度。
上图为60。
6、Identification(标识符):
一个16字节的字段,它包含一个整数序列号,用来表示当前的数据包。
上图为0X1985(6533)。
7、Flag(标记):
一个3字节的字段,其中后两位控制分片。
8、Fragmentoffset(分片的偏移量):
它帮助重组分片。
上图为0。
Timetolive(存活时间):
一个8字节的字段,它维护着一个计数器。
这个计数器会按一定增量逐渐减少为0.当到0时,该数据包将被丢弃。
这保证了数据包不会无限制的循环。
上图为64。
9、Protocol(协议):
一个8字节的字段,它表示在IP处理过程结束后,将会有哪个上层协议接收。
在上图中为ICMP
(1)。
10、Headerchecksum(报头的校验和):
一个16字节的字段,它帮助确保报头的正确性。
上图0xD968.
11、Source(源IP地址):
一个32字节的字段,它表示发送设备的IP地址。
上图为192.168.3.65。
12、Destination(目的IP地址):
一个32字节的字段,它表示接收设备的IP地址。
上图为192.168.3.66。
图4.7具体报文
13、“7427eab9eb1d”目的主机的MAC地址
14、“7427eab9ea1b”源主机的MAC地址
15、“0800”包类型:
0800为IP包后面的开始为真正的IP包包头,可以根据上面的协议进行分析了。
16、“45”,其中“4”是IP协议的版本(Version),说明是IP4“”指本IP包的包头长度为5X4=20字节
17、“00”服务类型(TypeofService)
18、“003c”是IP数据报文总长,包含头部以及数据,这里表示3X16+12=60字节(注:
003c为16进制表示)
19、"1985""0000"表示认证、标志、段偏移:
主要用于数据报的分段
20、"40"表示一个IP数据流的生命周期,用Pin显示的结果,能得到TTL的值,很多文章就说通过TTL位来判别主机类型。
因为一般主机都有默认的TTL值,不同系统的默认值不一样.
21、"01"很重要,表示传输层的协议类型(Protocol)
22、"d968"为校验和
23、"c0a80341"源地址的IP:
即192.168.3.65
24、"c0a80342"目的地址的IP:
即192.168.3.66
5总结
本次课设主要是针对IP网络中的数据包结构进行认识及对所抓包进行分析,以便能够更深入的了解IP协议的原理。
在对数据包的分析之前先做好IP基础知识的学习准备,通过多方的资料和文献以及网络资料来来了解IP网络的基础知识。
在计算机网络中传输数据需要遵循一种协议才能保证数据传输的有序进行一个网络协议是一组预定义的格式和规范,在一个计算机网络上的设备必须遵循和理解,一个网络协议描述了一系列的规则、约定和定义使网络设备可以相互交换信息。
如果设备不主持网络互连协议,那么这个设备就不能与其他设备进行通信。
在对IP网络的基础有了充分的了解后,使用Wireshark抓包工具结合网络连接的过程来实际分析各种数据包的具体特点及存在的意义。
掌握IP协议分段的各个意义。
ICMP包是用来检测网络连接的数据包,在电脑运行PING命令时,通过数据包的传输来确认主机与目的服务器的连接和数据传输是否正常。
电脑运行traceroute命令时,通过向路由器发送指定TTL值的数据包,让路由器返回ICMP差错数据包来获取路由器的IP地址,进而可以获取源主机所需要经过的所有路由器的IP地址,方便连接故障时通信线路故障查询。
通过对ICMP协议的分析,对于网络的原理有了深入的了解,学习到了很多。
参考文献
[1]谢希仁.计算机网络.电子工业出版社
[2]刘芳.网络流量检测与控制.北京邮电大学出版社
[3]李革新,张鹤颖,郑彦兴.计算机网络前沿技术.国防科技大学出版社
[4]周明天,汪文勇.TCP/IP网络原理与技术.清华大学出版社
[5]任泰明.TCP/IP协议与网络编程.西安电子科技大学出版社
[6]吴功宜,胡晓英,张仁,何云,王宁.计算机网络课程设计.机械工业出版社
[7]易建勋.计算机网络设计.人民邮电出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计III IP协议分析 课程设计 III IP 协议 分析
![提示](https://static.bingdoc.com/images/bang_tan.gif)