Chinaunix

标题: ping高级用法:懒网管们的福音 [打印本页]

作者: ffaatt    时间: 2003-06-19 19:48
标题: ping高级用法:懒网管们的福音
在这个论坛潜水很久,收益匪浅,一直没做过什么贡献。
今天看到一个ping用法的帖子,也想把自己平时的一些ping命令用法给大家
分享一下。
    ping命令结合dos批处理能做很多事,对我等懒惰的系统管理员们尤其
有用。

一.基础级:局域网ping命令用法

1.改变ping的基本设置  
  ping命令缺省要重复4次,等待时间也比较长,这用于广域网比较合适,
在局域网判断一个ip是否存在,一般只要ping 1次足够,而且timeout时间
完全可以在100ms以内。

我在自己的PC上建立一个批处理pin.bat代替缺省的ping设置:

@rem pin.bat Createdby Zheng Xiaohui
@ping -n 1 -l 16 -w 100  %1 %2 %3 %4 %5

这命令比缺省的ping快很多,后面加%1等是为了接受命令行参数,这是为了
下面的扩展用法准备的。

2.单个网段内的懒人ping
如果你象我一样懒,可以把自己局域网的网络号也写死在批处理文件p.bat里:

@rem p.bat Createdby Zheng Xiaohui
call pin 192.168.1.%1 %2 %3 %4 %5

比如你的mail服务器是192.168.1.2,那么只要输 p 2 即可。
如果你有多个网段,可以在dos环境变量里设一下子网号。

3.游戏玩家的终极懒人ping

  如果你的internet 网络连接需要经常检查,可以做一个批处理文件,再把它的
快捷方式放在桌面上,定义一个快捷键。这样你在做任何工作时,随时可以看
一下网络是否通,只要敲一个组合键,而不是要打开dos窗口,输好几条命令,
再关掉此窗口。(当你打网络游戏中突然网络断掉,这时候你需要最快速度确定
网关是否能ping到)

  这里要用一个技巧,就是dos命令返回值 %ERRORLEVEL%,当dos命令执行成功时,一般来说环境变量%ERRORLEVEL%会赋值0,失败则为1,我们利用这个方法,让脚本自己逐级查找网络连接问题。

@rem pinggw.bat Createdby Zheng Xiaohui
@echo off

ping -n 1 192.168.1.1 |find "Reply"
rem 如果这一步成功说明到本地网关的连接没有问题。
if %ERRORLEVEL%==1 goto end

ping -n 1 202.96.199.133 |find "Reply"
rem 这是上海电信局的DNS,如果这一步成功说明到本地ISP的连接没有问题。
if %ERRORLEVEL%==1 goto end

ping -n 1 www.163.com |find "Reply"
rem 如果这一步成功说明本地ISP和internet连接没有问题,而且DNS没有问题。

:end
rem pause
sleep 2
exit

sleep 2 停下2秒钟让你看清楚,然后自己exit退出,不要麻烦你关窗口。
注意:sleep是windows2000 资源包的扩展命令,如果没有装就用pause代替吧。

二. 网络管理员常用ping命令技巧
1.入门级:网络连接监视日志
  我在一个项目里碰到交换机连接不稳定的情况,每天会随机中断几分钟,
为了捕捉这个问题,做一个带时间显示的批处理文件pingtime.bat:

@rem pingtime.bat Createdby Zheng Xiaohui
@echo off
echo "Begin ----------------------------"
rem time <cr.txt |find "current"
time /t
pin %1 %2 %3 %4 %5 | find "Reply"
rem sleep 10

其中显示时间命令有两个版本,在windows2000上用time/t 命令即可,
在win98上,要在当前目录下创建只有一个空回车的cr.txt文件。

然后再做一个批处理文件来循环调用pingtime.bat并写入日志:

@rem pinglog.bat Createdby Zheng Xiaohui
@echo off
:begin
call pingtime 192.168.1.1>;>;pingtime.log
goto begin

2.中级:搜索当前网段内的所有活动ip

  缺乏良好管理的网络(我们大多数人的实际环境),网管经常搞不清
有多少机器在运行,或者已经有多少个ip正在使用。
  如何在5分钟内拿到一个列表?只要一条dos命令即可:

@rem pingall.bat Createdby Zheng Xiaohui
@for /L %%A in (1,1,254) do pin 192.168.1.%%A |find "Reply">;>; pingall.log

顺便说一句,windows2000的dos命令做了很多扩展,虽然比unix shell还差
很多,可是已经能做一些复杂的脚本,而且在网络方面还有netsh命令集,值得好好研究。

3.变态用法:搜索当前网段内所有的ip地址/mac对照表

  首先我们做一个批处理,ping 1个ip地址,如果有reply,就调用arp -a命令,查看当前arp缓存里的ip-mac列表,并且再用dos筛选命令find找出当前目标ip地址。

@rem arplist.bat Createdby Zheng Xiaohui
@echo off
call pin %1 | find "Reply">;nul
if %ERRORLEVEL%==0 goto arplist
goto end
:arplist
arp -a |find "%1"
:end

然后用类似上一节的方法做一个子网ip地址循环脚本来调用arplist.bat。

@rem arpall.bat Createdby Zheng Xiaohui
@for /L %%A in (1,1,254) do arplist 192.168.1.%%A >;>; arpall.log

注意:这个脚本不太完善,比如用192.168.1.1过滤arp表时,192.168.1.1**都会输出,而且不能处理本机ip,所以做好后要手工修改一下。
作者: answer    时间: 2003-06-19 21:16
标题: ping高级用法:懒网管们的福音
好,设为原创精华 ~~
作者: jentlaw    时间: 2003-06-20 00:27
标题: ping高级用法:懒网管们的福音
好,收了
作者: sdccf    时间: 2003-06-20 06:23
标题: ping高级用法:懒网管们的福音
不错!
作者: quicksand    时间: 2003-06-20 08:22
标题: ping高级用法:懒网管们的福音
比较好玩,又时间试试
作者: 凝嫣    时间: 2003-06-20 08:28
标题: ping高级用法:懒网管们的福音
大家都说不错,那就不错!
作者: ycy    时间: 2003-06-20 08:45
标题: ping高级用法:懒网管们的福音
用得着这么麻烦吗?随便找一个网管软件,很多功能都有了。
作者: alphaliu    时间: 2003-06-20 09:07
标题: ping高级用法:懒网管们的福音
收到
作者: forrestrun    时间: 2003-06-20 11:15
标题: ping高级用法:懒网管们的福音
好文章!
作者: ffaatt    时间: 2003-06-20 11:16
标题: ping高级用法:懒网管们的福音
>;     用得着这么麻烦吗?随便找一个网管软件,很多功能都有了。

哈哈,我标题上特意写明是懒网管用的。
理由有3:
1.即使能用网管软件做的事,我们懒人还是喜欢用脚本,显得比较酷。而且针对某个具体问题,往往是脚本的效率高。
网管软件擅长用来做深入的管理分析,可是有几个网管这么认真呀。

2.脚本用起来方便,随时随地手写几行即可,网管软件没有这么随处可得,运行起来消耗资源也厉害,往往装在专门的网管工作站上,用起来不方便。

3.我做过的网络项目,几乎都会给客户配Ciscoworks或者Optivity、Openview之类,但是我也几乎从来没有见过客户用它做日常管理(一般只用来做设备配置等),包括一些大客户如电信也是如此。因此,我只好做一套脚本给他们用。

前几天在客户那里碰到IBM一个兄弟教客户用Tivoli备份数据,他叫客户不要用图形界面,而是编写脚本来做数据备份、恢复,客户学得很起劲,我想想很滑稽。
作者: thinkeryy    时间: 2003-06-20 11:49
标题: ping高级用法:懒网管们的福音

作者: snowwave    时间: 2003-06-20 13:02
标题: ping高级用法:懒网管们的福音
谢谢,我收了
作者: dasen    时间: 2003-06-20 14:17
标题: ping高级用法:懒网管们的福音
试了一下,收了.
作者: ccbdlwd    时间: 2003-06-20 14:26
标题: ping高级用法:懒网管们的福音
有时间试一试,先谢谢了。
作者: 流动海洋    时间: 2003-06-20 16:01
标题: ping高级用法:懒网管们的福音
GOOD
作者: cutegirl    时间: 2003-06-20 18:24
标题: ping高级用法:懒网管们的福音
COOL;
作者: nycjy    时间: 2003-06-20 18:41
标题: ping高级用法:懒网管们的福音
中级用法 & 变态最好玩,顶!!!!!
作者: nycjy    时间: 2003-06-20 19:07
标题: ping高级用法:懒网管们的福音
中级 & 变态很是有用!顶!!!!
作者: dahoo    时间: 2003-06-20 21:08
标题: ping高级用法:懒网管们的福音
ding
作者: 小跑    时间: 2003-06-22 16:51
标题: ping高级用法:懒网管们的福音
强!!
作者: feiunix    时间: 2003-06-23 10:45
标题: ping高级用法:懒网管们的福音
[quote]原帖由 "answer"]好,设为原创精华 ~~[/quote 发表:
     

同意。 :wink:
作者: flybirdxp    时间: 2003-06-23 10:48
标题: ping高级用法:懒网管们的福音
不错!:)
作者: bluecode    时间: 2003-08-04 16:34
标题: ping高级用法:懒网管们的福音
very good
作者: wwwbin    时间: 2003-08-26 19:42
标题: ping高级用法:懒网管们的福音
有时间试一试!
作者: studio99    时间: 2003-08-27 09:25
标题: ping高级用法:懒网管们的福音
收下,新手请多指教
作者: wzhdxdx    时间: 2003-09-04 13:39
标题: ping高级用法:懒网管们的福音
现在就试~!
作者: zhanlonger    时间: 2003-09-13 17:22
标题: ping高级用法:懒网管们的福音
利害啊




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2