46 linux bash performance networking ping
制约因素:
1.速度很重要.
我被允许ping一次.
我在争论是否使用Python或shellcripting.有没有比这更快的方法bash?
这是当前的代码,
for ip in $(seq int1 int2); do
ping -c 1 xxx.xxx.xxx.$ip | grep "bytes from" &
done
Run Code Online (Sandbox Code Playgroud)
还有什么比这更快的?
Rom*_*aza 75
您应该使用NMAP:
nmap -T5 -sP 192.168.0.0-255
Run Code Online (Sandbox Code Playgroud)
Mik*_*obe 33
以下(恶意)代码的运行速度比nmap方法快两倍
for i in {1..254} ;do (ping 192.168.1.$i -c 1 -w 5 >/dev/null && echo "192.168.1.$i" &) ;done
Run Code Online (Sandbox Code Playgroud)
需要大约10秒,标准的nmap
nmap -sP 192.168.1.1-254
Run Code Online (Sandbox Code Playgroud)
需要25秒......
Sun*_*pta 12
试试这个唯一的列表.
ping -c 5 -b 10.10.0.255 | grep 'bytes from' | awk '{ print $4 }' | sort | uniq
另一种方法(获取实时主机):
fping -ag 192.168.1.0/24
小智 5
尝试这两个命令,看看为什么 arp 更快:
对于 $(seq 1 254) 中的 ip;做 ping -c 1 10.185.0.$ip > /dev/null; [$? -eq 0 ] && echo "10.185.0.$ip UP" || :; 完毕
对于 $(seq 1 254) 中的 ip;做 arp -n 10.185.0.$ip | grep地址;[$? -eq 0 ] && echo "10.185.0.$ip UP" || :; 完毕