课程设计报告-发现网络中的活动主机

课程设计报告-发现网络中的活动主机

ID:18298627

大小:142.00 KB

页数:17页

时间:2018-09-16

课程设计报告-发现网络中的活动主机_第1页
课程设计报告-发现网络中的活动主机_第2页
课程设计报告-发现网络中的活动主机_第3页
课程设计报告-发现网络中的活动主机_第4页
课程设计报告-发现网络中的活动主机_第5页
资源描述:

《课程设计报告-发现网络中的活动主机》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、发现网络中的活动主机目录一、课程设计的目的和意义……………………………………………2二、课程设计的内容和要求……………………………………………2三、课程设计的相关技术………………………………………………2四、课程设计过程………………………………………………………44.1、使用原始套接字…………………………………………………………44.2、定义IP头部和ICMP头部的数据结构…………………………………54.3、填充并发送回送请求类型的ICMP报文………………………………54.4、解析数据包…………………………………

2、……………………………74.5、程序流程图………………………………………………………………7五、程序运行结果………………………………………………………10六、课程设计小结………………………………………………………10参考文献………………………………………………………………11附录源代码……………………………………………………………12一、程设计的目的和意义IP协议的优点是简洁,但缺少差错控制和查询机制,而网际控制报文协议(ICMP)具有补充IP功能的作用。在网络管理中,常常要确定当前网络中处于活动状态的主机,这时

3、可以通过使用ICMP的回送和回送响应消息来完成这项工作。本课程设计的目的就是编制程序,利用ICMP数据包,发现指定网段中的活动主机。通过课程设计,使学生更加熟悉ICMP报文的结构,对ICMP协议有更好的理解和认识。二、程设计的内容和要求设计程序,其功能是发送ICMP数据包,以获取指定网段中的活动主机,并将结果显示在标准输出上。程序的具体要求如下:1)用命令行形式运行:scanhostStart_IPEnd_IP其中scanhost为程序名;Start_IP为被搜索网段的开始IP地址;End_IP为被搜索网段的结束

4、IP地址。2)输出格式为:活动主机1活动主机2……三、课程设计的相关技术编制程序前首先要对ICMP报文的格式有一定的了解,ICMP报文是在IP数据报内部传输的,其结构如图10-1所示。IP数据报IP首部ICMP报文图10-1ICMP封装在IP内部078151631(位)类型字段代码字段校验和字段(不同类型和代码有不同内容)图10-2ICMP报文ICMP报文的格式如图10-2所示。所有报文的前4个字节都是一样的,但是其它字节则互不相同。其中类型字段可以有15个不同的值,以描述特定类型的ICMP报文,某些ICMP报文

5、还使用代码字段的值来进一步描述不用的条件。按验和字段为2字节,校验的范围是整个ICMP报文。检验和是必须的,其计算方法与IP协议头部校验和的计算方法一样。各种类型的ICMP报文如图10-3所示(ICMP报文类型),不同类型由报文中的类型字段和代码字段来共同决定。类型代码描述00回送响应(PING应答)3目的不可达0网络不可达1主机不可达2协议不可达3端口不可达4需要进行分片但设置了禁止分片比特5源主机选择路由失败6无法识别目的网络7无法识别目的主机8源主机被隔离9目的网络被禁止10目的主机被禁止11由于服务类型(

6、TOS),网络不可达12由于服务类型(TOS),主机不可达13由于过滤,通信被强行禁止14主机越权15优先权终止生效40源端被关闭(基本流控制)5重定向0对网络重定向1对主机重定向2对服务类型和网络重定向3对服务类型和主机重定向80回送请求(PING请求)90路由器通告100路由器请求11超时0传输期间生存期减为01数据报组装期间生存期减为012参数问题0各种IP头部错误1缺少必须的选项130时间戳请求140时间戳应答150信息请求(已作废)160信息应答(已作废)170地址掩码请求180地址掩码应答10-3IC

7、MP报文类型本课程设计的目的是发现网络中的活动主机,就是使用ICMP的回送和回送响应消息发现网络中的活动主机,即Ping消息的请求和应答。那幺,发送的ICMP的数据包类型设置为回送请求(类型号为8)。四、课程设计过程本程序使用原始套接字生成ICMP报文来进行活动主机的探查。这个程序使用的是回送请求与应答消息。程序的大致思想是把ICMP的数据包类型设置为回送请求,将它发送给网络上的一个IP地址,如果这个IP地址已经被占用的话,那幺使用位于这个IP地址的主机上的TCP/IP软件就能够接收到这个ICMP回送请求,从而返

8、回一个ICMP回送响应(类型号为0)信息。信息封装在一个IP包中,我们需要解析该IP包,从中找到ICMP数据信息。相反,如果这个IP地址没有人使用,那幺发送的ICMP回送请求在设定的延时内就不可能得到响应。在初始化原始套接字之后,本程序就要开始在一个IP网段内寻找活动主机。因为要寻找的主机可能很多,为节省时间可以采用多线程编程。下面接结合核心代码对程序的具体实现进行讲解,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。