.png)
私の 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あなたにぴったりのツールかもしれません。インターフェースごとに現在占有されている帯域幅のみを表示します。それ以上でもそれ以下でもありません。