找出每個IP的網路流量

找出每個IP的網路流量

我們有一台中央伺服器,充當網際網路網關。此伺服器連接到互聯網,並使用 iptables 轉送流量並共享網路連線網路中的所有電腦之間。這很好用。

然而,有時互聯網變得非常慢。其中一位用戶很可能正在下載影片或其他大型檔案。我想找出罪魁禍首。我正在考慮安裝一個工具,可以透過 IP 監控通過伺服器的網路流量。最好是即時的以及累積的總數(同樣透過 IP)。有什麼推薦的工具嗎?最好是 Ubuntu 儲存庫中的東西。

答案1

恩托普可能是執行此操作的最佳解決方案。它旨在長期運行並準確地捕捉您正在尋找的內容。
它可以向您顯示哪些客戶端正在接收/發送最多的流量、它們在哪裡接收/發送、正在使用哪些協定和連接埠等

ntop 是一個相當知名的工具,所以如果它不在 Ubuntu 的軟體包儲存庫中我會感到非常驚訝。

恩托普

答案2

若要按 IP(而不是按 IP 和連接埠)查看即時使用情況:

sudo apt install tcptrack
sudo tcptrack -i eth0

要查看 MAC 位址的即時使用情況,一個不錯的基於 ncurses 的工具是iptraf-ng

sudo apt install iptraf-ng
sudo iptraf-ng

(然後,選擇「區域網站監視器 → eth0」。)

要按 IP 查看每日聚合資料量,我最喜歡的是ipfm.安裝:

sudo apt install ipfm

/etc/ipfm.conf然後根據配置man ipfm.conf並啟動sudo ipfm

答案3

恩托普可以準確地滿足您的要求。它收集有關流經您的網路的所有流量的資料(如果其他網路具有配置為向您的系統發送網路流量資料的設備,則可以從其他網路收集資料)。

它將向您顯示網路上的每台主機以及它們使用了多少頻寬。它可以讓您深入了解每個主機並查看它們正在產生什麼類型的流量以及來自/來自誰的流量。它會讓您看到目前建立的 TCP 連線。您可能會花幾天時間瀏覽它提供的數據。

不過,該程式可能會佔用大量內存,具體取決於您如何設定選項。

答案4

您可以從 iptables 檢查現有計數器,看看是否有任何異常,

也可以向 iptables 新增計費規則,這些規則僅用於產生流量計數。像 Shorewall 這樣的工具可以輕鬆做到這一點,並且有具體的文檔會計規則

研究表明,路由器中的大緩衝區可能會導致效能問題。您可能需要嘗試將流量調整為略小於網路容量。 Shorewall 提供了幾種流量整形方法。這也可用於對某些類型的流量進行優先排序。

如果您確實發現某位使用者的頻寬使用率過高,您有以下幾種選擇:

  • 與他們討論問題並提醒他們您的使用政策;
  • 阻止存取正在使用頻寬的服務和/或網站;
  • 限制使用頻寬的服務和/或站點的流量;和/或
  • 限制相關用戶的流量。

相關內容