fping 作为一款强大的网络工具,能够同时向多个主机发送 ICMP 回声请求,相较于传统的 ping 命令,在处理大量主机时具有显著优势。
一、fping 简介
fping 是 “fast pinger” 的缩写,它可以向一系列 IP 地址发送 ICMP 回声请求。与标准的 ping 程序不同,fping 能够以并行化的方式工作,在发送 ping 请求时无需等待每个请求的响应,而是以 “轮询” 的方式持续发送,直到所有请求发送完毕或达到设定的条件。这种异步操作模式使得 fping 在处理大量主机时,性能远远优于传统的 ping 命令,大大提高了网络检测的效率。
二、下载 fping
官方网站:fping首页
三、fping指令
参数 | 说明及示例 |
---|---|
-a | 仅显示可 ping 通的目标 示例: fping -a 192.168.1.1-10 (扫描 192.168.1.1 到 10 中可连通的主机) |
-A | 以 IP 地址形式显示目标(而非主机名) 示例: fping -A www.baidu.com (显示百度服务器的 IP 而非域名) |
-b <num> | 设置每个 ICMP 数据包的大小(字节),默认 56 示例: fping -b 100 192.168.1.1 (发送 100 字节的 ping 包) |
-B <f> | 设置指数退避因子(默认 1.5),失败后等待时间按该因子递增 示例: fping -B 2 192.168.1.1 (每次失败后等待时间翻倍) |
-c <num> | 指定对每个目标的 ping 次数(默认 1) 示例: fping -c 3 192.168.1.1 (对该 IP 发送 3 次 ping 请求) |
-C <num> | 同 - c,但返回每个主机的详细统计(含每次响应时间) 示例: fping -C 2 www.google.com (显示 2 次 ping 的详细耗时) |
-e | 显示返回数据包的往返时间(毫秒) 示例: fping -e 192.168.1.1 (输出类似 “192.168.1.1 is alive (1.23 ms)”) |
-f <file> | 从文件读取目标列表(不可与 - g 同用,“-” 表示标准输入) 示例: fping -f hosts.txt (扫描 hosts.txt 中列出的所有目标) |
-g | 生成 IP 范围目标列表(支持起止 IP 或 CIDR) 示例 1: fping -g 192.168.1.1 192.168.1.5 (扫描 1-5 的 IP)示例 2: fping -g 192.168.1.0/24 (扫描整个 C 类网段) |
-i <num> | 设置 ping 之间的间隔时间(毫秒,默认 25) 示例: fping -i 500 -g 192.168.1.0/24 (每 500 毫秒发送一次 ping) |
-l | 循环发送 ping(持续不断) 示例: fping -l 192.168.1.1 (一直 ping 该 IP,直到手动终止) |
-m | ping 目标主机的多个网络接口 示例: fping -m 192.168.1.1 (若目标有多个网卡,会 ping 所有接口) |
-n | 以主机名 / 域名显示目标(与 - d 等价) 示例: fping -n 110.242.68.66 (显示该 IP 对应的域名) |
-p <num> | 对同一目标的 ping 间隔(毫秒,循环 / 统计模式默认 1000) 示例: fping -l -p 2000 192.168.1.1 (每 2 秒对该 IP 发一次 ping) |
-q | 安静模式,不显示单个结果,仅输出汇总 示例: fping -q -g 192.168.1.0/24 (只显示总存活 / 不可达数量) |
-Q <num> | 同 - q,但每 n 秒显示一次统计概要 示例: fping -Q 10 -l 192.168.1.1 (每 10 秒显示一次 ping 统计) |
-r <num> | 目标无响应时的重试次数(默认 3) 示例: fping -r 5 192.168.1.1 (失败后重试 5 次) |
-s | 显示最终统计信息(总发包数、丢包率等) 示例: fping -s www.github.com (输出含耗时、丢包率的统计) |
-t <num> | 单个目标的超时时间(毫秒,默认 500) 示例: fping -t 2000 203.0.113.1 (超时设为 2 秒,适合远距离主机) |
-u | 仅显示不可达的目标 示例: fping -u 192.168.1.1-20 (列出 1-20 中无法 ping 通的 IP) |
-v | 显示 fping 版本信息 示例: fping -v (输出类似 “fping: version 5.1”) |