电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Ping计算机网络课程设计VIP免费

Ping计算机网络课程设计_第1页
1/17
Ping计算机网络课程设计_第2页
2/17
Ping计算机网络课程设计_第3页
3/17
计算机网络课程设计报告 设计名称 Ping 程序的设计与实现 专业班级 同组人姓名 指导教师 成 绩 一、设计目的和要求 1、实验目的 利用ICMP 数据包、C 语言实现Ping 命令程序,能实现基本的Ping 操作,发送ICMP回显请求报文,用于测试—个主机到只一个主机之间的连通情况。通过本程序的训练,使学生熟悉ICMP 报文结构,使学生对ICMP 有更深的理解,掌握Ping 程序的设计方法,掌握网络编程的方法和技巧,从而编写出功能更强大的程序。 2、实验要求:输出参考系统自带ping 程序,命令行运行:ping ip; 二、设计说明 1.设计思路 由于Ping 程序是面向用户的应用程序,该程序使用ICMP 的封装机制,通过IP 协议来工作。为了实现直接对IP 和 ICMP 包进行操作,实验中使用RAW 模式的socket 编程。首先定义IP 数据报首部,在IP 数据报的基础上定义ICMP 数据报首部,并初始化一些全局变量。接着自定义填充ICMP 数据报字段函数FillICMPData()、校验和函数checksum()、解读ICMP 报首部函数DecodeICMPHeader()、释放资源函Cleanup()。 最后主函数通过调用这些函数来实现Ping 命令功能。 2. 设计方案 IP 头与ICMP 头的设置分别参照RFC791 及 RFC792 的标准,包含所有必要信息。主程序设置main()函数,主函数用库函数实现套接字编程用于数据包发送及接收,其中,数据包发送调用sendto(),数据包接收调用recvfrom( ),由于发送数据包时可能会遇到阻塞或者目标主机不通,造成超时,因此需要在发送数据包后调用一个函数判断是否超时,此处调用库函数setsockopt()来实现超时判断;其次,校验和函数采用移位方法进行计算。 3. 系统运行环境:VC++ 6.0, Window XP 操作系统平台 4. 设计中的难点和重点 首先遇到的问题就是套接字文件的问题。套接字所需要的文件有头文件Winsocket2.h、库文件WS2_32.LIB、动态库W32_32.DLL。创建套接字的时候参数的以及在创建套接字之前必须首先使用WSAStartup 函数、在使用完套接字之后要释放内存资源,关闭套接字这些问题都是以前未接触过的。所以在写程序的时候需要查阅大量的资料,弄懂这些问题。其次,在套接字问题解决之后,遇到的难题,也是比较重要的问题就是如何实现ICMP 报文的发送和接受,以及怎样判断发送、接收超时或者找不到目的主机。最后在程序调试的时候总是出现这样或那样的错误,比如头文件错误、动态库无法导入、编辑器环境不匹配等。 5. 输入和输...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Ping计算机网络课程设计

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部