ブログ

Armadillo-IoT G3/G3L, Armadillo-X1: 接続待ちしているTCP, UDPポートを探す方法

at_ito
2018年2月28日 17時27分

Armadilloでは、標準のソフトウェアの状態ではWebサーバー等のサーバーが動作しています。最終的にシステムを作る際には、セキュリティ上の観点から、可能な限り不要なTCP/UDPポートは使用しないようにしておくのが良いです。

そのため、ここではArmadillo上でどのTCP/UDPポートが接続待ちをしているかを確認する方法を紹介します。

開いているポートの確認

以下のようにnetstatコマンドを使用して、開いているポートを確認することができます。

[armadillo ~]# netstat -antu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
tcp6       0      0 :::80                   :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:25                  :::*                    LISTEN
udp        0      0 0.0.0.0:33404           0.0.0.0:*
udp        0      0 0.0.0.0:5353            0.0.0.0:*
udp        0      0 0.0.0.0:18738           0.0.0.0:*
udp        0      0 0.0.0.0:68              0.0.0.0:*
udp6       0      0 :::11127                :::*
udp6       0      0 :::36313                :::*
udp6       0      0 :::5353                 :::*

上記結果では、80, 22, 25ポートが開いている状態であることが確認できます。

該当のポートをどのプロセスが開いているか確認

該当のポートをどのプロセスが開いているかはlsofコマンドにて確認できます。
Armadilloには標準でインストールされていませんので、まずは以下のコマンドでインストールしてください。

[armadillo ~]# apt-get install lsof

例として80番ポートを使用しているプロセスを確認する場合は、以下のようになります。

[armadillo ~]# lsof -i:80
COMMAND  PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
lighttpd 530 www-data    4u  IPv4   8713      0t0  TCP *:http (LISTEN)
lighttpd 530 www-data    5u  IPv6   8714      0t0  TCP *:http (LISTEN)

上記コマンド結果からlighttpdが80番ポートを開いていることが確認できます。