转载自:http://linuxperf.com/?cat=4
Linux系统上的网络工具甚多,如何根据实际需要选择称手的工具呢?在此作一个简单介绍:
观察网络流量:
- “sar -n DEV 1 5” 可以统计每个网卡上的网络流速:
|
1
2
3
4
5
6
7
|
# sar -n DEV 2 5
.
s
0.00
0.00
.
|
- iptraf 是观察网络流速的强力工具,它可以让你的观察逐步深入,从硬件层(网卡),到网络层(IPv4,IPv6),到传输层(TCP,UDP etc.),一直到每一对socket pair。
观察网络连接的状态:
- “netstat -a“
这是传统的工具,但是它无力处理海量的网络连接。所以在大规模网络连接的主机上,建议使用ss。
|
1
2
3
4
5
6
7
|
# netstat -a
)
State
LISTEN
.
ESTABLISHED
|
- “ss -a” 列出所有的网络连接。ss特别适合海量连接的主机。
如果加上”-p”选项,还可以显示对应的进程号。
|
1
2
3
4
5
6
7
|
# ss -a
Port
.
52681
|
观察静态统计值:
- “netstat -i“
|
1
2
3
4
5
|
# netstat -i
table
Flg
BMRU
LRU
|
- ifconfig 可以看到网卡层面的少量统计值,packet数量,collision,errors等:
|
1
2
3
4
5
6
7
8
9
10
|
# ifconfig eth0
255.255.252.0
Link
1
0
0
1000
)
f0520000
|
- “ip -s link” 看到的信息基本类似:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# ip -s link
UNKNOWN
00
collsns
1000
ff
16733497
collsns
0
|
- “netstat -s” 提供了各个协议下的统计信息,有些统计值比如retransmit是很有用的,只有 “netstat -s” 能看到:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# netstat -s
.
:
openings
openings
attempts
received
established
received
out
retransmited
.
sent
.
retransmits
retransmits
start
timeouts
failed
.
|