Linux書籍で学習してエラーになり、何度も挫折してきた人ほど効果のある
プロが新人教育に使う「Linux技術習得法」を今まで挫折に苦しんできた
あなたにお教えします。

プロのサーバー管理者が「Linux」という言葉すら知らない新人に
たった30日で現場の技術を教える教育法とは!?

■「プロが使うLinux技術習得法【通常編】はここをクリック
Linuxの基礎をサーバー構築を通じて実践的に学びたい人向けの講座
(LAPP環境を構築)

■「プロが使うLinux技術習得法【上級編】はここをクリック
【通常編】の内容を含んで更にPHP、MySQL、Apace2.0系、SSLも学びたい
高度な技術習得を目指す人の講座(LAMP、LAPP環境を構築)


2009年03月05日

ポートを使用しているプロセスを確認する

今回はポートを使用しているプロセスを確認する方法をご紹介します。

Linux上でポートが開いている場合、そのポートを使用しているプロセスを
確認するのもサーバー管理者として重要な仕事です。

今日の内容を理解することで、不要プログラムが実行されてないか、不正な
バックドアが仕掛けられてないか等を調べ、Linuxのセキュリティ状況を確認する
ことができるようになりますので、ぜひあなた自身で実行してみて結果の
確認をしてくださいね。

lsofコマンドはLinuxが使用してるプロセス名や実行ユーザ名を表示するコマンドです。
ポートの利用情報のみを確認したい場合は、オプション「-i」を付けて実行します。

また、lsofコマンドで表示できるのは、このコマンドを実行するユーザーに対して
読み取り権限が設定されるファイルに限ります。
つまり、ポートなどの利用情報すべてを確認するためには、rootユーザーでlsof
コマンドを実行しなければなりません。

このlsofコマンドを実行する一番の目的は、稼働中のプロセスを確認することで
不要プログラムが実行されてないか、不正なバックドアが仕掛けられてないかを調べ、
Linuxのセキュリティ状況を確認することにあります。

■-- 文法 --■

lsof (オプション)


■ オプション

-i 利用されているポートを表示する



■lsofコマンドで利用されてるポートを表示する

[root@Dolphin src]# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
httpd 1189 root 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1371 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1372 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1373 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1374 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1375 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1380 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1381 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1382 nobody 16u IPv4 1995 TCP *:http (LISTEN)
sshd 14671 root 3u IPv4 6212298 TCP *:SSH (LISTEN)

●各項目の説明
COMMAND 実行プログラム
PID   プロセス番号
USER   実行ユーザー
NODE   プロトコル
NAME   ポート
(LISTEN) 待ち受け状態


■ポート番号から使用しているプログラムを表示する

[root@Dolphin src]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
httpd 1189 root 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1371 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1372 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1373 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1374 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1375 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1380 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1381 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1382 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1396 nobody 16u IPv4 1995 TCP *:http (LISTEN)
httpd 1397 nobody 16u IPv4 1995 TCP *:http (LISTEN)

ポート80番はhttpd(Apache)により利用されていることがわかります。


[root@Dolphin src]# lsof -i:32768
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
postmaste 871 postgres 5u IPv4 1218 UDP Dolphin:32768->Dolphin:32768
postmaste 904 postgres 5u IPv4 1218 UDP Dolphin:32768->Dolphin:32768
postmaste 905 postgres 5u IPv4 1218 UDP Dolphin:32768->Dolphin:32768

ポート32768番はpostgres(PosgreSQL)により利用されていることがわかります。


※これらの結果はサーバー環境によって異なります。
 上記と同じ結果を得るにはApache、PostgreSQLがLinuxに
 インストールされている必要があります。

まだ無料インストールマニュアルを手に入れていない方は、下記のフォーム
より入手できますので、いますぐ登録して手に入れてください。


■完全無料でLinuxをWindows上で動作させるマニュアル(全47ページ)
■プロのサーバー管理者が教えるLinux挫折者・初心者用サーバー構築マニュアル
 【CentOS5.4編】(全126ページ)
■プロのサーバー管理者が教えるLinux挫折者・初心者用サーバー構築マニュアル
 【Vine Linux4.2編】(全115ページ)


姓: 名:(ニックネーム可)
メールアドレス:

proserverbuild at 12:07Linux技術  この記事をクリップ!