NETSTAT(1)

名称
netstat - ネットワークの状態を表示する

書式
netstat [-Aan] [-f address_family] [-M core] [-N system] netstat [-dghimnrs] [-f address_family] [-M core] [-N system] netstat [-dn] [-I interface] [-M core] [-N system] [-w wait] netstat [-p protocol] [-M core] [-N system]

解説
netstat コマンドは、ネットワークに関連したさまざまな情報を、シンボル表示を交え てわかりやすく表示します。 出力の形式にもいくつかあり、それは指定オプションに依存します。 第 1 の形式は、プロトコルごとのアクティブソケットの一覧です。 第 2 の形式は、選択したオプションによる、他のネットワークのデータ構造です。 第 3 の形式を、 wait インターバルを指定して用いた場合、 netstat は、ネットワークインタフェースが認識したパケットトラフィックを継続して表 示します。 第4の形式は、指定したプロトコルに関する統計情報を表示します。

本コマンドでは、以下のオプションを指定可能です。

-A  デフォルトの表示では、ソケットと関係したすべてのプロトコル制御ブロックの アドレスが表示されます。通常これらはデバッグに用いられます。

-a  本オプションを付加して起動した場合には、すべてのソケットの状態が表示され ます。デフォルト時には、LISTEN状態にあるソケットの状態は表示されません。

-d  本オプションをネットワークインタフェース表示オプション (-i オプション、もしくは -w オプション) と併用した場合には、欠落したパケット数を併せて表示します。

-f address_family
    address family の指定に合致するアドレスファミリについて、情報を表示します。 アドレスファミリについては、 inet, が AF_INET (インタネットプロトコルファミリ) として、 ns が AF_NS (XEROX NSプロトコルファミリ) として、 iso が AF_ISO (ISOプロトコルファミリ) として、そして unix が AF_UNIX (UNIX ドメインプロトコルファミリ) として解釈されます。

-g  マルチキャスト (グループアドレス) ルーティングに関連した情報を表示します。 デフォルトでは、IP マルチキャスト仮想インタフェースおよび ルーティングテーブルについて表示します。 -s オプションが同時に指定された場合、マルチキャストルーティングについての 統計情報についても表示します。

-h  IMP ホストテーブルの状態を表示します。

-I interface
    指定したインタフェースについて、情報を表示します。本オプションは、 wait だけのインターバルをおいて情報を表示するオプションと同時に指定して使われます。 このインターバルオプションについての詳細は後述します。

-i  自動コンフィギュレーションされているネットワークインタフェースの状態 を表示します(静的にシステムにコンフィギュレーションされている インタフェースについて表示しますが、ブート時にコンフィギュレーションされて いないものについては表示しません)。 -a オプションが同時に指定されている場合には、各イーサネットインタフェース について現在使用されているマルチキャストアドレスおよびIPアドレスが表示 されます。マルチキャストアドレスについては、各インタフェースごとに表示 されます。

-M  デフォルトで使用される /dev/kmem のかわりに、指定した core から取得されるネームリストを用いて、各値を 解釈します。

-m  メモリ管理ルーチンによって記録されているメモリ使用の統計情報を表示します ネットワーク管理システムは、独自にメモリバッファを確保してます)。

-N  /netbsd のかわりに、指定したカーネルモジュールを用いてネームリストを解釈します。

-n  ネットワークアドレスを数字で表示します(通常、 netstat コマンドは、IP アドレスを可能な限りホスト名などのシンボリックなものに 置き換えようとします)。 本オプションは、他のすべての表示形式指定オプションとともに使用できます。

-p protocol
    protocol で指定したプロトコルについての統計情報を表示します。 プロトコルについては、よく知られているものもしくは別名定義されているも のがあてはまります。プロトコルの中には、 /etc/protocols の中で定義されているものがあります。 情報が表示されないプロトコルについては、多くの場合は情報を取得しても意 味がないとされるため、そうなってます。 プログラムにとって、 protocol で指定したプロトコルが未知のものである場合、もしくはそのプロトコルの 統計情報記録テーブルがない場合には、プログラムはその旨メッセージを出します。

-s  プロトコルごとの統計情報状法を表示します。

-r  ルーティングテーブルを表示します。 -s オプションが同時に指定された場合には、ルーティングの統計情報について 表示します。

-w wait
    ネットワークインタフェースごとの統計情報について、 wait で指定した秒ごとに定期的に表示します。

デフォルトでは、アクティブソケット、ローカルおよびリモートアドレス、 送受信キューのサイズ(バイト単位)、プロトコル、そしてプロトコル上の状態が それぞれ表示されます。 アドレス形式については、``host.port'' もしくは、ソケットのアドレスが ネットワーク単位でしか特定できない場合には ``network.port'' という形式が採用 されます。ホストもしくはネットワークアドレスがデータベース /etc/hosts や /etc/networks の内容にしたがって変換可能である場合、各アドレスは、名前による表示が されます。このような変換が不可能な場合、もしくは -n オプションが指定された場合には、アドレスから名前への変換は行われません。 インタネットアドレスの形式についてさらに知りたい場合には、 inet(3) を参照して下さい。 特にアドレスが指定されていない場合や、アドレスがワイルドカード指定されて いる場合には、その部分のアドレスやポート番号のところには ``*'' が表示されます。

インタフェース表示を行うことで、パケット転送、エラー、コリジョンにしたがって 累積される統計情報を見ることができます。また、インタフェースの ネットワークアドレスおよび、最大転送可能ユニットサイズ (``mtu'') も見る ことができます。

ルーティングテーブルを表示することで、取得可能なルートとその状態を取得 することが可能です。各ルートは、到達先ホストもしくはネットワークと、 パケットの転送に使用されるゲートウェイから成ります。フラグフィールドは、 ルーティングに関する状態を集めたものが表示されます。フラグフィールドの 各フラグについては、 route(8) および route(4) を参照して下さい。 文字列とフラグの間の対応は以下の通りです。
1 RTF_PROTO2 ルーティングフラグ#1にて特定されるプロトコル 2 RTF_PROTO1 ルーティングフラグ#2にて特定されるプロトコル B RTF_BLACKHOLE 破棄されるパケット C RTF_CLONING 新しいルートを生成する D RTF_DYNAMIC 動的に生成される。 G RTF_GATEWAY ゲートウェイ等による中継を必要としている到達先 H RTF_HOST ホストエントリ L RTF_LLINFO アドレス変換を連動させられる正当なアドレス M RTF_MODIFIED 動的に変更される R RTF_REJECT ホストもしくはネットワーク到達不可能 S RTF_STATIC 手動で追加された U RTF_UP ルート使用可能 X RTF_XRESOLVE 外部のdaemonがプロトコルからリンクアドレス変換を行う

直接到達可能なルートは、ローカルホストにアタッチされた各インタフェースごとに 生成されます。このことは、各エントリごとのゲートウェイフィールドが 対外インタフェースのアドレスを表示することを意味します。 refcntフィールドは、現在使用されているルートの現在の数を示します。プロトコル ごとのコネクションは、通常は単一のルート下で保持されます。一方で、 コネクションレス型のプロトコルは、同じ到達先に対してパケットを送る場合には、 単一のルートを確保します。 useフィールドは、そのルートを通ったパケット数を表示します。 インタフェースエントリは、そのルートを利用するに当たって通った ネットワークインタフェースを表示します。

netstat が -w オプションと wait インタバル引数を与えられて起動された場合、ネットワークインタフェースに 関連した統計情報を定期的に表示します。 ほとんど使われませんが、オプション指定なしで数字だけを netstat の引数と して指定するだけで、本オプションと同様の動作をさせることができます。 しかし、この使い方は過去との互換性のためにのみ存在します。 本表示は、プライマリインタフェース (最初にみつかったインタフェース) お よび、すべてのインタフェースについての情報サマリからなります。 プライマリインタフェースについては、 -I オプションを用いることで、他のインタフェースと置き換えることが可能です。 各情報の最初の行については、最後にシステムがリブートしてからの情報の サマリが表示されます。そのあとの行については、指定した間隔で収集した 統計情報を表示します。

関連項目
iostat(1), nfsstat(1), ps(1), vmstat(1), hosts(5), networks(5), protocols(5), services(5), trpt(8), trsp(8)

歴史
netstat コマンドは、 4.2BSD にてはじめて実現されました。

バグ
エラー告知については、定義が間違っています。