netstat - NETwork STATus の表示
netstat コマンドでネットワークに関するさまざまな情報を得ることができます。
% netstat TCP: IPv4 Local Address Remote Address Swind Send-Q Rwind Recv-Q State -------------------- -------------------- ----- ------ ----- ------ ------- hdw3ss12.34778 smlmas10.X11 63048 0 24820 0 ESTABLISHED hdw3ss12.37089 stdfsv1.nfsd 24576 0 8760 0 TIME_WAIT hdw3ss12.37090 stdfsv1.nfsd 24576 0 8760 0 TIME_WAIT
のような表示がされると思います。 smlms10 の X サーバーに hdw3ss12 の 34778 番ポートが接続していることなどがわかります。
% netstat -n
のように -n オプションを使用すると numeric にわざわざホスト名やプロトコル名を変換せずに 数字のまま出力します。
TCP: IPv4 Local Address Remote Address Swind Send-Q Rwind Recv-Q State -------------------- -------------------- ----- ------ ----- ------ ------- 163.143.72.52.34778 163.143.134.154.6000 63048 0 24820 0 ESTABLISHED 163.143.72.52.37089 163.143.3.21.2049 24576 0 8760 0 TIME_WAIT 163.143.72.52.37090 163.143.3.21.2049 24576 0 8760 0 TIME_WAIT
先ほどのものと見比べて X11 のポートは 6000 番だということがわかると思います。
% netstat -n < tmp
のようにファイルに状態を保存しておき、なにかツールを起動し、
% netstat -n | diff tmp -
のように diff をとることによってそのツールがどのポートを使用しているのか調べたりします。
他にもオプションがいろいろあります。
% netstat -r
とすると、ルーティングテーブルを示します。
% netstat -a
とすれば、すべてのソケットの状態を表示します。 接続(connection)やサーバ待ち受けポート(listen port)の確認ができます。
Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp4 0 0 *.88 *.* LISTEN tcp6 0 0 *.88 *.* LISTEN tcp46 0 0 *.5900 *.* LISTEN