一、fping命令简介
fping是一个ping命令的增强版。ping命令用于测试与目标主机的连通性,但是有一些限制,比如ping命令只能测试一台主机,不能同时测试多台主机。而fping命令则可以支持多台主机同时测试,可以快速的探测一个ip地址范围内有哪些主机在线,这对于网络管理员来说是非常有用的。
二、fping命令的安装和基本用法
安装fping非常简单,只需要使用包管理器或从源码进行编译安装即可。下面是fping的基本用法:
fping [-a|-A|-g|-G|-n|-r|-s|-S|-t|-u] [-c count] [-i interval] [-l] [-p timeout] [-b (size|addr)] [-B fwait] [-T ttl] [-Q flag] [targets...]
上述命令中,targets为待测试的ip地址或域名列表,可以使用以下的方式指定:
target -f file, --file=file CIDR notation: ip/netmask hostname range notation: name[start-end]
三、fping命令选项详解
1、-a
使用-a选项可以列出在线的主机,将响应的ip地址列出。
fping -a 192.168.1.0/24
上述命令将探测192.168.1.0/24网段内的所有主机,列出在线的主机。
2、-c
使用-c选项可以指定ping每个目标的次数。
fping -c 5 192.168.1.1
上述命令将对192.168.1.1进行5次ping测试。
3、-g
使用-g选项可以探测一个ip地址范围内的在线主机。
fping -g 192.168.1.0 192.168.1.255
上述命令将探测192.168.1.0到192.168.1.255的ip地址范围内的所有主机,并列出在线的主机。
4、-i
使用-i选项可以指定探测的间隔时间。
fping -i 1000 192.168.1.1
上述命令将对192.168.1.1进行ping测试,每隔1000ms进行一次。
5、-n
使用-n选项可以禁用DNS反向解析,加快探测速度。
fping -n 192.168.1.1
上述命令将对192.168.1.1进行ping测试,禁用DNS反向解析。
四、fping命令高级用法
1、测试域名列表
fping命令不仅可以测试ip地址,也可以测试域名。
cat domain.txt | fping -a -f -
上述命令从文件domain.txt读取域名列表,fping逐个进行测试,并列出在线的域名。
2、测试网段内的在线主机
fping命令可以测试一个网段内的所有在线主机。
for ip in $(seq 1 255); do fping -c 1 192.168.1.$ip 2>/dev/null | grep 'alive'; done
上述命令将测试192.168.1.1到192.168.1.255的所有ip地址,并列出在线ip地址。
3、通过fping测试ssh端口是否开放
fping命令可以配合nc命令测试端口是否开放。
for ip in $(seq 1 255);do fping -c 1 192.168.1.$ip 2>/dev/null | grep 'alive' && nc -v -w 1 192.168.1.$ip 22 >/dev/null && echo "192.168.1.$ip: ssh port is open";done
上述命令将测试192.168.1.1到192.168.1.255范围内所有在线主机,如果22端口开放,则输出“192.168.1.x: ssh port is open”
总结
fping命令是一个非常强大的网络工具,可以快速的探测多个目标主机,帮助网络管理员快速的了解网络的情况。