[原创]测试一个局域网(公司内网)IP段的IP通或者不通shell脚本 – 21运维
通知: .-...

[原创]测试一个局域网(公司内网)IP段的IP通或者不通shell脚本

linux 21运维 2112浏览 0评论

这个是之前学习shell的时候自己写的,后边也有朋友学shell问过我个人当时的思路,简单就将自己的思路给他说了下,实际不仅仅是这一个方式,还有其他方式实现。这里仅记录当时自己学shell时的思路:
思路如下:

1,确定一个变量,定下是哪个c段,这里以一个c段的IP为例,当然也可以测试多个ip段。比如192.168.1
2,确定一个变量存放ip段后边的主机地址,指定1–254
3,由步骤1、2确定一个完整的IP地址段,进行一个循环ping。ping只获取两个数据包。将ping通的地址输入到一个文件,不通的输出到一个文件。

简单代码如下:

#!/bin/bash
#test  ip 192.168.1.x
#author:21yunwei

seq 1 254 >ip.txt
ip_c="192.168.1"
cat ip.txt | while read  n
do
ping ${ip_c}.$n -c 2 >/dev/null
[  $? -eq 0 ] && echo "${ip_c}.$n is ok">>yes.txt  ||  echo  "${ip_c}.$n is error" >> no.txt
done

执行完结果如下:

[[email protected]]# tail -5  yes.txt 
192.168.1.247 is ok
192.168.1.248 is ok
192.168.1.249 is ok
192.168.1.252 is ok
192.168.1.253 is ok
[[email protected]]# tail -5  no.txt 
192.168.1.224 is error
192.168.1.225 is error
192.168.1.250 is error
192.168.1.251 is error
192.168.1.254 is error

这里仅做抛砖引玉,更好的实现方式可以自己想下。

转载请注明:21运维 » [原创]测试一个局域网(公司内网)IP段的IP通或者不通shell脚本

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址