IPごとのネットワークトラフィックを調べる

IPごとのネットワークトラフィックを調べる

インターネットゲートウェイとして機能する中央サーバーが1台あります。このサーバーはインターネットに接続されており、iptablesを使用してトラフィックを転送し、インターネット接続を共有するネットワーク内のすべてのコンピューター間で。これで問題なく動作します。

しかし、インターネットが本当に遅くなることがあります。おそらく、ユーザーの 1 人がビデオやその他の大きなファイルをダウンロードしているのでしょう。原因を突き止めたいです。サーバーを通過するネットワーク トラフィックを IP で監視できるツールをインストールしようと思っています。できればリアルタイムで、また累積合計 (これも IP で) も監視できるものがいいです。これに推奨されるツールはありますか? できれば、Ubuntu リポジトリにあるものがいいです。

答え1

トップおそらく、これを行うには最適なソリューションです。長期間実行して、探しているものを正確にキャプチャするように設計されています。
どのクライアントが最も多くのトラフィックを受信/送信しているか、どこで受信/送信しているか、どのプロトコルとポートが使用されているかなどを表示できます。
次に、Web GUI を使用してこの情報をナビゲートして表示します。

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

(その後、「LANステーションモニター→eth0」を選択します。)

IP 別に毎日の合計データ量を確認するには、 が私のお気に入りですipfm。以下を使用してインストールします。

sudo apt install ipfm

/etc/ipfm.conf次に、に従ってを設定しman ipfm.conf、 から始めますsudo ipfm

答え3

トップまさにあなたが求めているものを提供できます。ネットワークを流れるすべてのトラフィックに関するデータを収集します (また、netfow データをシステムに送信するように構成されたデバイスがある他のネットワークからデータを収集することもできます)。

ネットワーク上のすべてのホストと、それらが使用した帯域幅が表示されます。各ホストを詳しく調べて、生成しているトラフィックの種類と、その送信元と送信先を確認できます。現在確立されている TCP 接続も確認できます。提供されるデータを調べるのに何日もかかることもあります。

ただし、オプションの設定方法によっては、プログラムがメモリを大量に消費する可能性があります。

答え4

iptablesから既存のカウンターをチェックして、何か異常がないか確認することができます。

トラフィックカウントを生成するためだけに使われるiptablesにアカウンティングルールを追加することも可能です。Shorewallのようなツールを使えば簡単にこれを行うことができ、具体的なドキュメントも用意されています。会計ルール

ルーターのバッファが大きいとパフォーマンスの問題が発生する可能性があることを示す調査があります。トラフィックをネットワーク容量よりわずかに小さくシェーピングしてみるとよいでしょう。Shorewall はトラフィック シェーピングのいくつかのアプローチを提供します。これは、特定の種類のトラフィックを優先するためにも使用できます。

帯域幅の使用量が過剰なユーザーを特定した場合は、いくつかのオプションがあります。

  • 問題について話し合い、使用ポリシーを思い出させてください。
  • 帯域幅を使用しているサービスやサイトへのアクセスをブロックします。
  • 帯域幅を使用しているサービスやサイトへのトラフィックを制限する。
  • 問題のあるユーザーのトラフィックを制限します。

関連情報