iftop 用于在指定的接口監(jiān)控網(wǎng)絡(luò)流量,如果沒有指定接口(網(wǎng)卡),它可以在第一個(gè)接口,或者搜索一個(gè)看起來是連接外部的接口。然后按主機(jī)活動連接顯示當(dāng)前帶寬。
要使用 iftop 命令監(jiān)控網(wǎng)絡(luò)接口的流量,你必須以 root 或者具有 sudo 權(quán)限的用戶運(yùn)行 iftop 命令。
在本教程中,我們將說明如何 Linux 使用 iftop 命令監(jiān)控指定接口的網(wǎng)絡(luò)流量,查看當(dāng)前已建立的網(wǎng)絡(luò)連接的速度等。
iftop 命令
默認(rèn)情況下,iftop 會解釋與它在數(shù)據(jù)包中找到的地址關(guān)聯(lián)的主機(jī)名。這可能會導(dǎo)致大量的流量,并可能導(dǎo)致顯示混亂。
你可以使用 iftop 命令的 -n 選項(xiàng),禁用主機(jī)名的解釋。如果在正在運(yùn)行的 iftop 會話中可以按 n 鍵打開或者關(guān)閉主機(jī)名的 DNS 解釋。
默認(rèn)情況下,iftop 統(tǒng)計(jì)通過過濾器的所有 IP 數(shù)據(jù)包,并根據(jù)數(shù)據(jù)包穿過接口的方向確定數(shù)據(jù)包的方向。
使用 -F 選項(xiàng)可以讓 iftop 顯示進(jìn)入和離開指定定網(wǎng)絡(luò)的數(shù)據(jù)包。例如,iftop -F 10.0.0.0/255.0.0.0 將分析流入和流出 10.* 段網(wǎng)絡(luò)的數(shù)據(jù)包。
iftop 命令詳解
sudo iftop
當(dāng)不指定任何選項(xiàng)與參數(shù)運(yùn)行 iftop 時(shí),iftop 會使用整個(gè)屏幕顯示網(wǎng)絡(luò)的帶寬用法,顯示屏頂部是條形圖的對數(shù)刻度的視覺指示。
屏幕的主要部分列出已連接主機(jī)在 2、10 和 40 秒時(shí)間間隔內(nèi)發(fā)送和接收數(shù)據(jù)的速率。數(shù)據(jù)流的方向由箭頭 <= 和 => 指示。例如:
本地主機(jī)名稱 已連接的遠(yuǎn)程主機(jī) 2s 10s 40s
myfreax => www.myfreax.com 1Kb 500b 100b
<= 2Mb 2Mb 2Mb
在這個(gè)示例中,我們可以看到 myfreax 的本地主機(jī)與遠(yuǎn)程主機(jī) www.myfreax.com 2秒前發(fā)送的數(shù)據(jù)速度是 1 kb, 10秒前是 500 b,40秒前100 b。
注意 b 的單位不是字節(jié),是 bit/s 單位的縮寫,1 kb 也就是 1 kbit/s,2mb 就是 2 mbit/s。
同樣你也就理解 myfreax 主機(jī)從 www.myfreax.com 主機(jī)接收數(shù)據(jù)的速度,在 2 秒,10 秒前,40 秒前都是 2mb,也就是速度沒有任何變化。
屏幕的底部,顯示各種總計(jì),包括過去 40 秒的峰值流量、傳輸?shù)目偭髁浚ㄟ^濾后)以及 2 秒、10 秒和 40 秒的平均總傳輸速率。
Tx 表示發(fā)送,Rx 表示接收,cum 表示累計(jì)值,Total 表示發(fā)送和解釋的總和,Rate表示網(wǎng)絡(luò)速度。例如:
TX: cum: 400KB peak:34.8Kb Rattes: 21kb 32kb 6.6kb
RX: 900KB 34.8Kb 3kb 3kb 8kb
Total: 1.30MB 34.8Kb 21kb 32kb 6.6kb
在上面的示例中,我們可以看到發(fā)送累計(jì)值是 400KB,峰值是 34.8 KB, 2 秒、10 秒和 40 秒的平均總傳輸速率分別是 21kb 32kb 6.6kb。
接收的累計(jì)值是 900KB,峰值是 34.8 KB, 2 秒、10 秒和 40 秒的平均總傳輸速率分別是 3kb 3kb 68kb。
快捷鍵
當(dāng)你進(jìn)入 iftop 會話時(shí),你可以使用以下快捷鍵,切換 iftop 的顯示方式或者按 f 添加過濾器。
- h:顯示幫助菜單
- n:開啟 / 關(guān)閉主機(jī)名的 DNS 解析,如果可以 iftop 可以將 IP 地址解釋為主機(jī)名則顯示主機(jī)的名稱,否則顯示 IP 地址。
- N:開啟 / 關(guān)閉服務(wù)名稱的解釋,例如,本地主機(jī)連接遠(yuǎn)程的主機(jī)的 443 端口,iftop 將會在遠(yuǎn)程主機(jī) IP 地址后面添加服務(wù)的名稱 www.myfreax.com:https。
- p:開啟 / 關(guān)閉目標(biāo)和源端口的顯示
- P:暫停刷新屏幕,注意:
- 這僅僅暫停主要窗口部分的刷新,屏幕底部的統(tǒng)計(jì)值依然自動刷新。
- s:顯示或者隱藏源主機(jī)的 IP 或主機(jī)名。
- S:顯示 / 關(guān)閉源端口。
- t:切換顯示發(fā)送和接收流量的三種方式,第一種是僅顯示發(fā)送的流量,第二種是僅顯示接收的流量,同時(shí)發(fā)送和接收的流量,也就是啟動時(shí)的默認(rèn)模式。
- T:顯示 / 關(guān)閉發(fā)送與接收流量統(tǒng)計(jì),這將會在 2s 10s 40s 速率之前添加一列顯示累計(jì)值。
- q:退出 iftop
排序
- j / k:分別是向下和向上滾動,當(dāng)屏幕不足以顯示所有連接時(shí)。
- <:通過源名稱的排序。
-
:通過目標(biāo)名稱排序。
- 1/2/3:通過第一,第二,第三列進(jìn)行排序。
- o:凍結(jié)排序方式,由于 iftop 是不斷滾動所有連接,關(guān)閉 iftop 滾動連接,可以按 o 鍵。
過濾器
iftop 支持一些過濾器來過濾顯示的內(nèi)容。要使用基于 iftop 的過濾器,可以在 iftop 命令的 -f 選項(xiàng)之后跟一個(gè)過濾器表達(dá)式,也可以在 iftop 會話中使用 f 鍵設(shè)置過濾器。
iftop 使用 pcap-filter 作為數(shù)據(jù)包的過濾器,你可以根據(jù) pcap-filter 過濾器語法,編寫 iftop 過濾器表達(dá)式。
值得一提的在 iftop 會話按 f 鍵輸入的過濾器表達(dá)式也可用于在 -f 選項(xiàng)后面設(shè)置的表達(dá)式。也就是說語法上沒有差別。
Net filter> src host 192.168.1.100
#eq
iftop -f "src host 192.168.1.100"
基于 IP 地址過濾
要使用基于 IP 地址的過濾器,可以在 iftop 命令后跟一個(gè)基于 IP 的過濾器表達(dá)式,如下所示:
iftop -f "src host 192.168.1.100"
上面的命令將僅顯示來自 IP 地址為 192.168.1.100 的主機(jī)的流量,src host 語法表示設(shè)置來源主機(jī)。
要使 iftop 僅顯示目標(biāo)地址為 8.8.8.8 的流量,請運(yùn)行命令 iftop -f "dst host 8.8.8.8"
:
iftop -f "dst host 8.8.8.8"
除了指定設(shè)置目標(biāo)和源過濾之外,也可以使用 CIDR 格式的 IP 地址,例如:
iftop -f "src net 192.168.0.0/16"
上面的命令將顯示源地址在 192.168.0.0/16 網(wǎng)段主機(jī)的流量。
基于端口過濾
iftop 可以通過基于端口的過濾器來監(jiān)控指定端口的網(wǎng)絡(luò)流量。要使用基于端口的過濾器,可以在 iftop 命令后面加上一個(gè)端口過濾器表達(dá)式,如下所示:
iftop -f "port 80"
iftop -f "port 80" 命令只顯示端口 80 的網(wǎng)絡(luò)流量,即 HTTP 流量。您還可以使用逗號將多個(gè)端口號連接在一起,例如:
iftop -f "port 80,443"
iftop -f "port 80,443" 命令僅顯示端口 80 或 443 的網(wǎng)絡(luò)流量,即 HTTP 或 HTTPS 流量。您還可以使用運(yùn)算符 NOT 排除特定的端口,例如:
iftop -f "not port 22"
iftop -f "not port 22" 命令將顯示除 SSH(端口號22)之外的所有流量。
基于 IP 地址和端口的過濾器
您還可以結(jié)合 IP 地址和端口來過濾網(wǎng)絡(luò)流量,例如:
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 并且目標(biāo)端口為 80 的流量。
結(jié)論
iftop 命令是一款強(qiáng)大的網(wǎng)絡(luò)流量監(jiān)控工具,可以實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)連接和流量,幫助管理員及時(shí)發(fā)現(xiàn)和解決網(wǎng)絡(luò)問題。
同時(shí),iftop 命令也支持多種過濾器和交互式操作,使其更加靈活和易用。在使用iftop命令時(shí),需要注意安全和資源消耗等問題,并根據(jù)需要選擇最適合的工具進(jìn)行網(wǎng)絡(luò)流量監(jiān)控。
-
接口
+關(guān)注
關(guān)注
33文章
8924瀏覽量
153161 -
Linux
+關(guān)注
關(guān)注
87文章
11450瀏覽量
212705 -
命令
+關(guān)注
關(guān)注
5文章
726瀏覽量
22661 -
網(wǎng)絡(luò)流量
+關(guān)注
關(guān)注
0文章
61瀏覽量
10643 -
iftop
+關(guān)注
關(guān)注
0文章
3瀏覽量
6996
發(fā)布評論請先 登錄
評論