复制粘贴整理自: 从零开始学习 iftop 流量监控 (找出服务器耗费流量最多的 ip 和端口)
iftop 是什么
iftop 是类似于 top 的实时流量监控工具.
作用: 监控网卡的实时流量 (可以指定网段), 反向解析 IP, 显示端口信息等
官网:http://www.ex-parrot.com/~pdw/iftop/
界面说明
=> 代表发送数据,<= 代表接收数据
TX: 发送流量
RX: 接收流量
TOTAL: 总流量
Cumm: 运行 iftop 到目前时间的总流量
peak: 流量峰值
rates: 分别表示过去 2s 10s 40s 的平均流量
常用参数
-i 指定需要检测的网卡, 如果有多个网络接口, 则需要注意网络接口的选择, 如:# iftop -i eth1
-B 将输出以 byte 为单位显示网卡流量, 默认是 bit
-n 将输出的主机信息都通过 IP 显示, 不进行 DNS 解析
-N 只显示连接端口号, 不显示端口对应的服务名称
-F 显示特定网段的网卡进出流量 如 iftop -F 192.168.85.0/24
-h 帮助, 显示参数信息
-p 以混杂模式运行 iftop, 此时 iftop 可以用作网络嗅探器 ;
-P 显示主机以及端口信息
-m 设置输出界面中最上面的流量刻度最大值, 流量刻度分 5 个大段显示 如:# iftop -m 100M
-f 使用筛选码选择数据包来计数 如 iftop -f filter code
-b 不显示流量图形条
-c 指定可选的配置文件 如 iftop -c config file
-t 使用不带 ncurses 的文本界面,
以下两个是只和-t 一起用的:
-s num num 秒后打印一次文本输出然后退出,-t -s 60 组合使用, 表示取 60 秒网络流量输出到终端
-L num 打印的行数
-f 参数支持 tcpdump 的语法, 可以使用各种过滤条件.
进入界面后的操作
一般参数
P 切换暂停/继续显示
h 在交互界面/状态输出界面之间切换
b 切换是否显示平均流量图形条
B 切换显示 2s 10s 和 40s 内的平均流量
T 切换是否显示每个连接的总流量
j/k 向上或向下滚动屏幕显示当前的连接信息
f 编辑筛选码
l 打开 iftop 输出过滤功能 , 如输入要显示的 IP 按回车键后屏幕就只显示与这个 IP 相关的流量信息
L 切换显示流量刻度范围, 刻度不同, 流量图形条也会不同
q 退出 iftop
主机参数
n 使 iftop 输出结果以 IP 或主机名的方式显示
s 切换是否显示源主机信息
d 切换是否显示远端目标主机信息
t 切换输出模式, 一行或多行
端口显示参数
N 切换显示端口号/端口号对应服务名称
S 切换是否显示本地源主机的端口信息
D 切换是否显示远端目标主机的端口信息
p 切换是否显示端口信息
输出排序参数
1/2/3 通过第一列/第二列/第三列排序
< 根据左边的本地主机名或 IP 地址进行排序
> 根据远端目标主机的主机名或 IP 地址进行排序
o 切换是否固定显示当前的连接
使用示例
显示网卡 eth0 的信息, 主机通过 ip 显示
iftop -i eth0 -n
显示端口号 (添加-P 参数, 进入界面可通过 p 参数关闭)
iftop -i eth0 -n -P
显示将输出以 byte 为单位显示网卡流量, 默认是 bit
iftop -i eth0 -n -B
显示流量进度条
iftop -i eth0 -n(进入界面后按下 L)
显示每个连接的总流量
iftop -i eth0 -n(进入界面后按下 T)
显示指定 ip 172.17.1.158 的流量
iftop -i eth0 -n(进入界面后按下 l, 输入 172.17.1.158 回车)
实战-找出最费流量的 ip 和端口号
网上找了一圈, 全是粘贴复制的 iftop 命令使用, 没说到点上
接下, 请欣赏真正的表演
- 进入界面
iftop -i eth0 -nNB -m 10M -i 指定网卡, -n 代表主机通过 ip 显示不走 DNS -N 只显示连接端口号, 不显示端口对应的服务名称 (不加会显示如 ssh 这样的服务名称, 不便于排查) -B 指定显示单位为 Kb, 默认是 bit, 太小! -m 设置输出界面中最上面的流量刻度最大值, 流量刻度分 5 个大段显示
进入后界面如下
- 按下
L
显示流量刻度
L 参数直接显示进度条, 方便人类阅读, 别说你能直接通过数字感知, 小心被砍死 - 按下
T
显示总量
总得有个总数统计, 看着方便! - 按下
3
, 根据最近 40s 统计排序
用平均值来统计最权威点 - 按下
t
, 发送和接受合成一行
显示两行没什么意思, 一行就够了! - 多按几次
B
, 查看最近 2s, 10s,40s 的统计
没错, 图中的172.17.1.158
就是我们找到的流量用得最多的 IP - 筛选指定 IP
172.17.1.158
按下l
, 输入172.17.1.158
, 出现如下
回车, 生效
这下就只看到这个 ip 的流量监控了 - 找到这个 ip 哪个端口流量用得最多
按下p
, 根据端口号显示
到这里, 我们就学会了如何找出流量用得最多的 ip 和端口号, 这么好干货你不 high 起来对不起哥这么用心的截图!
文章评论