fping
作用:向网络主机发送 ICMP ECHO_REQUEST 数据包
(资料图)
是一个小型命令行工具,用于向网络主机发送ICMP ( Internet控制消息协议 )回应请求,类似于ping,但在ping多个主机时性能要高得多。 fping完全不同于ping,可以在命令行上定义任意数量的主机,或者指定包含要ping的IP地址或主机列表的文件
Fping 官网原文:
fping is a program to send ICMP echo probes to network hosts, similar to ping, but much better performing when pinging multiple hosts. fping has a very long history: Roland Schemers did publish a first version of it in 1992 and it has established itself since then as a standard tool for network diagnostics and statistics.
fping是一个向网络主机发送ICMP回声探测的程序,类似于ping,但在ping多个主机时性能要好得多。fping有着悠久的历史:Roland Schemers确实在1992年发布了它的第一个版本,从那时起,它就成为了网络诊断和统计的标准工具。
命令
fping -h
Usage: fping [options] [targets...]
Probing options:
-4, --ipv4 only ping IPv4 addresses
-6, --ipv6 only ping IPv6 addresses
-b, --size=BYTES amount of ping data to send, in bytes (default: 56)
-B, --backoff=N set exponential backoff factor to N (default: 1.5)
-c, --count=N count mode: send N pings to each target
-f, --file=FILE read list of targets from a file ( - means stdin)
-g, --generate generate target list (only if no -f specified)
(give start and end IP in the target list, or a CIDR address)
(ex. fping -g 192.168.1.0 192.168.1.255 or fping -g 192.168.1.0/24)
-H, --ttl=N set the IP TTL value (Time To Live hops)
-I, --iface=IFACE bind to a particular interface
-l, --loop loop mode: send pings forever
-m, --all use all IPs of provided hostnames (e.g. IPv4 and IPv6), use with -A
-M, --dontfrag set the Don't Fragment flag
-O, --tos=N set the type of service (tos) flag on the ICMP packets
-p, --period=MSEC interval between ping packets to one target (in ms)
(in loop and count modes, default: 1000 ms)
-r, --retry=N number of retries (default: 3)
-R, --random random packet data (to foil link data compression)
-S, --src=IP set source address
-t, --timeout=MSEC individual target initial timeout (default: 500 ms,
except with -l/-c/-C, where it's the -p period up to 2000 ms)
Output options:
-a, --alive show targets that are alive
-A, --addr show targets by address
-C, --vcount=N same as -c, report results in verbose format
-d, --rdns show targets by name (force reverse-DNS lookup)
-D, --timestamp print timestamp before each output line
-e, --elapsed show elapsed time on return packets
-i, --interval=MSEC interval between sending ping packets (default: 10 ms)
-n, --name show targets by name (reverse-DNS lookup for target IPs)
-N, --netdata output compatible for netdata (-l -Q are required)
-o, --outage show the accumulated outage time (lost packets * packet interval)
-q, --quiet quiet (don't show per-target/per-ping results)
-Q, --squiet=SECS same as -q, but add interval summary every SECS seconds
-s, --stats print final stats
-u, --unreach show targets that are unreachable
-v, --version show version
-x, --reachable=N shows if >=N hosts are reachable or not
解释
-4,——ipv4只有ping ipv4地址
-6,——ipv6只有ping ipv6地址
-b,——size=要发送的ping数据量,以字节为单位(默认值:56)-B,——backoff=N设置指数backoff因子为N(默认值:1.5)计数模式:发送N个ping到每个目标-f,——file=从文件中读取目标的文件列表(-表示stdin)生成目标列表(仅当没有指定-f时)(在目标列表中给出开始和结束IP,或者一个CIDR地址)(例如:fping -g 192.168.1.0 192.168.1.255或fping -g 192.168.1.0/24)-H,——ttl=N设置IP ttl值(活跳时间)-I,——iface= iface绑定到一个特定的接口-l,——loop loop模式:永远发送ping信号-m,——所有使用提供的主机名的所有ip(例如IPv4和IPv6),与-A一起使用-M,——不要设置“不要分割”标志设置ICMP包上的服务类型(tos)标志-p,——period= ping包到一个目标之间的MSEC间隔(单位:ms)(in loop and count mode,默认:1000 ms)-r,——重试=N次重试(默认:3次)-R,——随机分组数据(到箔链接数据压缩)-S,——src=IP设置源地址-t,——timeout=MSEC单个目标初始超时(默认:500 ms,除了-l/-c/ -c,其中-p周期为2000 ms)输出选项:显示有生命的目标
-A, -addr显示目标地址-C,——vcount=N与-C相同,以详细格式报告结果在每个输出行之前打印时间戳-e,——elapsed显示返回数据包消耗的时间-i,——interval=发送ping包之间的MSEC间隔(默认值:10 ms)-n,——name按名称显示目标(-d等效)-N,——netdata输出兼容netdata (-l -Q是必需的)-o,——中断显示累计中断时间(丢失包*包间隔)-q,——非常非常(不要显示每个目标/每个ping的结果)-Q,——squiet=秒数,与-Q相同,但每n秒显示摘要-s,——stats打印最终的stats显示无法达到的目标-v,——版本显示版本-x,——可达=N表示>=N个主机是否可达
-a show targets that are alive
显示可ping通的目标
-A show targets by address
将目标以ip地址的形式显示
-b n amount of ping data to send, in bytes (default 56)
ping 数据包的大小。(默认为56)
-B f set exponential backoff factor to f
设置指数反馈因子到f 【这个不懂,求指教~】
-c n count of pings to send to each target (default 1)
ping每个目标的次数 (默认为1)
-C n same as -c, report results in verbose format
同-c, 返回的结果为冗长格式
-e show elapsed time on return packets
显示返回数据包所费时间
-f file read list of targets from a file ( - means stdin) (only if no -g specified)
从文件获取目标列表( - 表示从标准输入)(不能与 -g 同时使用)
-g generate target list (only if no -f specified)
生成目标列表(不能与 -f 同时使用)
(specify the start and end IP in the target list, or supply a IP netmask)
(ex. fping -g 192.168.1.0 192.168.1.255 or fping -g 192.168.1.0/24)
(可指定目标的开始和结束IP, 或者提供ip的子网掩码)
(例:fping -g 192.168.1.0 192.168.1.255 或 fping -g 192.168.1.0/24)
-H n Set the IP TTL value (Time To Live hops)
设置ip的TTL值 (生存时间)
-i n interval between sending ping packets (in millisec) (default 25)
ping包之间的间隔(单位:毫秒)(默认25)
-l loop sending pings forever
循环发送ping
-m ping multiple interfaces on target host
ping目标主机的多个网口
-n show targets by name (-d is equivalent)
将目标以主机名或域名显示(等价于 -d )
-p n interval between ping packets to one target (in millisec)
对同一个目标的ping包间隔(毫秒)
(in looping and counting modes, default 1000)
(在循环和统计模式中,默认为1000)
-q quiet (don't show per-target/per-ping results)
安静模式(不显示每个目标或每个ping的结果)
-Q n same as -q, but show summary every n seconds
同-q, 但是每n秒显示信息概要
-r n number of retries (default 3)
当ping失败时,最大重试次数(默认为3次)
-s print final stats
打印最后的统计数据
-I if bind to a particular interface
绑定到特定的网卡
-S addr set source address
设置源ip地址
-t n individual target initial timeout (in millisec) (default 500)
单个目标的超时时间(毫秒)(默认500)
-T n ignored (for compatibility with fping 2.4)
请忽略(为兼容fping 2.4)
-u show targets that are unreachable
显示不可到达的目标
-O n set the type of service (tos) flag on the ICMP packets
在icmp包中设置tos(服务类型)
-v show version
显示版本号
targets list of targets to check (if no -f specified)
需要ping的目标列表(不能和 -f 同时使用)
-h show this page
显示本帮助页
实战
探测目标主机是否存活(ipv4)
fping -4 192.168.1.1
192.168.1.1 is alive
ping一个网段
fping -g 192.168.43.1/24 192.168.43.1 is alive ICMP Host Unreachable from 192.168.43.200 for ICMP Echo sent to 192.168.43.3
Fping多个IP地址
· 以下命令将同时显示多个IP地址,它将显示状态为活动或无法访问
· fping 50.116.66.139 173.194.35.35 98.139.183.2450.116.66.139 is alive173.194.35.35 is unreachable98.139.183.24 is unreachable
Fping IP地址范围
· 以下命令将指定指定范围的IP收件人。 使用以下输出,我们将响应请求发送到IP地址范围并获得我们想要的回复。 退出后还显示累积结果。
· fping -s -g 192.168.0.1 192.168.0.9192.168.0.1 is alive192.168.0.2 is aliveICMP Host Unreachable from 192.168.0.2 for ICMP Echo sent to 192.168.0.3ICMP Host Unreachable from 192.168.0.2 for ICMP Echo sent to 192.168.0.3ICMP Host Unreachable from 192.168.0.2 for ICMP Echo sent to 192.168.0.3ICMP Host Unreachable from 192.168.0.2 for ICMP Echo sent to 192.168.0.4192.168.0.3 is unreachable192.168.0.4 is unreachable8 9 targets2 alive2 unreachable0 unknown addresses4 timeouts (waiting for response)9 ICMP Echos sent2 ICMP Echo Replies received2 other ICMP received0.10 ms (min round trip time)0.21 ms (avg round trip time)0.32 ms (max round trip time)4.295 sec (elapsed real time)
使用不同选项填充完整网络
· 使用上述命令,它将ping整个网络并重复一次( -r 1 )。 抱歉,无法显示该命令的输出,因为它在没有时间的情况下向上滚动屏幕。
· fping -g -r 1 192.168.0.0/24
从文件中读取目标列表
· 我们创建了一个名为fping.txt的文件,其IP地址( 173.194.35.35和98.139.183.24 )到fping。
· fping < fping.txt173.194.35.35 is alive98.139.183.24 is alive
显示Fping版本
· 执行命令检查Fping版本。
· fping -vfping: Version 4.0fping: comments to [email protected]