ping程序的设计与实现

上传人:工**** 文档编号:491967623 上传时间:2022-09-08 格式:DOCX 页数:17 大小:325.95KB
返回 下载 相关 举报
ping程序的设计与实现_第1页
第1页 / 共17页
ping程序的设计与实现_第2页
第2页 / 共17页
ping程序的设计与实现_第3页
第3页 / 共17页
ping程序的设计与实现_第4页
第4页 / 共17页
ping程序的设计与实现_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《ping程序的设计与实现》由会员分享,可在线阅读,更多相关《ping程序的设计与实现(17页珍藏版)》请在金锄头文库上搜索。

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

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+网络程序设计实例详解张越编著指导教师意见(签字):X年X月X日系(教研室)主任意见(签争:X年X月X日计算机网络课程设计说明书学院名称:计算机与信息工程

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

4、的,】P协议是一种无连接的,不可靠的数据包 协议。因此,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模 块就是ICMP(网络控制报文)协议。二、方案设计(或概要设计)Ping程序可分为四个模块,分别是:初始化(图1-1)、功能控制(图1-2、图 1-3、图 1-4、卜 ping (图 1-5)、main 测试(图 1-6).1 ,初始化:2 .功能控制:定义初始化一些变量图1-2sum += *w+;nleft -= 2;是(补全奇数位)sum += u;(将反馈的16位从高位移到低位)sum = (sum 16) + (sum & Oxffff);sum += (sum 16);

5、 answer = sum;图1-3图1-43.ping:图1-54.main()函数:图1-6三、详细设计要实现ping程序,需要实现以下步骤:1 .初始化定义IP首部格式typcdcf struct _JPHcadcru_char V1HL; 版本和首部长度u-char ToS; 服务类型u_short TotalLcn; 总长度u_short ID; 标识号u_shorl Frag_Flags; 片偏移量u.char TTL; /生存时间u_char Protocol; 协议u_shorl Checksum; /首部校验和struct in_addr SrcIP; /源 IP 地址str

6、uct in_addr DesHP; / 目的地址IPHPR, *P1PHDR;定义ICMP首部格式typedef structCMPHcAdcru_char Type; /类型u_char Code; /代码u_shorl Checksum; /首部校验和u_shortlD; 标识u_short Seq; 序列号char Data; 数据1CMPHDR *PICMPHDR;定义ICMP回应请求lypcdcf struct _ECHOREQUEST1CMPHDR icmpHdr;DWORD dwTimc;char cData REQ-D AT ASI Z E; ECHOREQUEST JPEC

7、HOREQUEST;定义ICMP回应答复lypcdef struct _ECHOREPLYIPHDR ipHdr;ECHOREQUEST cchoRcqucst;char cFillcr256; ECHOREPLY, *PECHOREPLY;2 .功能计算校验和函数u_short chccksum(u_short :+buffcr, int len)发送回应请求函数int ScndEchoRcqucst(S()CKET s, struct sockaddr_in *lpstT()Addr)/接收应答回复并进行解析函数DWORD RccvEchoRcply(SOCKET s, LPSOCKADD

8、RJN IpsaFrom, u.char *pTTL)3 . ping程序创建原始套接字JCMP类型实现pingrawSockct = sockci(AFNET, SOCK.RAW, IPPR()TOCMP);/第二个注释 函数socketif (rawSockct = SOCKET.ERROR)printf(socket。crror:%dnn, WSAGetLastErrorQ);return;四、结果分析(或测试)1 .输入ping主机的命令I C:DocuMeirts and 5etti:ngsAdMinistratorA:jfiiDebugPJirGiFFiil .exe, BOBUe

9、 leone to the Ping Test.3Ping 192.168.94.160Pinging 192.1G8 .94.IGO C192.1G8.94.160 v/ith 32 bytes of data:Replyfrom1J2.168.94.160:bytes = 32time=SinsTTL = 64Replyfrom1J2.168.94.160:bytes = 32time=0msTTL = 64Replyfrom1J2.168.94.160:bytes = 32time=0msTTL = 64He plyiron工,2168.94.160:bytes = 32time=gms

10、TIL = 64Ping statistics for 192.168.94.160:Packets: Sent = 4, Received = 4,Lost = 0 0Z loss), Approximate i*ound trip times in milli-seconds :Mininun = 0ns-Maximum = 0ms, fiuerage = 0ms|Ping2.输入ping-t命令3 .输入外部网主机命令五、总结刚刚拿到课题时,我对于ping几乎没什么了解。在课程设计过程中遇到过很 多一开始看似不可克服的难题。回顾这次课程设计,我感慨颇多。在这段时间内, 需要经常从电脑上查

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号