第二类:诊断工具 6 _( Z, j* |( s4 M8 P9 X; L/ U
1.ping
" n3 Y6 @+ o$ \' S& T6 F ping是一个最常用的检测是否能够与远端机器建立网络通讯连接。它是通过Internet控制报文协议ICMP来实现的。而现在有些主机对ICMP进行过滤,在这种特殊的情况下,有可能使得一些主机Ping不通,但能够建立网络连接。这是一种特例,在此事先说明。 3 r0 Z) z% G; S
同样的,在此不罗列ping命令的所有可选参数,而是通过实例来说明一些常用的组合,需要更详细地了解的,可以通过www.linuxaid.com.cn网站在线培训的命令查询工具获得。 b) R4 a( M* d- P3 p
1) 检测与某机器的连接是否正常:
4 i6 x. R! e" r' N9 i& @7 }0 { ping 192.168.0.1
5 W2 W( P% Q( c2 U( @5 M0 Q) X' D3 v ping www.linuxaid.com.cn
- G6 J) F% x W2 m; E 也就是说,我们可以用IP地址或域名来指定机器。
4 U, i( D: h4 x. s 2) 指定ping回应次数为4:
9 N& L' Z1 y7 w 在Linux下,如果你不指定回应次数,ping命令将一直不断地向远方机器发送ICMP信息。我们可以通过-c参数来限定:ping -c 4 192.168.0.1
' f$ {( o9 o4 Y: O* u% @+ r- o 3) 通过特定的网卡进行ping:
8 p+ l' Y* J% P9 n: Q, i) ` 有时,我们需要检测某块网卡(系统中有多块)能否ping通远方机器。我们需要在执行ping命令时指出:
7 I* F+ {7 M, y2 N4 H. Z4 x& [* R ping -I eth0 192.168.0.1
, U- E/ t) X0 g( O- l 2.traceroute
6 e! B8 v/ N9 u 如果你ping不通远方的机器,想知道是在什么地方出的问题;或者你想知道你的信息到远方机器都经过了哪些路由器,可以使用traceroute命令。顾名思义:trace是跟踪,route是路由,也就是跟踪路由。 # W U$ v0 K3 x/ a, x& }
使用这个命令很简单:
& h) O) x: U- y, n* Z$ W! m. M. ` traceroute 远程主机IP地址或域名
! u, U/ z p0 \5 T1 Q" W 这个命令的输出类似:
X& {; ?" O8 x: W1 S 1 路由器(网关)的IP地址 访问所需时间1 访问所需时间2 访问所需时间3 . a/ p" A* Y n- _; A. f
2 路由器(网关)的IP地址 访问所需时间1 访问所需时间2 访问所需时间3
f- o: z# D5 G0 @' X8 z ………
" P5 m$ b# ^' U- H3 H 1) 最前面的数字代表“经过第几站”;
# s- ^. M) y3 S2 K0 Q6 H; h 2) 路由器(网关)的IP地址就是“该站”的IP地址;
. E( G/ ]% g1 h, R 3) 访问所需时间1、2、3是指访问到这个路由器(网关)需要的时间。</p> 3.netstat
& @, M+ q6 V9 K' \/ G- F. m 在Linux系统中,提供了一个功能十分强大的查看网络状态的工具:netstat。它可以让您得知整个Linux系统的网络情况。
* L+ m( r y \& A6 V. o 1)统计出各网络设备传送、接收数据包的情况:
6 h/ P1 p1 {$ N3 e 使用命令:netstat -i + C3 u0 n/ G, k1 e! X3 s, F0 w
这个命令将输出一张表,其中包括:
: F n1 N# ]3 X+ o6 k9 u# K$ h. b( X7 R Iface:网络接口名 MTU:最大传输单元
7 {. a$ h3 e1 T* @! Z& y2 F2 B; Y& G1 f RX-OK:共成功接收多少个包 RX-ERR:接收的包中共有多少个错误包 T6 G$ l6 x2 v- u
RX-DRP:接收时共丢失多少个包 RX-OVR:共接收了多少个碰撞包 7 L9 s( ^8 x# B) ~4 l6 N
TX-OK:共成功发送多少个包 TX-ERR:发送的包中共有多少个错误包
4 L! U# \0 i7 W( y5 X& c/ Z* N; Z6 y) G# L TX-DRP:发磅时共丢失多少个包 TX-OVR:共接收了多少个碰撞包 ) X8 i$ @. i% P& J* t1 [8 d
2)显示网络的统计信息 % N4 f7 r% r) l- _2 u5 X) _! Y: M
使用命令:netstat -s
: N% r# o9 N3 N; c 使用这个命令,将会以摘要的形式统计出IP、ICMP、TCP、UDP、TCPEXT形式的通信信息。
+ Q6 o4 B% J& f+ n. x3 o. l 3)显示出TCP传输协议的网络连接情况: + g) H4 M7 n9 N! f* V2 l% V& G
使用命令:netstat -t
# K9 |, g: v" e. b 这个命令的输出也是一张表,其中包括:
* Z. o+ Y0 X L) k: U: C Local Address:本地地址,格式是IP地址:端口号 ( ?, A0 i3 E( q! k- V& A
Foreign Address:远程地址,格式也是IP地址:端口号
9 \; E D$ I& F# M/ z State:连接状态,包括LISTEN、ESTABLISHED、TIME_WAIT等。 2 ^# Z; p- o3 s6 H, ~
4)只显示出使用UDP的网络连接情况:
6 \2 D+ a( m( t. H. A" C l4 K0 T 使用命令:netstat -t
/ R6 T5 R$ y, y k9 U 输出格式也是一样的。
- I* [* b; u' h6 D5 C 5)显示路由表:
3 @. A2 Q6 t. f' x 使用命令:netstat -r 5 O2 h* I0 z6 z9 B$ e( J0 x& M6 h
这个命令的输出与route命令的输出相同。 |