
の出力では
netstat -a | grep LISTEN
通常、プロセスは多数あります。それらのプロセスに関する情報はどこでどのように入手できますか? システム内でのそれらの目的は何で、それらを強制終了できるでしょうか? それらのどれが安全でなく、どれが安全ですか?
答え1
彼らについての情報をどうやって(どこで)知ることができるのか、
まず、各ポートにバインドされているプログラムを見つける必要があります。残念ながら、すべての *ix タイプのシステムで機能する単一の標準的な方法は存在せず、質問でもその方法が示されていません。
のいくつかのバージョンには、netstat
各出力行に関連付けられたプログラム名を含めるフラグがあります。たとえば、--program
Linux または-b
Windows の場合です。
netstat
お使いのシステムにそのようなフラグがない場合(例: OS X)、システムで機能する別の方法を見つける必要があります。 lsof -i
、/proc
洞窟探検など。
システムにおける彼らの目的は何なのか
プログラム名がわかれば、man progname
通常はその質問に自分で答えるのに十分な情報が得られます。
彼らを殺してもいいですか?
各サーバーが何をしているかがわかれば、それがわかるでしょう。
ここでの 1 つの回答は、削除できるすべてのものをリストするのに適した場所ではありません。 単に可能性が多すぎるのです。 ドキュメントを読んでも特定のプログラムについて確信が持てない場合は、そのプログラムについてここで別の質問を投稿できます。 かなり明白なもの (例sshd
) もあれば、あまり知られていないものもあります (例avahi
)。
どれが安全でどれが危険でしょうか?
完全に安全でない新しい *ix システム上でプログラムがデフォルトで実行されることはまれです。
(古き悪しき時代はそうではありませんでした。システムがtelnetd
chroot されていない状態で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 と名前を表示します。