网络协议分析实验报告稻谷书屋_第1页
网络协议分析实验报告稻谷书屋_第2页
网络协议分析实验报告稻谷书屋_第3页
网络协议分析实验报告稻谷书屋_第4页
网络协议分析实验报告稻谷书屋_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 设 计 课程设计题目 网络协议分析实验报告 学 生 姓 名 : 学 号: 专 业: 2014年 6 月 29日实验1 基于icmp的mtu测量方法实验目的1) 掌握icmp协议2) 掌握ping程序基本原理3) 掌握socket编程技术4) 掌握mtu测量算法实验任务编写一个基于icmp协议测量网络mtu的程序,程序需要完成的功能:1)使用目标ip地址或域名作为参数,测量本机到目标主机经过网络的mtu;2)输出到目标主机经过网络的mtu。实验环境1)linux系统;2)gcc编译工具,gdb调试工具。实验步骤1. 首先仔细研读ping.c例程,熟悉linux下socket原始套接字编程

2、模式,为实验做好准备;2. 生成最大数据量的ip数据报(64k),数据部分为icmp格式,icmp报文为回送请求报文,ip首部df位置为1;由发送线程发送;3. 如果收到报文为目标不可达报文,减少数据长度,再次发送,直到收到回送应答报文。至此,mtu测量完毕。icmp协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。1 它是tcp/ip协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到ip数据无法访问目标、ip路由器无法按当前的传输速率转发数据包等情况时,会自动

3、发送icmp消息。icmp报文在ip帧结构的首部协议类型字段(protocol 8bit)的值=1.icmp原理icmp提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据icmp报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。但是icmp唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。我们在网络中经常会使用到icmp协议,比如我们经常使用的用于检查网络通不通的ping命令(linux和windows中均有),这个“ping”的过程实际上就是icmp协议工作的过程。还有其他的网络命令如跟踪路

4、由的tracert命令也是基于icmp协议的。icmp(internet control message,网际控制报文协议)是为网关和目标主机而提供的一种差错控制机制,使它们在遇到差错时能把错误报告给报文源发方.是ip层的一个协议。但是由于差错报告在发送给报文源发方时可能也要经过若干子网,因此牵涉到路由选择等问题,所以icmp报文需通过ip协议来发送。icmp数据报的数据发送前需要两级封装:首先添加icmp报头形成icmp报文,再添加ip报头形成ip数据报通信术语 最大传输单元(maximum transmission unit,mtu)是指一种通信协议的某一层上面所能通过

5、的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。实验2 基于udp的traceroute程序实验目的1) 掌握udp协议2) 掌握udp客户机/服务器编程模式3) 掌握socket编程技术4) 掌握traceroute算法实验任务1. 熟悉程序udp-client.c和udp-server.c,使用网络嗅探器(如wireshark)分析udp通讯数据报格式;2. 编写一个基于udp协议的网络路径记录程序程序,程序需要完成的功能:1)使用目标ip地址或域名作为参数,测量本机到目标主机经过的路由器ip地址;2)输出到目标主机经过网络路由器ip地址。实

6、验环境1)linux系统;2)gcc编译工具,gdb调试工具。实验步骤1. 首先分别编译程序udp-client.c和udp-server.c,编译命令如下:gcc udp-client.c o udp-clientgcc udp-server.c o udp-server启动网络嗅探程序:wireshark。打开两个终端窗口,进入程序所在目录,分别运行./udp-client和./udp-server,查看wireshark采集到的udp通讯数据,截图并结合图对udp协议格式进行说明;2. 通过socket编程,发送udp数据报,设置目的端口号为不常用的值,ttl值初始为1,逐步增加,接收超

7、时icmp报文和icmp不可达报文;如果接收到icmp超时报文,则记录发送icmp超时报文的路由器ip地址,如果收到icmp不可达报文,则为目的主机到达;3. 输出记录的所有路由器ip地址。实验结果1udp协议的主要作用是将网络数据流量压缩成数据报的形式。一个典型的数据报就是一个二进制数据的传输单位。每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。 udp报头 udp报头由4个域组成,其中每个域各占用2个字节,具体如下: 源端口号 目标端口号 数据报长度 校验值 udp协议使用端口号为不同的应用保

8、留其各自的数据传输通道。udp和tcp协议正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。数据发送一方(可以是客户端或服务器端)将udp数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为udp报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。一般来说,大于49151的端口号都代表动态端口。 数据报的长度是指包括报头和数据部分在内的总的字节数。因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。数据报的最

9、大长度根据操作环境的不同而各异。从理论上说,包含报头在内的数据报的最大长度为65535字节。不过,一些实际应用往往会限制数据报的大小,有时会降低到8192字节。 udp协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此udp协议可以检测是否出错。这与tcp协议是不同的,后者要求必须具有校验值。2实验3 tcp协议分析实验目的1) 掌握tcp协议2) 掌握tcp客户机/服务器编程模式实验任务熟悉程序tcp

10、-process.c,tcp-client.c和tcp-server.c,使用网络嗅探器(如wireshark)分析tcp协议三次握手过程;实验环境1)linux系统;2)gcc编译工具,gdb调试工具。实验步骤首先分别编译程序tcp-client.和tcp-server.,编译命令如下:gcc tcp-client.c tcp-process.c o tcp-clientgcc tcp-server.c tcp-process.c o tcp-server启动网络嗅探程序:wireshark。打开两个终端窗口,进入程序所在目录,分别运行./tcp-client和./tcp-server,查看

11、wireshark采集到的tcp通讯数据,截图并结合图对tcp三次握手协议格式进行说明;实验结果在tcp/ip协议中,tcp协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入syn_send状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个syn包(syn=k),即syn+ack包,此时服务器进入syn_recv状态;第三次握手:客户端收到服务器的synack包,向服务器发送确认包ack(ack=k+1),此包发送完毕,客户端和服务器进入established状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的syn包(syn=j)开设一个条目,该条目表明服务器已收到syn包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于syn_recv状态,当服务器收到客户的确认包时,删除该条目,服务器进入established状态。backlog参数:表示未连接队列的最大容纳数目。syn-ack 重传次数 服务器发送完synack包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论