Diff of UNIX/コマンド/ネットワーク管理/netstat


TITLE:netstat - NETwork STATus の表示
#navi(UNIX/コマンド)
#contentsx

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)の確認ができます。
#pre{{{
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
}}}
xrea