- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
一、实验题目
编程模拟ping程序,实现Ping程序的根本功能,即接收到一个ping程序数据包后给出回应。
二、原理概述
ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者,这有点象潜水艇声纳系统中使用的发声装置。想要了解ping命令的原理必须了解ICMP协议、ICMP报文格式和IP报文格式。
〔1〕ICMP报文结构
ICMP报文结构:ICMP报文前四个字节为报文头局部,第一个字节为报文类型,第二个字节未用,第三四个字节为报文的校验和。从第四个字节开始为长度可变的数据段,该段的内容取决于ICMP的类型,本文所要使用的请求报文和请求应答报文的数据段中前四个字节是报文的标识符和顺序号。对于整个ICMP报文来说其长度最长不能超过64K字节。ICMP报文结构如图1所示。
0781516313247486364
类型
未用
校验和
标识符
顺序号
数据
〔2〕IP报文结构
ICMP报文和其它位于IP层的报文一样是作为IP报文的数据段加上IP报文头组成IP数据报发出,其中IP报文头长度一般为20个字节。如图2所示。
IP报文头
ICMP报文〔数据段〕
三、设计方案
根据实验题目查找相关资料,熟悉及理解ping的工作原理,从而进一步设计ping程序的功能图和系统流程图。准备工作做好后就可上机调试,验证其可行性并查找漏洞,完善ping程序。
ping程序的设计包含了4局部:IP、ICMP的头结构,主函数模块,CMP数据包校验和的计算和使用说明模块。
Ping程序设计
Ping程序设计
IP、ICMP的头结构
ICMP数据包校验和
主函数
模块
使用说明模块
SHAPE〔2〕系统流程图
首先在主函数里定义变量同时进行初始化,然后检查参数的正确性,如果参数不正确或者没有输入参数,那么显示用户帮助信息(Usage),并结束程序;如果参数正确,那么对指定目的地执行Ping命令,如果Ping通,那么显示Ping结果并释放占用资源,如果没有Ping通,那么报告错误信息,并释放占用资源。如图3所示。
开始
开始
初始化变量
获取参数信息
输入参数是否正确?
Ping目的地
成功?
输出Ping结果
释放占用资源
结束
输出错误信息
显示帮助信息
图3系统流程图
〔3〕数据结构设计
本程序定义了2个结构体:iphdr、-ihdr,分别用于存放IP报头信息、ICMP报头信息。
〔4〕主函数,使用说明,数据包校验和的计算的相关程序在程序中会有表达。
四、程序编写
#includewinsock2.h//WinsockAPI头文件
#includestdio.h
#includestdlib.h
#pragmacomment(lib,ws2_32.lib)//WinsockAPI连接库文件
/*IP头结构*/
typedefstructiphdr{
BYTEh_len:4;//首部长度指的是IP层头部占32bit字的数目
//(也就是IP层头部包含多少个4字节,实际字节数4*hlen),
BYTEversion:4;//IP版本号
BYTEtos;//效劳类型TOS
USHORTtotal_len;//IP包总长度
USHORTident;//标识
USHORTfrag_and_flags;//标志位
BYTEttl;//生存时间
BYTEproto;//协议
USHORTchecksum;//IP首部校验和
UINTsourceIP;//源IP地址(32位)
UINTdestIP;//目的IP地址(32位)
}IpHeader;
/*ICMP头结构*/
typedefstruct_ihdr{
BYTEi_type;//类型发出的ICMP为8(ICMP_ECHO_REQUEST),接受到的ICMP为0
BYTEi_code;//代码
USHORTi_cksum;//ICMP包校验和
USHORTi_id;//识别号(一般用进程号作为标识号)
USHORTi_seq;//报文序列号(一般设置为0)
ULONGtimestamp;//时间戳
}IcmpHeader;
USHORTchecksum(USHORT*,int);/
您可能关注的文档
- 唐传奇与俗讲.ppt
- 美国联邦快递物流经营模式分析报告.doc
- 同李十一醉忆元九.pptx
- 因为你真好---洛杉矶真理堂Truth-Evangelical-ChurchOF-….ppt
- 周三多管理学-第十二激励.ppt
- 组合图形的面积练习题.doc
- 团队建设-团队四戒.ppt
- 苏州邻里中心.doc
- 苏教版小学二年级数学下册第7单元角的认识练习一.doc
- 美丽乡村建设项目施工组织方案.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
最近下载
- 西北工业(大学)数学分析历年考研试题.pdf
- 《Unit 4 Fun with numbers》教学设计外研版(三起)(2024)小学英语三年级上册.docx VIP
- 135战法55种方法图解(宁俊明版).docx VIP
- 小学生主题教育班会 不挑食我最棒 课件(共27张PPT).pptx VIP
- 工贸企业重大事故隐患判断标准解读培训课件.pdf
- 上海市2023年高考语文模拟题汇编-阅读与鉴赏(现代文阅读).doc
- 中国居民膳食指南2022全文.pdf
- 2024年《消费者权益保护法实施条例》全文解读PPT课件.pptx
- 商业商户店铺装修手册.doc
- 新人教版英语七年级上册全册课件(2024年新教材).pptx
文档评论(0)