没有合适的资源?快使用搜索试试~ 我知道了~
计算机网络基础课程设计--Ping程序的实现.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 13 浏览量
2022-06-27
17:13:33
上传
评论 2
收藏 258KB DOC 举报
温馨提示
试读
13页
计算机网络基础课程设计--Ping程序的实现
资源推荐
资源详情
资源评论
计算机网络工程课程设计报告
题 目: Ping
程序的实现
学生姓名:
学 号:
专业班级: 计科专业
10102
班
同组姓名:
指导教师:
设计时间: 2013
年下学期第
16
周
指导老师意见:
评定成绩: 签名:
日期: 年 月 日
目录
一、课程设计的目的和意义.............................................................................................2
二、课程设计的内容和要求.............................................................................................2
1.内容:..............................................................................................................................2
2.要求:..............................................................................................................................2
三、课程设计的相关技术.................................................................................................2
四、课程设计过程.............................................................................................................2
1.Ping 主模块......................................................................................................................2
2.功能控制模块..................................................................................................................4
3.数据报解析模块..............................................................................................................5
五、课程设计小结.............................................................................................................6
六、参考文献.....................................................................................................................8
七、附 录(程序清单)....................................................................................................8
八、心得体会...................................................................................................................12
1
一、课程设计的目的和意义
利用 ICMP 数据包、C 语言实现 Ping 命令程序,能实现基本的 Ping 操作,
发送 ICMP 回显请求报文,用于测试—个主机到只一个主机之间的连通情况。
通过本程序的训练,使学生熟悉 ICMP 报文结构,使学生对 ICMP 有更深的理
解,掌握 Ping 程序的设计方法,掌握网络编程的方法和技巧,从而编写出功能
更强大的程序。
二、课程设计的内容和要求
1.内容:
用 C 语言实现 Ping 命令程序,能实现基本的 Ping 操作,发送 ICMP 回显请
求报文,用于测试—个主机到只一个主机之间的连通情况。
2.要求:
1) 独立完成程序的设计、编码和调试。
2) 系统利用 C 语言实现,程序调试环境为 Turbo C 或 VC;
3) 按照课程设计规范书写课程设计报告。
4) 采用 VC 环境进行调试运行。
三、课程设计的相关技术
由于 Ping 程序是面向用户的应用程序,该程序使用 ICMP 的封装机制,通
过 IP 协议来工作。为了实现直接对 IP 和 ICMP 包进行操作,实验中使用 RAW
模式的 socket 编程。首先定义 IP 数据报首部,在 IP 数据报的基础上定义
ICMP 数据报首部,并初始化一些全局变量。接着自定义填充 ICMP 数据报字段
函数 FillICMPData()、校验和函数 checksum()、解读 ICMP 报首部函数
DecodeICMPHeader()、释放资源函 Cleanup()。最后主函数通过调用这些
函数来实现 Ping 命令功能。IP 头与 ICMP 头的设置分别参照 RFC791 及
RFC792 的标准,包含所有必要信息。主程序设置 main()函数,主函数用
库函数实现套接字编程用于数据包发送及接收,其中,数据包发送调用
sendto(),数据包接收调用 recvfrom( ),由于发送数据包时可能会遇到阻塞
或者目标主机不通,造成超时,因此需要在发送数据包后调用一个函数判断是
否超时,此处调用库函数 setsockopt()来实现超时判断;其次,校验和函数
采用移位方法进行计算。
套接字所需要的文件有头文件 Winsocket2.h、库文件 WS2_32.LIB、动态库
W32_32.DLL。创建套接字的时候参数的以及在创建套接字之前必须首先使用
WSAStartup 函数。
四、课程设计过程
1.Ping 主模块
Ping()函数是本程序的核心部分,它基本是调用其他模块的函数来实现最终
功能,其主要布骤包括:定义及初始化各个全局变量、打开 socket 动态库、设
2
剩余12页未读,继续阅读
资源评论
- wlxwlx1222023-06-04感谢资源主的分享,这个资源对我来说很有用,内容描述详尽,值得借鉴。
- 一一2522023-06-04感谢资源主的分享,这个资源对我来说很有用,内容描述详尽,值得借鉴。
- 2301_792493292023-10-13资源很受用,资源主总结的很全面,内容与描述一致,解决了我当下的问题。
老帽爬新坡
- 粉丝: 79
- 资源: 2万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功