PING实验报告

PING实验报告

ID:47432457

大小:41.62 KB

页数:11页

时间:2020-01-11

PING实验报告_第1页
PING实验报告_第2页
PING实验报告_第3页
PING实验报告_第4页
PING实验报告_第5页
资源描述:

《PING实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、沈阳工程学院学生实验报告实验室名称:信息工程系软件实验室实验课程名称:计算机网络实验项目名称:icmp协议应用——ping解析班级:姓名:学号:实验日期:2012年04月28日实验台编号:23指导教师:批阅教师(签字):成绩:篇二:网络编程实验_ping实验报告网络编程-ping程序设计实验指导书一.实验目的(1)熟悉原始套接字编程。(2)了解网络的结构。(3)了解网络传输底层协议。二.实验要求ping程序是用于测试网络连通性的程序。要求在windows环境下实现基本的ping程序功能.在命令提示符下输入:ping***.***.***.***其中***为目的主机的ip地址,不要求支持域名,对

2、是否带有开关变量也不做要求。不带开关变量时,要求返回4次响应。返回信息的格式:replyfrom***.***.***.***或requesttimeout(无法ping通的情况)三.实验原理1、ping的工作原理ping程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接。ping使用的是icmp协议,它发送icmp回送请求消息给目的主机。icmp协议规定:目的主机必须返回icmp回送应答消息给源主机。如果源主机在一定时间内收到应答,则认为主机可达。icmp协议通过ip协议发送的,ip协议是一种无连接的,不可靠的数据包协议。因此,保证数据送达的工作应

3、该由其他的模块来完成。其中一个重要的模块就是icmp(网络控制报文)协议。当传送ip数据包发生错误--比如主机不可达,路由不可达等等,icmp协议将会把错误信息封包,然后传送回给主机。给主机一个处理错误的机会,这也就是为什么说建立在ip层以上的协议是可能做到安全的原因。icmp数据包由8bit的错误类型和8bit的代码和16bit的校验和组成。而前16bit就组成了icmp所要传递的信息。ping利用icmp协议包来侦测另一个主机是否可达。原理是用类型码为0的icmp发请求,受到请求的主机则用类型码为8的icmp回应。ping程序来计算间隔时间,并计算有多少个包被送达。用户就可以判断网络大致的

4、情况。ip数据报tcp/ip协议定义了一个在因特网上传输的包,称为ip数据报(ipdatagram).这是一个与硬件无关的虚拟包,由包头和数据两部分组成,包头中的源地址和目的地址都是ip协议地址.icmptcp/ip组件包括一个icmp(internetcontrolmessageprotocol)协议,该协议定义了的报文类型:echo,echoreply,用于ping程序的基本实现下图是icmp报文的传送:2、raw模式的socket编程ping程序是面向用户的应用程序,该程序使用icmp的封装机制,通过ip协议来工作。为了实现直接对ip和icmp包进行操作,实验中使用raw模式的socke

5、t编程。熟悉socket的编程,包括基本的系统调用如socket、bind等.3、具体内容(1)定义数据结构需要定义好ip数据报、icmp包等相关的数据结构(2)程序实现在windows环境下实现ping程序四.实验步骤和注意事项1、熟悉ip以及icmp协议的工作机制2、熟悉raw模式的socket编程3、编写ping的实现程序4、编译环境中需要包括socket库ws2_32.lib5、在模拟实现环境下调试并运行自己编写的ping程序6、最后提交源程序,撰写实验报告初步流程具体步骤1、定义ip头和icmp头该程序定义自己的ip头和icmp头数据结构,代码如下://ip首部数据结构typedef

6、structiphdr{图unsignedinth_len:4;//首部长度unsignedintversion:4;//版本unsignedchartos;//服务类型unsignedshorttotal_len;//报文总长度unsignedshortident;//标识unsignedshortfrag_and_flags;//偏移量unsignedcharttl;//寿命unsignedcharproto;//协议unsignedshortchecksum;//首部校验和unsignedintsourceip;//源站ipunsignedintdestip;//目的站ip};//icm

7、p首部数据结构typedefstructicmphdr{bytei_type;//类型bytei_code;//代码ushorti_cksum;//首部校验和ushorti_id;//标识ushorti_seq;//序列号ulongtimestamp;//时间戳};2.定义变量wsadatawsadata;socketsockraw;structsockaddr_indest,from;struc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。