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

HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)LinuxtipsLinuxtips, ネットワーク > ポートを使用しているプロセスを確認する

無料Linux入門マニュアル無料ダウンロード

今だけ2,200円のLinux入門PDFマニュアルが【数量限定】で無料ダウンロードできます。
Linux入門マニュアル無料ダウンロードはこちらをクリック

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

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

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入門マニュアル無料ダウンロード

今だけ2,200円のLinux入門PDFマニュアルが【数量限定】で無料ダウンロードできます。
Linux入門マニュアル無料ダウンロードはこちらをクリック


<<関連記事>>
・CentOS7のホスト名設定(nmcliコマンド)
・IPv6アドレスを確認する
・nmapでポートスキャンを実施する
・名前解決の参照順を変更する(/etc/host.conf)
・名前解決の参照順を変更する(/etc/nsswitch.conf)

Linux入門マニュアル無料ダウンロード