Kali Linux 教程:主机存活探测工具-ping、fping 作者:马育民 • 2026-09-28 18:49 • 阅读:10003 # 介绍 快速找出网段内开机、在线的主机,是渗透测试信息收集第一步。 # 1. ping 批量探测原理与实操 ### 原理 `ping` 底层使用 **ICMP 协议**(Internet控制报文协议),发送 ICMP Echo Request(类型8)数据包;目标主机在线且防火墙不拦截ICMP时,会回复 ICMP Echo Reply(类型0),以此判断主机存活。 ### 缺点 1. 单条ping一次只能扫1个IP;批量需要shell循环; 2. 目标开启防火墙禁ICMP时,ping探测会误判主机离线。 ### 实操 #### ① 单个IP ping测试 ```bash ping 192.168.1.100 -c 2 ``` `-c 2`:发送2个包后停止(Linux ping默认持续发包,不会自动停) #### ② Shell循环批量ping(扫描网段 192.168.1.0/24) ```bash for i in {1..254}; do ping -c 1 -W 1 192.168.1.$i >/dev/null 2>&1 && echo "192.168.1.$i 存活"; done ``` 参数解释: - `{1..254}`:遍历主机位1~254 - `-c 1`:每个IP只发1个ICMP包 - `-W 1`:超时时间1秒,防止卡住 - `>/dev/null 2>&1`:屏蔽ping输出,只打印存活IP > 特点:原生自带,无需额外安装;速度慢,串行扫描。 --- # 2. fping 批量IP探测工具使用 ### 原理 fping 是 ping 的增强批量工具,同样基于ICMP协议。 和shell循环ping最大区别:**并发发包,不是串行**,扫描速度远快于for循环ping。 工作方式:一次性向多个IP发送ICMP请求,等待回包;不等待单个IP超时结束才下一个。 ### 1. 扫描网段192.168.1.0/24 ```bash fping -a -g 192.168.1.1 192.168.1.254 ``` 参数: - `-g`:generate,生成IP范围 - `-a`:只输出存活主机IP ### 2. 读取IP列表文件扫描 新建ip.txt,每行一个IP ```txt 192.168.1.1 192.168.1.10 192.168.1.100 ``` ```bash fping -a < ip.txt ``` ### 3. 调整超时、并发数量 ```bash fping -a -g 192.168.1.1 192.168.1.254 -t 500 -r 1 ``` - `-t 500`:超时500ms - `-r 1`:重试次数1次 缺点:依赖ICMP,目标防火墙屏蔽ICMP则探测不到;优势:速度快,输出干净。 --- 原文出处:/show_1GW48OSWDVHV.html