Linuxで何のポートが開いているか調べたい時はどうすれば良いでしょうか?
LinuxでSSHやFTPの接続ができません。調査として開いているポートを確認したいです。どうすれば良いでしょうか?
そういった初心者や忘れてしまった人の為に、現役エンジニアの筆者が答えます。
筆者はWindowsサーバーやLinuxサーバーの運用構築を11年間以上おこなってきました。その経験を元に知識を公開していきます!
Linuxで開いているポート番号を確認するコマンド
「ss」コマンドは開いているポートやセッション確率しているポートを調べる事が可能です。
「ss」コマンドのオプションを把握しておきましょう。
オプション | 効果 |
---|---|
-a | 全てのポート情報を表示 |
-n | 名前解決をしないで表示 |
-t | TCPポートのみ表示する |
-u | UDPポートのみ表示する |
Linuxで開いているポート番号を確認してみる
では実際にコマンドを使用してポートを確認してみます。
ssコマンドの結果
LinuxをSSHでログインして以下のコマンドをたたいてみます。
ss
全てのポートを表示してみます。※オプションなしは-aと同じで全て表示します。
応用編:Linuxで開いているポート番号を確認
ss -antコマンドの結果
では次に以下のコマンドを実行してみます。
ss -ant
全てのTCPポートを表示しています。
だいぶわかりやすくなりました。
「LISTEN」と表示されているのは開いているが接続されていないTCPポート一覧です。
「ESTAB」と表示されているのは接続まで確率されているTCPポート一覧です。
表示されている上から見ると3306から25番ポートまでが開いているTCPポート、その中でSSHで接続しているので22番ポートが「ESTAB」となっていてます。
番外編:Linuxで確率しているTCPポート番号を確認
ss -tコマンドの結果
以下のコマンドを実行してみます。
ss -t
確率しているTCPポートのみを表示してみます。
SSHで接続しているのでsshのポートがTCP確率されています。
Linuxで宛先のポートが開いているか確認する方法
相手先のポートが開いているかを確認する方法もあります。nmapコマンドです。
nmapコマンドの基本構文は以下です。
nmap -p ポート番号 宛先IP
192.168.0.1の80番ポートが開いているか確認します。
[root@localhost ~]# nmap -p 80 192.168.0.1
Starting Nmap 6.40 ( http://nmap.org ) at 2024-05-06 17:21 JST
Nmap scan report for dsldevice.lan (192.168.0.1)
Host is up (0.0084s latency).
PORT STATE SERVICE
80/tcp open http
MAC Address: E4:DA:DF:CE:C4:88 (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 0.58 seconds
「80/tcp open http」となっているので、ポートは空いています。
Linuxでその他の状態を確認するコマンド
Linuxでその他の状態を確認する方法をご紹介します。
CPUの確認方法について
メモリの確認方法について
物理ディスクの容量確認方法について
サービス一覧確認方法について
インターネット接続確認方法について
OSのバージョン確認方法について
LinuxサーバーのIPアドレス確認方法について
Linuxサーバーのルーティング確認方法について
まとめ:Linuxで開いているポート番号を確認するコマンド
Linuxで開いているポート番号を確認するコマンドは「ss」コマンドです。
「ss」コマンドのオプション一覧
オプション | 効果 |
---|---|
-a | 全てのポート情報を表示 |
-n | 名前解決をしないで表示 |
-t | TCPポートのみ表示する |
-u | UDPポートのみ表示する |
開いているTCPポート一覧コマンド
ss -ant
接続して確率されているTCPポート一覧コマンド
ss -t
これでLinuxで開いているポートを調べる事が出来ました!