SOFTELメモ Developer's blog

ポートが空いてるか調べる

Category: linux, 未分類 Tagged: 2017/07/14

サーバー側からポートが開いているか調べる

# netstat -nap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:445                 0.0.0.0:*                   LISTEN      20999/smbd
tcp        0      0 127.0.0.1:199               0.0.0.0:*                   LISTEN      1864/snmpd
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      2182/php-fpm
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1551/mysqld
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      20999/smbd
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      20576/sshd
tcp        0      0 :::80                       :::*                        LISTEN      16673/httpd
tcp        0      0 :::22                       :::*                        LISTEN      20576/sshd
...
...

知りたいことに応じて以下オプションを使用する。

-l, --listening リッスンしているものだけ
-n, --numeric   ポートやIPそのままで表示
-t, --tcp       TCPを表示
-u, --udp       UDPを表示
-x, --unix      UNIX Domainソケットを表示

Linuxなら netstatでなくてssコマンドでもよい。出力が若干違うがほぼ同じ。

netstatならWindowsにもあるので、OSの違いをあまり考えずに打ててよい。。

外からポートが開いているか調べる

telnetでポート番号を指定して通信してみて、拒否されなければポートは空いているはず。

$ telnet IPアドレス ポート番号
$ telnet 192.168.0.123 110

nmapコマンドでスキャンするのもよい。

$ nmap -sT -pポート番号 IPアドレス
$ nmap -sT -p110 192.168.0.123

Starting Nmap 5.51 ( http://nmap.org ) at 2017-07-14 14:28 JST
Nmap scan report for 192.168.12.239
Host is up (0.020s latency).
PORT    STATE SERVICE
110/tcp open  pop3

Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds

ファイアウォール

サーバーが立ち上がっていても、接続できないときは、ファイアウォール(iptablesなど)で拒否されている可能性もあるので、要確認。

関連するメモ

コメント