背景:Linux 系统下如果服务器带宽跑满了,查看跟哪个 IP 通信占用带宽比较多,可以通过 iftop 命令进行查询。
安装
CentOS 系统运行:yum install iftop -y
Debian 系统运行:apt-get install iftop -y
使用 ifconfig |grep eth 查看网卡。
使用
安装好后在服务器执行 iftop -i eth1 就可以查看服务器公网网卡带宽使用情况(如果只执行 iftop 默认检测第一块网卡使用情况,这样查的会是内网网卡 eth0)。
1 | # -P 参数会将请求服务的端口显示出来,也就是说是通过服务器哪个端口建立的连接,看内网流量执行 iftop -i eth0 -P 命令 |

iftop 的相关参数

1 | -i :设定监测的网卡,如:# iftop -i eth1 |
iftop 工具界面相关简要说明
1 | 界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。中间的 <= => 这两个左右箭头,表示的是流量的方向。 |
iftop 界面含义如下
1 | 第一行:带宽显示 |
通过 iftop 的界面很容易找到哪个 IP 在占用网络流量,这个是 ifstat 做不到的。不过 ift的流量显示单位是 Mb,这个 b 是 bit,是位,不是字节,而 ifstat 的 KB,这个 B 就是字节了,byte 是 bit 的 8 倍。
进入 iftop 画面后的一些操作命令
注意大小写:
- 按
h切换是否显示帮助 - 按
n切换显示本机的 IP 或主机名 - 按
s切换是否显示本机的 host 信息 - 按
d切换是否显示远端目标主机的 host 信息 - 按
t切换显示格式为 2 行/1 行/只显示发送流量/只显示接收流量 - 按
N切换显示端口号或端口服务名称 - 按
S切换是否显示本机的端口信息 - 按
D切换是否显示远端目标主机的端口信息 - 按
p切换是否显示端口信息 - 按
P切换暂停/继续显示 - 按
b切换是否显示平均流量图形条 - 按
B切换计算 2 秒或 10 秒或 40 秒内的平均流量 - 按
T切换是否显示每个连接的总流量 - 按
l打开屏幕过滤功能,输入要过滤的字符,比如 IP,按回车后,屏幕就只显示这个 IP 相关的流量信息 - 按
L切换显示画面上边的刻度;刻度不同,流量图形条会有变化 - 按
j或按k可以向上或向下滚动屏幕显示的连接记录 - 按
1或2或3可以根据右侧显示的三列流量数据进行排序 - 按
<根据左边的本机名或 IP 排序 - 按
>根据远端目标主机的主机名或 IP 排序 - 按
o切换是否固定只显示当前的连接 - 按
f可以编辑过滤代码 - 按
!可以使用 shell 命令 - 按
q退出监控
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小五的个人杂货铺!