主机发现
【实训目的】
掌握主机扫描的工作原理,学会使用ping等扫描工具,发现网络当中活跃的主机。
【场景描述】
在虚拟机环境下配置4个虚拟系统“Win XP1” “Win XP2” “Kali Linux”和“Metasploitable2”,使得4个系统之间能够相互通信。实训均在如图1所示场景中实现。
图1 网络拓扑
【实训步骤】
(1)在Kali Linux主机的终端中分别输入命令“ping 192.168.0.1” 和“192.168.0.2”,测试这两台主机是否活跃,如图2所示。
结果表示,Kali Linux主机能发现Win XP1主机是活跃的,而由于Win XP2开启了防火墙,把ICMP数据包过滤掉,所以不能发现Win XP2主机是活跃的。
图2 使用ping
(2)在Kali Linux主机的终端中分别输入命令“arping -c 3 192.168.0.1”和“arping -c 3 192.168.0.2”,测试这两台主机是否活跃,“-c”选型表示发送数据包的数量,如图3所示。
图3 使用arping
结果表明,arping是使用arp request进行测试的,能很好的穿透防火墙,但它只能在直连网络中使用,不能跨网络。
(3)由于ping命令可以用来判断某一主机是否是活跃的,但是逐一ping其中的每一台潜在的计算机是非常低效的。ping扫描是自动发送一系列ping数据包给某一范围内的IP地址,而无须手动逐一输入目标主机。执行ping扫描最简单的方法是使用工具fping。Fping使用ICMP ECHO一次请求多个主机,对整个网络进行快速扫描。
输入命令“fping -s -r 1 -g 192.168.0.1 192.168.0.10”扫描网络中活跃的主机,“-s”选型表示显示最终结果,“-r”选型设置尝试次数,“-g”选型设置扫描范围,如图4所示。
图4 使用fping
(4)在Kali Linux主机的终端中输入命令“nmap -v -n -sP 192.168.0.0/24”,扫描网络中活跃的主机。“-v”选项表示提高输出信息的详细度,显示全部输出结果;“-n”选型表示用DNS域名解析,加快扫描速度;“-sP”选型表示只利用ping扫描进行主机发现,不进行端口扫描,如图5所示。
图5 使用Nmap
结果表明,用Nmap进行主机扫描速度快,而且能穿透防火墙,是比较可靠的扫描器。
【实训知识点】
1.主机扫描原理:
主机扫描的核心原理是发送请求并观察响应。当进行主机扫描时,扫描工具会向目标主机发送请求,通常是探测数据包,然后等待主机的响应。如果主机响应了请求,它被视为活跃。主机扫描的目的是识别网络上的活跃主机,以便进行管理、监视或安全评估。
2.ICMP协议:
Internet控制消息协议(ICMP)是TCP/IP协议套件的一部分,用于在IP网络中传递控制和错误消息。Ping是ICMP的一种应用,用于测试主机的可达性。Ping请求(Echo请求)会发送到目标主机,如果目标主机在线,它将返回Echo响应,证实主机是活跃的。
3.ARP协议:
地址解析协议(ARP)用于在IPv4网络中将IP地址映射到MAC地址,以便在局域网中正确路由数据包。ARP工作原理是通过广播ARP请求来查找目标主机的MAC地址,然后将数据包发送到该地址。ARP协议用于解决局域网上的主机之间的通信。
4.防火墙:
防火墙是一种网络安全设备或软件,用于监控、筛选和控制网络流量。它可以根据事先定义的规则来允许或阻止数据包的传输。防火墙可配置为保护网络免受未经授权的访问和网络攻击,通过过滤端口、IP地址和应用程序来实现这一目标。
5.扫描工具:
网络扫描工具是用于执行不同类型的网络扫描和探测任务的软件或工具。例如,Ping工具用于测试主机是否在线,Nmap用于进行更广泛的主机和端口扫描,Wireshark用于网络流量分析。这些工具提供了网络管理员和安全专家进行不同类型的网络评估所需的功能。
6.网络拓扑:
网络拓扑描述了网络中设备和主机之间的连接方式。拓扑可以是物理拓扑(如星型、总线型)或逻辑拓扑(如逻辑网状拓扑)。在虚拟机环境中,网络拓扑配置可以用于模拟网络环境,以进行测试和实验。
7.命令行工具:
命令行工具是通过命令行界面(终端或命令提示符)执行的实用程序。在网络和信息安全领域,命令行工具通常用于执行各种任务,如配置网络参数、执行扫描操作、查看系统日志等。这些工具通常提供更多的灵活性和控制。
8.主机发现技术:
主机发现是一组方法,用于确定哪些主机在网络中是活跃的。Ping扫描通过发送Ping请求来测试主机的可达性。ARP扫描使用ARP请求来查找局域网中的主机。TCP和UDP扫描用于确定主机上运行的服务。不同的技术适用于不同的网络环境和需求。