dos windows linux 下用脚本/批处理ping一个网段内的所有机器

dos windows linux 下用脚本/批处理ping一个网段内的所有机器

dos/windows的命令行/批处理
for /l %p in (1,1,254) do @ping 192.168.1.%p -n 1 |find "reply from" /i

在dos窗口执行上面的批命令,就会显示出所有开机的ping结果.
如果显示ping不通的所有结果,则命令为:
for /l %p in (1,1,254) do @ping 192.168.1.%p -n 1 |find "request timed out" /i

如果要ping IP地址范围为(192.168.1.30~192.168.1.60),则命令改为.

for /l %p in (30,1,60) do @ping 192.168.1.%p -n 1 |find "reply from" /i

如果把上面的命令写入批处理文件(.bat,.cmd)中,要在%前再加一个%,如下:
rem myping.bat
for /l %%p in (1,1,254) do @ping 192.168.1.%%p -n 1 |find "reply from" /i

linux下的命令/脚本:
1,可以用ping -b 广播地址;

2,用脚本实现:
    #!/bin/sh
    ip=1 #通过修改初值及下面的判断条件实现ping任一段的ip
    while [ $ip != "254" ]; do
      ping 192.168.1.$ip -c 1 |grep "bytes from 192.168.1.$ip"
      ip=`expr "$ip" "+" "1"`
    done
 
高级一点的如下:
for /l %i in (1,1,255) do @ping -n 1 -w 40 192.168.1.%i & if errorlevel 1 (echo 192.168.1.%i>>na.txt) else (echo 192.168.1.%i>>act.txt)

回车,将自动探测192.168.1.X网段的ip响应情况. 现在是假设你的电脑属于192.168.1.X网段某一部.

存活的保存在 act.txt,不通的在 na.txt;
根据实际改改 -n 1 -w 40 的参数,以达到精准。

还有个高级应用:

@for /l %i in (1,1,65535) do @ping -n 1 -w 40 192.168.%i & if errorlevel 1 (echo 192.168.%i>>na.txt) else (echo 192.168.%i>>act.txt)

原文:PING一个网段内的所有机器


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值