发现网络中的活动主机--计算机网络课程设计..doc
文本预览下载声明
计算机网络课程设计
一、设计内容及设计要求
1.1课程设计内容:
利用ICMP数据包,通过使用ICMP的回送和回送响应消息来确定当前网络中处于活动状态的主机,即ping消息的请求和应答,将发送的ICMP的数据包类型设置为回送请求(类型号为8),并显示在标准输出上。用命令行形式运行:scanhost Start_IP End_IP,其中scanhost为程序名;Start_IP为被搜索网段的开始IP;End_IP为被搜索网段的结束IP地址。
1.2课程设计目的:
IP协议的优点是简单,但缺少差错控制和查询机制,而网际控制报文协议(ICMP具有补充IP功能的作用。在网络管理中,常常要确定当前网络在红处于活动状态的主机,这时可以通过ICMP的回送和回送响应消息来完成这项工作。这课程设计的目的就是编制程序,利用ICMP数据包,发现网络中的活动主机,即ping消息的请求和应答。通过课程设计,熟悉ICMP报文的结构,对ICMP协议有更好的理解和认识,培养综合运用网络知识解决实际问题能力。
1.3课程设计要求:
设计程序,其功能是发送ICMP数据包,以获取指定望段中的活动主机,并将结果显示在标准输出设备上程序的具体要求如下:
1.用命令形式运行
scanhost为程序名;start_ip为被搜索网段;end_ip为被搜索网段的结束IP地址。如在命令行输入 scanhost 192.168.0.1 192.168.0.100
2.输出格式
活动主机1的IP地址
活动主机2的IP地址
活动主机 n的IP地址
二、总体设计
2.1设计原理
首先对ICMP报文的格式有一定的了解,ICMP报文是在IP数据报内部传输的,其结构如图所示:
IP数据报
IP首部 ICMP报文
ICMP报文的格式如图所示:
0 7 8 15 16 31(位)
类型字段 代码字段 校验和字段 (不同类型和代码有不同内容)
所有报文的前4个字节都是一样的,但是其它字节则互不相同。其中类型字段可以有15个不同的值,以描述特定类型的ICMP报文,某些ICMP报文还使用代码字段的值来进一步描述不用的条件。按验和字段为2字节,校验的范围是整个ICMP报文。检验和是必须的,其计算方法与IP协议头部校验和的计算方法一样。
各种类型的ICMP报文如图所示(ICMP报文类型),不同类型由报文中的类型字段和代码字段来共同决定。
类 型 代 码 描 述 0 0 回送响应(PING应答) 目的不可达
网络不可达
主机不可达
协议不可达
端口不可达
需要进行分片但设置了禁止分片比特
源主机选择路由失败
无法识别目的网络
无法识别目的主机
源主机被隔离
目的网络被禁止
目的主机被禁止
由于服务类型(TOS),网络不可达
由于服务类型(TOS),主机不可达
由于过滤,通信被强行禁止
主机越权
优先权终止生效 4 0 源端被关闭(基本流控制) 5 重定向
对网络重定向
对主机重定向
对服务类型和网络重定向
对服务类型和主机重定向 8 0 回送请求(PING请求) 9 0 路由器通告
10 0 路由器请求 超时
传输期间生存期减为0
数据报组装期间生存期减为0 参数问题
各种IP头部错误
缺少必须的选项 13 0 时间戳请求
14 0 时间戳应答 15 0 信息请求(已作废)
16 0 信息应答(已作废)
17 0 地址掩码请求
18 0 地址掩码应答
课程设计的目的是发现网络中
显示全部