パソコンのポートの開閉状態を確認する方法は?
コマンドラインでnetstat -a
を使いました。
netstat`][1]のパラメータには、このような場合に役立つものがいくつかあります。
または
--listening` は、現在接続を待ち受けているソケットのみを表示します。または
--all` は、現在使用されているすべてのソケットを表示します。または
--tcpは、tcp ソケットを表示します。 -u
または --udp
は udp ソケットを表示する。または
--numeric` は、dns で解決して /etc/services を探す代わりに、ホストとポートを数字で表示します。欲しいものを得るために、これらを組み合わせて使います。どのポート番号が現在使用されているかを知るには、以下のいずれかを使用します。
``bash netstat -atn # tcpの場合 netstat -aun # udpの場合 netstat -atun # 両方
この出力では、言及されているすべてのポートが使用されており、着信を待ち受けているか、相手に接続されています**その他はすべて閉じられています。TCPとUDPのポートは16ビット幅(1~65535まで)です。
** これらのポートは、相手との接続/切断も可能です。
[1]: http://manpages.ubuntu.com/netstat.8
このコマンドを使うことができます。
netstat -tulnp | grep <port no>
何らかのプロセスが表示されていれば使用されます。出力がない場合は閉じられます(使われません)。
port status "LISTENING"は、ポートが開かれていることを示していますか?
これは、あるサービスがお客様のコンピュータのそのポートをリッスンしていることを意味しています。
出力に表示されていないポートは、閉じていることを示していますか?
はい。netstat -a`では、アクティブな接続(listening)とパッシブな接続(non-listening)の両方が表示されます。つまり、サーバーとして機能しているポート(あるサービスが別のマシンやプロセスからの接続をこのポートで待ち受けている)と、確立されているポート(ホストやサービスがサーバーであるかクライアントであるかにかかわらず、このポートで接続が確立されている)が表示されます。
すべてのTCPおよびUDPポートは、ソケットと呼ばれるカテゴリーに属しており、その数は非常に多くなっています。ソケットの情報を見るには、man ss
をチェックしてください。