NETSTAT(1)

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

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

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

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

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

-a  デフォルトの表示では、すべてのソケットの状態が表示されます。通常 は、サーバプロセスで利用されているソケットは表示されません。

-b  本オプションをネットワークインタフェース表示 (後述の -i オプション)と併用した場合には、入力、出力したバイト数を表示します。

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

-f address_family
    表示する統計情報あるいはアドレス制御ブロック情報を address family の指定に合致するアドレスファミリのものに限定します。 アドレスファミリについては、 inet が AF_INET (インターネットプロトコルファミリ)として、 ipx が AF_IPX として、 atalk が AF_APPLETALK (ddp) (アップルトークプロトコル)として、 unix が AF_UNIX (UNIXドメインプロトコルファミリ)として解釈されます。

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

-h  IMP ホストテーブルの状態を表示します(時代遅れ)。

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

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

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

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

-N  /kernel のかわりに、指定したカーネルモジュールからネームリストを取り出します。

-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'')も 見ることができます。

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

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

netstat が -w オプションと wait インターバル引数を与えられて起動された場合、ネットワークインタフェースに 関連した統計情報を定期的に表示します。 ほとんど使われませんが、オプション指定なしで数字だけをnetstatの引数と して指定することもでき、本オプションと同様の動作をさせることができます。 しかし、この使い方は過去との互換性のためにのみ存在します。 デフォルトでは、本表示は すべてのインタフェースについてのサマリ情報からなります。 -I オプションを用いることで、特定の インタフェースの情報を表示させることが可能です。

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

歴史
netstat コマンドは、 4.2BSD にはじめて登場しました。

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