ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:283.74KB ,
资源ID:10791209      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10791209.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ping程序的设计与实现.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ping程序的设计与实现.docx

1、ping程序的设计与实现计算机网络课程设计任务书 学 院计算机与信息工程专 业网络工程课程名称题 目基于原始套接字实现简单的ping程序完成期限自2014年8月25日至2014年8月30日共1周内容及任务一、项目的目的通过设计Ping程序,理解Ping程序的实现原理,并初步讲解了c语言网络编程技术。二、项目任务的主要内容和要求 实现类似操作系统自带ping程序的基本功能。 支持-t选项的功能,即如果用户不中止则可以不断的ping下去。 能显示IP报头的部分字段,如TTL等。三、项目设计(研究)思路PING的工作原理下,PING程序基于ICMP,使用ICMP的回送请求和回送应答来工作。对网络连通

2、性的测试,探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接。四、具体成果形式和要求可以实现一个简单的ping程序,并且能显示TTL、支持-t功能。进度安排起止日期工作内容8.25-8.26查阅资料了解ping程序8.26-8.27查阅资料并编写ping程序8.27-8.30完善程序并完成实验报告主要参考资料1. Visual C+网络通信编程实用案例精选(第二版)曹衍龙 编著2. Visual C+网络程序设计实例详解 张越 编著指导教师意见(签字): 年月日系(教研室)主任意见(签字): 年月日计算机网络课程设计说明书学院名称: 计算机与信息工程 班级名称

3、: 学生姓名: 学 号: 题 目:基于原始套间字实现简单的ping程序 指导教师姓 名: 起止日期: 一、选题背景(标题:四号仿宋加粗,顶格,行间距:24磅,上下间距:段前0.5行,段后0.5行)(内容:用小四号仿宋,首行空两格)通过设计Ping程序,理解Ping程序的实现原理,ping程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接。ping使用的是ICMP协议,它发送ICMP回送请求消息给目的主机。ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。如果源主机在一定时间内收到应答,则认为主机可达。ICMP协议通过IP协议发送的,IP

4、协议是一种无连接的,不可靠的数据包协议。因此,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP(网络控制报文)协议。二、方案设计(或概要设计)Ping程序可分为四个模块,分别是:初始化 (图1-1)、功能控制 (图1-2、图1-3、图1-4、)、ping (图1-5)、main测试 (图1-6).1.初始化: 2.功能控制:图1-2图1-3图1-43.ping:图1-54.main()函数:图1-6三、详细设计要实现ping程序,需要实现以下步骤:1.初始化/定义IP首部格式typedef struct _IPHeader u_char VIHL; /版本和首部长度 u

5、_char ToS; /服务类型 u_short TotalLen; /总长度 u_short ID; /标识号 u_short Frag_Flags; /片偏移量 u_char TTL; /生存时间 u_char Protocol; /协议 u_short Checksum; /首部校验和 struct in_addr SrcIP; /源IP地址 struct in_addr DestIP; /目的地址IPHDR, *PIPHDR;/定义ICMP首部格式typedef struct _ICMPHeader u_char Type; /类型 u_char Code; /代码 u_short C

6、hecksum; /首部校验和 u_short ID; /标识 u_short Seq; /序列号 char Data; /数据ICMPHDR, *PICMPHDR; /定义ICMP回应请求typedef struct _ECHOREQUEST ICMPHDR icmpHdr; DWORD dwTime; char cDataREQ_DATASIZE;ECHOREQUEST, *PECHOREQUEST;/定义ICMP回应答复typedef struct _ECHOREPLY IPHDR ipHdr; ECHOREQUEST echoRequest; char cFiller256;ECHOR

7、EPLY, *PECHOREPLY;2.功能/计算校验和函数u_short checksum(u_short *buffer, int len)/发送回应请求函数int SendEchoRequest(SOCKET s, struct sockaddr_in *lpstToAddr)/接收应答回复并进行解析函数DWORD RecvEchoReply(SOCKET s, LPSOCKADDR_IN lpsaFrom, u_char *pTTL)3.ping程序/创建原始套接字,ICMP类型实现ping rawSocket = socket(AF_INET, SOCK_RAW, IPPROTO_I

8、CMP);/第二个注释函数socket if (rawSocket = SOCKET_ERROR) printf(socket() error:%dn, WSAGetLastError(); return; 四、结果分析(或测试)1.输入ping主机的命令2.输入ping-t命令 3.输入外部网主机命令五、总结刚刚拿到课题时,我对于ping几乎没什么了解。在课程设计过程中遇到过很多一开始看似不可克服的难题。回顾这次课程设计,我感慨颇多。在这段时间内,需要经常从电脑上查询资料,但是这不仅可以帮助我巩固曾经学习过的知识,也让我增长了许多课本上学不到的的知识。在这个过程中,我独立思考的能力得到了很大

9、地提高,更重要的是我也学到了更多学习的方法,让我受益匪浅。同时我也明白查阅资料的重要性,在信息多元化的今天,我们不可能掌握所有的知识,但是面对的复杂的情况又要求我们掌握一些自己专业知识之外的内容,这时候就需要掌握正确的相关信息,学会求助书籍或者网络等是必不可少的。查阅资料也使我们做的一切有理可依,而不是凭空想象。通过这次课程设计我发现了自身存在的许多不足之处,自己感觉理论上已经掌握的东西,却不真正了解它的内涵和工作原理,需要经过一番努力才能解决存在的困惑。这也很大地激发了我以后努力学习的兴趣。通过这次设计,我懂得了学习的重要性,学会了坚持、耐心和努力,为自己以后的学习和工作做最好的铺垫。参考文献1. Visual C+网络通信编程实用案例精选(第二版)曹衍龙 编著;2. Visual C+网络程序设计实例详解 张越 编著学生签名: 填表日期:年月日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1