使用 iftop 监控您的网络是一项简单的任务,它显示了主机的当前带宽使用情况表。iftop在列表顶部显示负责最多通信量的主机,这使得识别导致网络拥塞的主机更加容易。
Iftop 输出显示过去 2 秒、10 秒和 40 秒内发送和接收的数据的数据传输率。
本文提供了 iftop 的概述、安装说明、示例使用示例和 iftop 的屏幕截图。
IFTOP概述
- iftop (interface top) 从标准的 unix top 命令派生出这个名字。top 命令显示实时 CPU 使用率。iftop 命令显示实时网络带宽使用情况。
- iftop 显示主机上特定接口的网络使用情况。
- 使用 iftop,您可以确定哪个主机导致网络速度变慢。
- 要找出导致问题的进程,请记下 iftop 中的端口号并使用 netstat -p 来识别进程。
- iftop 监控您的网络活动,并显示当前带宽表。
下载iftop
从iftop 网站下载源代码。
# cd /usr/src
# wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz
安装iftop
# cd /usr/src
# gzip -d iftop-0.17.tar.gz
# tar xvf iftop-0.17.tar
# cd iftop-0.17
# ./configure
# make
# make install
iftop 用法
默认的 iftop 命令显示第一个以太网设备的带宽使用情况。
# iftop
您还可以使用 -i 选项指定特定接口,如下所示。
# iftop -i eth0
在 iftop 运行时,您可以按以下任一键来显示更多输出。
S - display source port
D - display destination port
n - show IP instead of host name
1/2/3 - sort by the specified column
< - sort by source name
> - sort by dest name
P - pause display ( else it will be often updated to show the current status )
j/k - scroll display
? - for help
如果您从非 root 帐户执行 iftop,您将收到以下错误消息。
$ /usr/sbin/iftop -i eth0
interface: eth0
IP address is: 192.168.1.111
MAC address is: 00:44:ab:ab:10:11
pcap_open_live(eth0): socket: Operation not permitted
iftop 配置文件
~/.iftoprc 是 iftop 的默认配置文件。该文件的格式是-名称:值。
如果您将端口显示设置为如下所示,iftop 命令将默认显示端口。
# cat ~/.iftoprc
port-display: on
对 iftop 问题进行故障排除
问题 1:从源代码安装 iftop 时,执行 ./configure 会给出以下 pcap.ph 错误消息。
[root@localhost iftop-0.17]# ./configure
checking gethostbyaddr_r usability... yes
checking where to find pcap.h... no idea
configure: error: can't find pcap.h
You're not going to get very far without libpcap.
解决方案 1:确保安装了 libpcap 和 libpcap-devel。如果没有,请按如下所示安装它。
# up2date -i libpcap libpcap-devel
Installing...
1:libpcap ######################### [100%]
2:libpcap-devel ######################### [100%]
# rpm -qa | grep libpcap
libpcap-devel-0.9.4-12.el5.0.1
libpcap-0.9.4-12.el5.0.1
问题 2:从源代码安装 iftop 时,执行 ./configure 会给出以下 ncurses/mvchgat 错误消息。
[root@localhost iftop-0.17]# ./configure
checking for a curses library containing mvchgat... none found
configure: error: Curses! Foiled again!
(Can't find a curses library supporting mvchgat.)
Consider installing ncurses.
解决方案 2:确保安装了 ncurses 和 ncurses-devel。如果没有,请按如下所示安装它。
# up2date -i ncurses ncurses-devel
Installing...
1:ncurses ######################### [100%]
1:ncurses-devel ######################### [100%]
# rpm -qa | grep ncurses
ncurses-devel-5.5-24.20120715
ncurses-5.5-24.20120715