linux 局域网探测

2021年10月26日讲师:李晓辉浏览:46次

linux 局域网探测 笔者:李晓辉 如果我们身为工程师或网络管理员,那么我们肯定遇到过这样的情况,我们临时要用到某个Ip地址,或我们要知道192.168.1.0这个网络中所有的地址哪个被用掉了,你会怎么做呢?还有,你要检测一堆服务器中哪个服务器是正常运行的,哪个已经Down掉了。一个服务器一个服务器去查?噢no!!!这是个什么样的工作量啊!!关键是这样做太繁琐,下面我们来看个实例,用脚本快速探测一段网络中哪个服务器是正常运行的,哪个是Down掉了的。 下图就是我们扫描所需要的代码了 我们来解释一下 for num in {1..100}这个还是一个赋值语句,num等于1到100 host=192.168.2.$num这个的意思是 host=192.168.2.1……192.168.2.100 ping -c2 $host &>/dev/null这个就更简单了,ping -c2是说ping两次$host地址($host等于192.168.2.1.。。100),然后不管通了没有,全部重定向到null,就是说丢弃 if [$?=0]; then echo "$host is UP" else echo "$host ip Down" fi done 这个的意思就是说,如果$?=0,那么显示$host is up,这里的$host就是指单个的了,如果$?不等于0,那么显示$host is down 其他的好理解,那什么叫$?,这是个神马玩意儿?? $?是linux中的一个对于上次执行结果的一个反馈,如果上次执行时成功的,那$?就是0,如果不成功,就是1,我们来试试 如下图,我们执行了ls命令,成功的显示了/下的文件,那么$?就是0 我们再来看这个,ping 10.0.0.1是不通的,没执行成功,那$?就是1 好了,理解完我们来运行一下
分享 0

您已经赞过了!