【Linux】ポートをLISTENしているプログラムを簡単に調べる方法

あるポート番号をLISTENしているのはどのプログラムが知りたい時があると思います。

または立ち上げたプログラムがちゃんとポートをLISTENしているか調べたい時。

※先に他のプログラムがポートをLISTENしてしまっていないか等

調べ方

最近のLinuxではroot権限でnetstatコマンドにpオプションを付けるだけです。

# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:10024         0.0.0.0:*               LISTEN      725/amavisd-new (ma
tcp        0      0 127.0.0.1:10025         0.0.0.0:*               LISTEN      873/master      
tcp        0      0 127.0.0.1:783           0.0.0.0:*               LISTEN      698/spamassassin.pi
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      385/dovecot     
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      586/traffic_manager
tcp        0      0 127.0.0.1:8083          0.0.0.0:*               LISTEN      586/traffic_manager
tcp        0      0 127.0.0.1:8084          0.0.0.0:*               LISTEN      661/traffic_server
tcp        0      0 127.0.0.1:4949          0.0.0.0:*               LISTEN      579/perl        
tcp        0      0 127.0.0.1:8053          0.0.0.0:*               LISTEN      516/unbound     
tcp        0      0 127.0.0.1:8053          0.0.0.0:*               LISTEN      516/unbound     
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      515/dnsmasq     
tcp        0      0 192.168.1.2:53          0.0.0.0:*               LISTEN      515/dnsmasq     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      530/sshd        
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      873/master      
tcp6       0      0 :::80                   :::*                    LISTEN      659/apache2     
tcp6       0      0 :::8080                 :::*                    LISTEN      586/traffic_manager
tcp6       0      0 xxxx:xxxx:xxxx:xxx:x:53 :::*                    LISTEN      515/dnsmasq     
tcp6       0      0 ::1:53                  :::*                    LISTEN      515/dnsmasq     
tcp6       0      0 fe80::xxx:xxxx:xxxx::53 :::*                    LISTEN      515/dnsmasq     
tcp6       0      0 ::1:8053                :::*                    LISTEN      516/unbound     
tcp6       0      0 ::1:8053                :::*                    LISTEN      516/unbound     
udp        0      0 127.0.0.1:53            0.0.0.0:*                           515/dnsmasq     
udp        0      0 192.168.1.2:53          0.0.0.0:*                           515/dnsmasq     
udp        0      0 0.0.0.0:67              0.0.0.0:*                           515/dnsmasq     
udp        0      0 0.0.0.0:123             0.0.0.0:*                           567/chronyd     
udp        0      0 127.0.0.1:323           0.0.0.0:*                           567/chronyd     
udp        0      0 127.0.0.1:8053          0.0.0.0:*                           516/unbound     
udp        0      0 127.0.0.1:8053          0.0.0.0:*                           516/unbound     
udp6       0      0 xxxx:xxxx:xxxx:xxx:x:53 :::*                                515/dnsmasq     
udp6       0      0 ::1:53                  :::*                                515/dnsmasq     
udp6       0      0 fe80::xxx:xxxx:xxxx::53 :::*                                515/dnsmasq     
udp6       0      0 ::1:123                 :::*                                567/chronyd     
udp6       0      0 ::1:323                 :::*                                567/chronyd     
udp6       0      0 ::1:8053                :::*                                516/unbound     
udp6       0      0 ::1:8053                :::*                                516/unbound     

上記の例では-lでLISTENの表示、-nでIPからホスト名の逆引きなし、-tでTCPの表示、-uでUDPの表示、-pでPIDとプログラム名の表示