LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1112|回复: 10

怎样写脚本,用ping命令测试一个网段的主机谁在线?

[复制链接]
发表于 2005-11-29 17:17:28 | 显示全部楼层 |阅读模式
如测试10.11.46.0/24段。感觉并不难,自己写,却。。。。大家帮我吧!
 楼主| 发表于 2005-11-29 17:47:10 | 显示全部楼层
我是这样做的:
       #!/bin/sh
       for loop in 1 2 3 4 5 221 173 236
       do
        if ping -c2 10.11.46.$loop >/dev/null 2>&1
          then
          echo "Host 10.11.46.$loop is online"
        fi
       done
                                             
                                                                  
如果想测试整个一个网段,应该怎样写呢?
回复 支持 反对

使用道具 举报

发表于 2005-11-29 17:51:06 | 显示全部楼层
我觉得这样做不现实。
回复 支持 反对

使用道具 举报

发表于 2005-11-29 19:47:52 | 显示全部楼层
用nmap -sP xxx.xxx.xxx.0/24不就可以了吗
还简单
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-29 20:48:38 | 显示全部楼层
看来使用for语句不可能实现,使用while语句很容易就实现了:
[PHP]#!/bin/sh
i=0
while [ $i -le 254 ]
do
i=`expr $i + 1`
if ping 10.11.46.$i -c 1  >/dev/null 2>&1;then
echo "HOST 10.11.46.$i is online"
fi
done[/PHP]
回复 支持 反对

使用道具 举报

发表于 2005-11-29 21:16:16 | 显示全部楼层
ping 10.11.46.$i -c 1 这个TEST语句 如何知道真假???
回复 支持 反对

使用道具 举报

发表于 2005-11-30 16:50:26 | 显示全部楼层
Post by dacheng
看来使用for语句不可能实现,使用while语句很容易就实现了:
[PHP]#!/bin/sh
i=0
while [ $i -le 254 ]
do
i=`expr $i + 1`
done[/PHP]

  1. for ((i=0;i<=254;i++))
  2. do
  3.        ..........
  4. done
复制代码
回复 支持 反对

使用道具 举报

发表于 2005-11-30 18:38:01 | 显示全部楼层

  1. [No.13 18:42:59 ~ ]# for ip in {1..254}; do fping 10.3.51.$ip 2> /dev/null | grep "alive"; done
  2. 10.3.51.1 is alive
  3. 10.3.51.2 is alive
  4. 10.3.51.3 is alive
  5. .............................

  6. [No.14 18:43:19 ~ ]# echo $BASH_VERSION
  7. 3.00.16(1)-release

复制代码
回复 支持 反对

使用道具 举报

发表于 2005-11-30 22:38:38 | 显示全部楼层
Post by huan

  1. [No.13 18:42:59 ~ ]# for ip in {1..254}; do fping 10.3.51.$ip 2> /dev/null | grep "alive"; done
  2. 10.3.51.1 is alive
  3. 10.3.51.2 is alive
  4. 10.3.51.3 is alive
  5. .............................

  6. [No.14 18:43:19 ~ ]# echo $BASH_VERSION
  7. 3.00.16(1)-release

复制代码

Awesome! Thanks for sharing.
回复 支持 反对

使用道具 举报

发表于 2005-12-1 09:50:38 | 显示全部楼层
用广播地址试试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表