查看某网段服务器存活状态

方法一:使用Linux下的nmap命令

nmap是Linux,FreeBSD,UNIX,Windows下的网络扫描和嗅探工 具包,其基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操 作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。

 

例如:

nmap -sP -n 172.16.2.0/24 | cut -d" " -f2 | awk '/172/' | sort 

列出了这个网段存活的ip

 

参考:http://dev.firnow.com/course/3_program/shell/shelljs/20100527/205583.html

#!/bin/bash

# FILE: IpSearch.sh
#
# USAGE: ./IpSearch.sh
#
# DESCRIPTION: Use nmap to search ip lively

oldpwd=`pwd`
cd /home/xulei

`nmap -sP -n 173.26.100.0/24 | cut -d" " -f2 | awk '/173/' | sort > new.173`
if [ -e "database.173" ];then
  comm new.173 database.173 | awk '{sub(/^[[:blank:]]*/,"",$0);print $0}' > tmp.173
  rm new.173
  mv tmp.173 database.173
else
  mv new.173 database.173
fi
PWD=$oldpwd
把这个shell加进crontab
:~$ crontab -e
# m h  dom mon dow   command
* */1   *   *   *    /home/xulei/IpSearch.sh

方法二:使用ping命令 根据返回值判断

#!/bin/bash

ping -q -c 1 192.168.1.116 -W 2
if (( $? == 1 )) ;
then
echo "192.168.1.116 is unlively"

else

echo "192.168.1.116 is lively"
fi

方法二需要改进添加这个网段的循环

参考:http://infaq.51099.com/chengxusheji/Shell/200809/29-12275.html

你可能感兴趣的:(linux,网络,服务器,command,search,FreeBSD)