如何在Linux上批量ping某个网段检查连通性
所以本期龙哥就与大家分享如何在linux服务器上写个脚本,实现批量去ping某个网段,然后一次性显示哪些IP是通的?哪些是不通的?这样,我们就可以节约大量的时间,去把妹了,告别单身狗的命运。
一、环境准备
为了模拟某个IP网段,我这里利用了ENSP模拟器,因为在模拟器上我想用多少台电脑,就用多少!
linux服务器:我使用是VMware虚拟机,IP地址配置为192.168.75.130.(其实就是使用我之前跟大家分享过安装zabbix服务器的那台虚拟机而已,具体可以查看往期文章)
然后进行与ESNP桥接,如下:
8台PC的IP地址分配如上图,配置这里以PC1为例:
都配置完后,可以在linux服务器上,随便ping几个地址,都是局域网,正常都可以ping 通的。
二、编写脚本
使用 vim /opt/ping.sh 命令,进行创建sh后缀名的文件和编写脚本:
然后 键盘上按一下‘i’,进入编辑模式:
[root@localhost ~]# vim /opt/ping.sh #!/bin/bash . /etc/init.d/functions for var in {10..25}; do ip=192.168.75.$var ping -c2 $ip >/dev/null 2>&1 if [ $? = 0 ];then action "$ip" /bin/true else action "$ip" /bin/false fi done
脚本写完后,按一下键盘的“esc”,然后输入 ‘:wq’ 即,保存退出。
设置一下创建脚本的文件权限:
[root@localhost ~]# chmod 755/opt/ping.sh
三、执行脚本,观察结果
使用sh 命令 来执行shell文件脚本:
[root@localhost ~]# sh /opt/ping.sh 192.168.75.10 [FAILED] 192.168.75.11 [ OK ] 192.168.75.12 [ OK ] 192.168.75.13 [ OK ] 192.168.75.14 [FAILED] 192.168.75.15 [FAILED] 192.168.75.16 [ OK ] 192.168.75.17 [ OK ] 192.168.75.18 [FAILED] 192.168.75.19 [FAILED] 192.168.75.20 [ OK ] 192.168.75.21 [ OK ] 192.168.75.22 [FAILED] 192.168.75.23 [FAILED] 192.168.75.24 [FAILED] 192.168.75.25 [ OK ] [root@localhost ~]#
然后你就可以把结果复制一下,粘贴到excel:
然后分列一下:
这样就网段和结果就分成两列了:
前面再插入一行,写个网段和连通性,然后还可以设置一下 筛选:
这样就可以清晰知道有多少个不通?多少个通了?