Linux で開いているポートを確認する方法: 1. rpm を使用して nmap ツールをインストールし、「nmap 127.0.0.1」コマンドを実行して、このマシン上の開いているポートを表示します; 2. 「netstat - anp」コマンドを使用して、開いているポートを表示します。
#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。
1: nmap ツールは開いているポートを検出します
nmap はネットワーク スキャンであり、ホスト検出ツール。 nmap のインストールは、以下に示す rpm インストールのように非常に簡単です。
[root@DB-Server Server]# rpm -ivh nmap-4.11-1.1.x86_64.rpm warning: nmap-4.11-1.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:nmap ########################################### [100%] [root@DB-Server Server]# rpm -ivh nmap-frontend-4.11-1.1.x86_64.rpm warning: nmap-frontend-4.11-1.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 Preparing... ########################################### [100%] 1:nmap-frontend ########################################### [100%] [root@DB-Server Server]#
nmap の使用については、詳しく詳しく記事を書くことができるので、ここでは詳しく説明しません。以下に示すように、nmap 127.0.0.1 はこのマシンの開いているポートをチェックし、すべてのポートをスキャンします。もちろん、他のサーバーポートもスキャンできます。
[root@DB-Server Server]# nmap 127.0.0.1 Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2016-06-22 15:46 CST Interesting ports on localhost.localdomain (127.0.0.1): Not shown: 1674 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 111/tcp open rpcbind 631/tcp open ipp 1011/tcp open unknown 3306/tcp open mysql Nmap finished: 1 IP address (1 host up) scanned in 0.089 seconds You have new mail in /var/spool/mail/root [root@DB-Server Server]#
2: netstat ツールは開いているポートを検出しました
を渡すことができます "
netstat -anp
#Extension: ポートが開いているかどうかを確認します
lsof ツールは開いているポートを検出します
[root@DB-Server Server]# service mysql start Starting MySQL......[ OK ] [root@DB-Server Server]# lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME mysqld 7860 mysql 15u IPv6 44714 TCP *:mysql (LISTEN) [root@DB-Server Server]# service mysql stop Shutting down MySQL..[ OK ] [root@DB-Server Server]# lsof -i:3306 [root@DB-Server Server]#
#
[root@DB-Server Server]# lsof -i TCP| fgrep LISTEN cupsd 3153 root 4u IPv4 9115 TCP localhost.localdomain:ipp (LISTEN) portmap 3761 rpc 4u IPv4 10284 TCP *:sunrpc (LISTEN) rpc.statd 3797 rpcuser 7u IPv4 10489 TCP *:1011 (LISTEN) sshd 4020 root 3u IPv6 12791 TCP *:ssh (LISTEN) sendmail 4042 root 4u IPv4 12876 TCP localhost.localdomain:smtp (LISTEN)
# サーバーポートが listen 状態であっても、ファイアウォールによって iptables によってポートがブロックされているため、この方法ではポートが開いているかどうかを検出することはできません。
netcat ツールはポートが開いているかどうかを検出します
[root@DB-Server ~]# nc -vv 192.168.42.128 1521 Connection to 192.168.42.128 1521 port [tcp/ncube-lm] succeeded! [root@DB-Server ~]# nc -z 192.168.42.128 1521; echo $? Connection to 192.168.42.128 1521 port [tcp/ncube-lm] succeeded! 0 [root@DB-Server ~]# nc -vv 192.168.42.128 1433 nc: connect to 192.168.42.128 port 1433 (tcp) failed: No route to host
以上がLinux でどのポートが開いているかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。