|
ping命令是我们检查网络中最常用的命令,作为网络人员,基本上每天都会用到,可以很好地帮助我们分析和判定网络故障,如果有10设备,100台设备,1000台设备怎么办?一个个ping过去人都要疯掉了,这种情况在大型网络中我们有可能遇到,那怎么办呢?我们今天来看下。7 r6 x; W9 C2 [/ l
( I3 k9 U9 e# s0 u一、批量ping网段8 t2 L! M0 P$ o( o
6 Z$ c. y* E7 j! L% T对于一个网段ip地址众多,如果单个检测实在麻烦,那么我们可以直接批量ping网段检测,那个ip地址出了问题,一目了然。
% U* J( b8 L c: l
+ {, M+ c; N: c, q先看代码,直接在命令行窗口输入:" L U6 [' }, L! P* A. A- e
7 V) O) S2 O% m. W
for /L %D in(1,1,255) do ping 10.168.1.%D
) d# @5 [" g# J: D7 l( n; }" t& t8 H! \! @7 q! S/ y K
IP地址段修改成你要检查的IP地址段。: {/ t) a2 i' ^' y) k# F6 d
$ T, G5 [: [+ A0 ^' j& l6 F5 r, }
$ P* y5 L/ c7 g4 V" P
1 |8 w; K' ? z: @( o# N( s1 ?0 |& n. w: _* H' t
当输入批量命令后,那么它就自动把网段内所有的ip地址都ping完为止。
% @7 ^7 k6 ^7 S# C- L
6 w+ {- a: i$ J' s8 t那么这段“for /L %D in(1,1,255) do ping 10.168.1.%D” 代码是什么意思呢?! k A8 w. _* d( g# q9 R
" y9 X- z6 a7 E+ e2 e
代码中的这个(1,1,255)就是网段起与始,就是检测网段192.168.1.1到192.168.1.255之间的所有的ip地址,每次逐增1,直接到1到255这255个ip检测完为止。+ d- R4 t/ w. p( j! h
& R# P& J2 ?; ?9 E3 }
二、批量ping网段命令升级& F q' t8 |: D/ y( k
: l8 k) W# G8 K: |" B
上面的命令虽然能批量ping 地址,但是上面代码在命令行窗口显示数量多的时候看起来也很麻烦,那么我们再升级一下,用下面的代码。- T6 g7 i" g) ?( ^0 B
, i u- T6 K, a9 F& W0 [
for /L %D in(1,1,255) do ping -n 10.168.1.%D >>a.txt
9 d3 h2 k- H" B% ^# F3 p& B$ S# W" T! z" U2 v; ~
说明,ip地址是变的,你填你需要测的ip网段就行,a.txt也是变的,可以自已设置名称。
8 l E3 \2 J) v$ s9 o7 @( c1 i/ i+ o, V; ?3 ^" u% m6 f! j
这样就会把结果导入的a.txt文件中,全部IP检查完成后打开a.txt搜索“TTL=”包含它的就是通的地址,没有包含“TTL=”的地址就是不通的。如下图- |# h, O6 L. s! [9 v
8 w9 U# x" u. _5 }1 u
7 F5 \: ?: s# U" y2 R S* Y* f1 N. |, D
" i' z1 s5 D' z, F! N' f: Y) K
. V: Y( ~4 b( p0 [
' h: V! ~. U0 V7 R; R打开后,就直接搜索没TTL的就可以了。
f' J, E* h& U. @% M, i% X
9 Z3 k! `7 N* G0 C; Q0 x三、批量ping网段命令再升级* _9 P' k1 d" C; g' r* F+ m. d
% ~( ?( T, Q6 C9 \$ @/ W8 c很多人要说了这样还要搜索,也不是太方便,需要这样查来查去,那么我们再看下,是否有更简便的方法呢?9 W7 k* v# J4 _ q3 o2 ~) D
' J: s% Y! c, d0 ^0 |% h5 ~8 b$ n答案肯定是有的,我们来看代码。
2 {& _+ i; J( y1 W* f9 v' a# g+ k2 y M/ l
for /l %D in(1,1,255) do (ping 192.168.1.%D -n 1 && echo 192.168.1.%D>>ok.txt|| echo 192.168.1.%D >>no.txt)
# r! [- q$ E1 v7 e1 n
- x/ Y7 r2 F" X8 X( U; C这段代码会将ping通的IP和不通的IP分别放到两个文件里面,这样是不是很方便啦,如下图:
+ d5 u9 D0 m9 K. `* @6 t8 @! M1 c; r
7 ^" A6 I- Y: ?3 o
3 t4 L: e# } v4 m
) _% I- [; x* |: O$ [这段代码非常实用,在大网络中可以用到,就是大家在输入的时候需要细心,不过也没有关系,可以直接把这个文章收藏,日后要用,直接复制里面代码,然后改下里面ip地址就行了。
& m6 M4 p, z$ y: h; Q; L5 @! ]' a4 {% n/ A
四、批量ping网段命令终极方法
4 I: L3 p6 ^: \0 I* r# I% M9 t& P
- r! t; P* Q( o: Y }上面提到的三种代码提到的都是针对同一个网段内ip地址批量检测,那么肯定在实际项目中,也可能存不同网段的ip地址需要同时检测,那么怎么办呢?6 D* y0 x3 J7 @0 M" f
, n+ X% g' O! s
也有方法,可以把没有规划的ip地址同时批量检测,我们来看下代码:
$ P2 e6 t. E3 B) b. o
# ~. x9 N/ S! T0 O- `- G; mfor /f %D in (ip.txt)do (ping %D -n 1 && echo %i>>ok.txt || echo %D >>no.txt)
0 j, v* v" \8 E9 l/ Z: l5 e! E# B) z- O3 T. Q$ o. }
看见没有多了一个ip.txt文件,这个文件是要你自己准备的哦,把你ping的地址写到这个文件里面,代码会自己读取这个文件里面的ip地址,并且把结果放到两个文件里面去。这里就不给大家截图了与上图差不多。
- R& x* [* k# B3 f9 m( [) |2 v( N! p* c0 e+ K) D- m
这里面补充下:
$ `) L7 i* a/ l% H! K9 A- ?3 b3 A; Q" q# ^. @& N% Y8 j
上面代码生成的文件在你命令行默认目录下也就是说如果你的命令行状态是"c:\windows\system32>"那么生成的文件就在系统的system32目录下面。如果是"c:\"那么文件就在C盘根目录下。这个可以根据自己的实际情况进行调整。 |
|