LAN の使用状況を追跡するにはどうすればいいですか? (別名「LAN のトップ」)

LAN の使用状況を追跡するにはどうすればいいですか? (別名「LAN のトップ」)

私の PC がオンになっている時間の約 80% の間、アップロード帯域幅 (私はブラジル人なので、約 35kbps しかありません) をすべて消費している悪質なアプリケーションがあります。

この使用状況を追跡し、どのアプリがこれを実行しているかを調べる方法があるかどうかを知りたいです。

答え1

どうですかネットホッグ? 私の意見では、それははるかに人道的です。ネットワークを使用しているコマンド/プログラムと、それぞれの帯域幅をリアルタイムで一覧表示します。

ubuntu/debian システムにインストールするには、次のコマンドを使用します。

sudo apt-get install nethogs

次のように実行して、ネットワーク インターフェイスを監視します。

sudo nethogs eth0

代替テキスト

答え2

iftopは、top に似たコンソール/シェルベースのプログラムで、pcap ライブラリ (tcpdump および wireshark でも使用) を使用できます。Ubuntu では Universe から入手できます。

sudo aptitude install iftop
sudo iftop

Ubuntu システムでアップグレードを実行しているとき:

代替テキスト

netstat を使用すると、特定のポートまたは IP に接続されているプロセスを調べることができます。ポートの場合は、先頭にコロンを付けることをお勧めします。

sudo netstat -plantu | grep "some_port_number_or_ip_address"

たとえば、ssh の開いている接続を確認するには、次のようにします。

sudo netstat -plantu | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2376/sshd       
tcp        0      0 10.13.37.122:22         10.13.37.105:59130      ESTABLISHED 4033/sshd: jtimberm
tcp6       0      0 :::22                   :::*                    LISTEN      2376/sshd 

lsof を使用して開いているポート接続を探すこともできます。

sudo lsof -i:22
COMMAND  PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    2376       root    3u  IPv4   5613      0t0  TCP *:ssh (LISTEN)
sshd    2376       root    4u  IPv6   5615      0t0  TCP *:ssh (LISTEN)
sshd    4033       root    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)
sshd    4086 jtimberman    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)

-p PID を使用して lsof から開いているファイルに関する詳細情報を取得できます。

sudo lsof -p 2376

(そこからの出力は多く抑制されます)

答え3

トップはあなたの友達です。パッケージは Linux リポジトリと MacPorts にあります。

答え4

私の意見では、iftop のユーザー インターフェイスは適切に設計されていません。実際には、IP またはホスト名をリアルタイムで表示する必要はほとんどありません。現在のすべての接続のリストが必要な場合は、jtimberman が説明したように、netstat を使用します。

私の目的には、bmon の方が iftop よりも適しています。これは、複数のインターフェイスと「グラフ」の描画をサポートする非常にシンプルなユーザー インターフェイスを備えています。スクリーンショットを以下に示します。

モン

bmonが提供するすべての機能が必要ない場合は、bwm-ngあなたにぴったりのツールかもしれません。インターフェースごとに現在占有されている帯域幅のみを表示します。それ以上でもそれ以下でもありません。

bwm-ng

関連情報