bash小脚本来检测存活主机,一点小杂记
前期测试
ping一下,从返回结果中我们需要提取其中的ip

先分三步,第一使用grep命令查找符合条件的字符串,第二使用cut指定显示什么区位,第三使用sed取代末位的分号
1 2 3 4 5 6 7 8
| root@kali:~# ping -c 1 192.168.197.2 | grep "64 bytes" 64 bytes from 192.168.197.2: icmp_seq=1 ttl=128 time=0.607 ms
root@kali:~# ping -c 1 192.168.197.2 | grep "64 bytes" | cut -d " " -f 4 192.168.197.2:
root@kali:~# ping -c 1 192.168.197.2 | grep "64 bytes" | cut -d " " -f 4 | sed 's/.$//' 192.168.197.2
|
接下来写一个循环
1
| for ip in $(seq 1 254); do ping -c 1 192.168.197.2 | grep "64 bytes" | cut -d " " -f 4 | sed 's/.$//' & done
|

bash小脚本
开始编写
1 2 3 4 5 6 7 8 9 10
| #! /bin/bash if [ "$1" == "" ] then echo "Usage: ./ping.sh [network]" echo "Example: ./ping.sh 192.168.197" else for ip in $(seq 1 254);do ping -c 1 $1.$ip | grep "64 bytes" | cut -d " " -f 4 | sed 's/.$//' & done fi
|
执行效果

结果出来后直接输入到一个列表,调用nmap之类的工具进行探测,如下
