iftop 用于在指定的接口监控网络流量,如果没有指定接口(网卡),它可以在第一个接口,或者搜索一个看起来是连接外部的接口。然后按主机活动连接显示当前带宽。
要使用 iftop 命令监控网络接口的流量,你必须以 root 或者具有 sudo 权限的用户运行 iftop 命令。
在本教程中,我们将说明如何 Linux 使用 iftop 命令监控指定接口的网络流量,查看当前已建立的网络连接的速度等。
iftop 命令默认情况下,iftop 会解释与它在数据包中找到的地址关联的主机名。这可能会导致大量的流量,并可能导致显示混乱。
你可以使用 iftop 命令的 -n 选项,禁用主机名的解释。如果在正在运行的 iftop 会话中可以按 n 键打开或者关闭主机名的 DNS 解释。
默认情况下,iftop 统计通过过滤器的所有 IP 数据包,并根据数据包穿过接口的方向确定数据包的方向。
使用 -F 选项可以让 iftop 显示进入和离开指定定网络的数据包。例如,iftop -F 10.0.0.0/255.0.0.0 将分析流入和流出 10.* 段网络的数据包。
iftop 命令详解sudo iftop当不指定任何选项与参数运行 iftop 时,iftop 会使用整个屏幕显示网络的带宽用法,显示屏顶部是条形图的对数刻度的视觉指示。
屏幕的主要部分列出已连接主机在 2、10 和 40 秒时间间隔内发送和接收数据的速率。数据流的方向由箭头 指示。例如:
本地主机名称已连接的远程主机2s10s 40smyfreax => www.myfreax.com 1Kb 500b 100b src host 192.168.1.100#eqiftop -f "src host 192.168.1.100"基于 IP 地址过滤要使用基于 IP 地址的过滤器,可以在 iftop 命令后跟一个基于 IP 的过滤器表达式,如下所示:
iftop -f "src host 192.168.1.100"上面的命令将仅显示来自 IP 地址为 192.168.1.100 的主机的流量,src host 语法表示设置来源主机。
要使 iftop 仅显示目标地址为 8.8.8.8 的流量,请运行命令 iftop -f "dst host 8.8.8.8":
iftop -f "dst host 8.8.8.8"除了指定设置目标和源过滤之外,也可以使用 CIDR 格式的 IP 地址,例如:
iftop -f "src net 192.168.0.0/16"上面的命令将显示源地址在 192.168.0.0/16 网段主机的流量。
基于端口过滤iftop 可以通过基于端口的过滤器来监控指定端口的网络流量。要使用基于端口的过滤器,可以在 iftop 命令后面加上一个端口过滤器表达式,如下所示:
iftop -f "port 80"iftop -f "port 80" 命令只显示端口 80 的网络流量,即 HTTP 流量。您还可以使用逗号将多个端口号连接在一起,例如:
iftop -f "port 80,443"iftop -f "port 80,443" 命令仅显示端口 80 或 443 的网络流量,即 HTTP 或 HTTPS 流量。您还可以使用运算符 NOT 排除特定的端口,例如:
iftop -f "not port 22"iftop -f "not port 22" 命令将显示除 SSH(端口号22)之外的所有流量。
基于 IP 地址和端口的过滤器您还可以结合 IP 地址和端口来过滤网络流量,例如:
iftop -f "src host 192.168.1.100 and dst port 80"iftop -f "src host 192.168.1.100 and dst port 80" 命令仅显示来自 IP 地址 192.168.1.100 并且目标端口为 80 的流量。
结论iftop 命令是一款强大的网络流量监控工具,可以实时监控网络连接和流量,帮助管理员及时发现和解决网络问题。
同时,iftop 命令也支持多种过滤器和交互式操作,使其更加灵活和易用。在使用iftop命令时,需要注意安全和资源消耗等问题,并根据需要选择最适合的工具进行网络流量监控。
如果您有任何问题或反馈,请随时发表评论。点击下方阅读原文获取更好排版格式与文章参考引用。