ネットワーク機能を使用するプロセスをどのように識別し、強制終了できますか?

ネットワーク機能を使用するプロセスをどのように識別し、強制終了できますか?

の出力では

netstat -a | grep LISTEN

通常、プロセスは多数あります。それらのプロセスに関する情報はどこでどのように入手できますか? システム内でのそれらの目的は何で、それらを強制終了できるでしょうか? それらのどれが安全でなく、どれが安全ですか?

答え1

彼らについての情報をどうやって(どこで)知ることができるのか、

まず、各ポートにバインドされているプログラムを見つける必要があります。残念ながら、すべての *ix タイプのシステムで機能する単一の標準的な方法は存在せず、質問でもその方法が示されていません。

のいくつかのバージョンには、netstat各出力行に関連付けられたプログラム名を含めるフラグがあります。たとえば、--programLinux または-bWindows の場合です。

netstatお使いのシステムにそのようなフラグがない場合(例: OS X)、システムで機能する別の方法を見つける必要があります。 lsof -i/proc洞窟探検など。

システムにおける彼らの目的は何なのか

プログラム名がわかれば、man progname通常はその質問に自分で答えるのに十分な情報が得られます。

彼らを殺してもいいですか?

各サーバーが何をしているかがわかれば、それがわかるでしょう。

ここでの 1 つの回答は、削除できるすべてのものをリストするのに適した場所ではありません。 単に可能性が多すぎるのです。 ドキュメントを読んでも特定のプログラムについて確信が持てない場合は、そのプログラムについてここで別の質問を投稿できます。 かなり明白なもの (例sshd) もあれば、あまり知られていないものもあります (例avahi)。

どれが安全でどれが危険でしょうか?

完全に安全でない新しい *ix システム上でプログラムがデフォルトで実行されることはまれです。

(古き悪しき時代はそうではありませんでした。システムがtelnetdchroot されていない状態でftpdコマンドを実行しているのをよく見かけましたr*...)

デフォルト以外のバックグラウンド TCP リスナーは、ユーザー自身または他の信頼できる管理者がインストールしたものであるはずなので、おそらく安全性に関する懸念については既に把握しているはずです。

ここにはグレーゾーンがあります。絶対に安全ではないが、条件付きで安全ではないサーバーが稼働している可能性があります。適切にロックダウンされていないか、パッチが適用されていないバグがあるなどです。ただし、これはコンピュータ セキュリティのキャリア全体にかかわる問題であり、ここで 1 つの質問で回答するのに適したものではありません。その経験がない場合は、Google がおそらく最善の最初の手段です。そこで必要な情報が見つからない場合は、特定のサーバーに関する新しい質問をここに投稿できます。

答え2

コマンド

netstat -a | grep LISTEN

さまざまな種類のソケットをリッスンしているすべてのプロセスを一覧表示します。これらのソケットは、ipv4 (udp または tcp)、ipv6 (udp6 または tcp6)、unix などの任意のアドレス ファミリにすることができます。

次のようなエントリ:

tcp        0      0 *:webmin                *:*                     LISTEN
tcp        0      0 *:ftp                   *:*                     LISTEN

tcpプロトコルが使用され、マシン上で何らかのサーバーが実行されていることを意味します。私のケースでは、webmin と ftp サーバーが実行されています。

次のようなエントリ:

 tcp6       0      0 [::]:8484               [::]:*                  LISTEN     
 tcp6       0      0 [::]:netbios-ssn        [::]:*                  LISTEN     

IPv6 の tcp6 プロトコルが使用されることを意味します。

次のようなエントリ:

unix  2      [ ACC ]     STREAM     LISTENING     13297    /tmp/orbit-pradeep/linc-76d-0-53b2963d93f75
unix  2      [ ACC ]     STREAM     LISTENING     13305    /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b

ORBit CORBA によって作成されます。この Common Object Request Broker Architecture (CORBA) は、Object Management Group (OMG) によって定義された標準であり、複数のコンピュータ言語で記述され、複数のコンピュータで実行されるソフトウェア コンポーネントが連携して動作できるようにします。つまり、複数のプラットフォームをサポートします。

1. それらに関する情報はどこでどうやって入手できますか?

についての情報を見つけたいとします/tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b。次のコマンドを実行すると詳細がわかります。

$ lsof -Pwn | grep /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b

このコマンドの出力は次のようになりました:

indicator  1909    pradeep   10u  unix 0xf6bd8900          0t0      13305 /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b
indicator  1909    pradeep   12u  unix 0xf6b1f600          0t0      13314 /tmp/orbit-pradeep/linc-775-0-5ddd91eb9510b

ここ:

indicatorプロセスに関連付けられた Unix コマンドの名前です。 プロセス1909の PID ですindicator

2. システムにおけるそれらの目的は何ですか?

いくつかのプロセスは

tcp        0      0 *:ftp                   *:*                     LISTEN

FTP サーバーをリッスンするためのものです。

他にも以下のようなものがあります:

 unix  2      [ ACC ]     STREAM     LISTENING     13297    /tmp/orbit-pradeep/linc-76d-0-53b2963d93f75

CORBA で使用される異なるプロセス間のプロセス間通信を目的としています。

3. 殺してもいいですか?

それはプロセスの重要度によって異なります。リスニング中のサーバーを停止すると、そのサーバーに関連するすべての通信が停止します。

4. どれが安全でどれが安全ですか?

すべて安全なプロセスです。

答え3

netstat -nap | grep LISTEN以下のような出力が得られます。名前そしてそのピッド聞いているプロセス:

unix  2      [ ACC ]     STREAM     LISTENING     20763  2333/gnome-terminal /tmp/orbit-eugene/linc-91d-0-2dbe139bd35e3
unix  2      [ ACC ]     STREAM     LISTENING     17900  2014/bonobo-activat /tmp/orbit-eugene/linc-7de-0-2b0c0606f265
unix  2      [ ACC ]     STREAM     LISTENING     18325  2274/gnome-screensa /tmp/orbit-eugene/linc-7ef-0-59f130216cc19

-n- シンボリックなホスト名、ポート名、またはユーザー名を判別するのではなく、数値アドレスを表示します。

-a- リスニングソケットと非リスニングソケットの両方を表示します。

-p 各ソケットが属するプログラムの PID と名前を表示します。

関連情報