计算机网络与Internet课程设计-发现网络在中活动主机(代码+报告).doc

计算机网络与Internet课程设计-发现网络在中活动主机(代码+报告).doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机网络与Internet课程设计-发现网络在中活动主机(代码报告)

目 录 一 设计目的 1 二 设计要求 1 三 概要设计 2 3.1 设计原理 2 3.2 数据结构设计 2 3.1.1.IP头部数据结构 2 3.1.2.ICMP头部数据结构 3 3.3 系统流程图 3 3.3.1.主流程图 3 3.3.2.子流程图 5 四 详细设计 6 4.1.ICMP报文分析 6 4.2.程序功能分析 7 4.2.1使用原始套接字 7 4.2.2定义IP头部和ICMP头部数据结构 7 4.2.3填充并发送请求类型的ICMP报文 7 4.2.4解析数据包 9 五 测试结果 10 5.1.测试中遇到的问题 10 5.2.测试结果 10 六.总结与体会 11 七.致谢 11 八.参考文献 12 附录及源代码 12 发现网络中的活动主机 一 设计目的 IP协议的优点是简单,但缺少差错控制和查询机制,而网际控制报文协议(ICMP具有补充IP功能的作用。在网络管理中,常常要确定当前网络在红处于活动状态的主机,这时可以通过ICMP的回送和回送响应消息来完成这项工作。这课程设计的目的就是编制程序,利用ICMP数据包,发现网络中的活动主机,即ping消息的请求和应答。通过课程设计,熟悉ICMP报文的结构,对ICMP协议有更好的理解和认识,培养综合运用网络知识解决实际问题能力。 二 设计要求 设计程序,其功能是发送ICMP数据包,以获取指定望段中的活动主机,并将结果显示在标准输出设备上程序的具体要求如下: 1.用命令形式运行 scanhost为程序名;start_ip为被搜索网段;end_ip为被搜索网段的结束IP地址。如在命令行输入 scanhost 192.168.0.1 192.168.0.100 2.输出格式 活动主机1的IP地址 活动主机2的IP地址 活动主机 n的IP地址 三 概要设计 3.1 设计原理 本程序使用的原始套接字生成ICMP请求/应答报文来进行活动主机的探查。这个程序使用的是回送请求和应答消息。程序的大致思想是把ICMP的数据报类型设置为回送请求,将它发送给网络上的一个IP地址,如果这个IP地址已经被占用的话,那么使用位于这个IP地址的主机上的TCP/IP软件就能接受到这个ICMP回送请求,从而返回一个ICMP回送请求(类型号为0)信息。信息封装在一个IP包中,我们需要解析该IP包,从中找到ICMP数据信息,相反,如果这个IP地址没有人使用,那么发送的ICMP回送请求在设定的延时内就不可能得到响应。 3.2 数据结构设计 3.1.1.IP头部数据结构 typedef struct iphdr{ unsigned int headlen:4; //ip头长度 unsigned int wersion:4; //ip版本号 unsigned char tos; //服务类型 unsigned short totallen; //ip包总长度 unsigned short id; //ip号 unsigned short flag; //标记 unsigned char ttl; //生存时间 unsigned char prot; //协议(UDP TCP) unsigned short checksum; //校验和 unsigned int sourceip; //源ip unsigned int destip; //目的ip }IpHeader; 3.1.2.ICMP头部数据结构 typedef struct icmphdr{ BYTE type; //icmp类型码,回送请求的类型码为8 BYTE code; //子类型码,保存与特定ICMP报文类型相关的细节信息 USHORT checksum; //校验和 USHORT id; //ICMP报文id号 USHORT seq; //ICMP数据报的序列号 }Icmpheader; 3.3 系统流程图 3.3.1.主流程图 (图1) 3.3.2.子流程图(图2)

您可能关注的文档

文档评论(0)

bodkd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档