.\" Copyright (c) 1983, 1990, 1992, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)netstat.1 8.8 (Berkeley) 4/18/94 .\" %FreeBSD: src/usr.bin/netstat/netstat.1,v 1.50 2004/05/31 21:46:06 bmilekic Exp % .\" .\" $FreeBSD$ .\" WORD: symbolically シンボル表記 .\" .Dd March 25, 2004 .Dt NETSTAT 1 .Os .Sh 名称 .Nm netstat .Nd ネットワークの状態を表示する .Sh 解説 .Nm コマンドは、ネットワークに関連したさまざまなデータ構造の情報を、 シンボル表記を交えて表示します。 出力の形式は様々あり、指定したオプションによって変わります。 .Bl -tag -width indent .It Xo .Bk -words .Nm .Op Fl AaLnSW .Op Fl f Ar protocol_family | Fl p Ar protocol .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc 各ネットワークプロトコル、または 特定の .Ar protocol_family あるいは単一の .Ar protocol についてアクティブなソケット (プロトコル制御ブロック) の一覧を表示します。 .Fl A も指定された場合、ソケットに結び付けられた プロトコル制御ブロック (PCB) のアドレスを表示します。 デバッグ用に使用します。 .Fl a も指定された場合、すべてのソケットを表示します。 通常はサーバプロセスに使用されているソケットは表示しません。 .Fl L も指定された場合、 様々な listen 待ち行列の大きさを表示します。 1 番目の数は、受け付けられなかった接続数です。 2 番目の数は、受け付けられなかった不完全な接続数の合計です。 3 番目の数は、待ち行列に繋がれた接続の最大数です。 .Fl S も指定された場合、 .Pf ( Fl n と同じように) ネットワークアドレスを数字で表示しますが、 ポートはシンボル表記で表示します。 .It Xo .Bk -words .Nm .Fl i | I Ar interface .Op Fl abdnt .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc 自動設定されているすべてのネットワークインタフェースまたは単一の .Ar interface の状態を表示します (システムに静的に組み込まれていても ブート時に存在していないインタフェースは表示されません)。 インタフェース名の後の .Pq Dq Li * は、そのインタフェースが .Dq down していることを意味します。 .Fl a も指定された場合、各イーサネットインタフェース および各 IP インタフェースアドレス について、現在使用されているマルチキャストアドレスが表示 されます。 マルチキャストアドレスは、 各々対応するインタフェースアドレスに続いて別個の行に表示 されます。 .Fl b も指定された場合、入出力したバイト数を表示します。 .Fl d も指定された場合、取りこぼしたパケット数を表示します。 .Fl t も指定された場合、watchdog タイマの内容を表示します。 .Fl W も指定された場合、フィールド幅を広くしてインタフェース名を表示します。 .It Xo .Bk -words .Nm .Fl w Ar wait .Op Fl I Ar interface .Op Fl d .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc すべての設定済みネットワークインタフェースまたは単一の .Ar interface 上のパケットトラフィックに関する情報を .Ar wait 秒間隔で表示します。 .Fl d も指定された場合、取りこぼしたパケット数も表示します。 .It Xo .Bk -words .Nm .Fl s Op Fl s .Op Fl z .Op Fl f Ar protocol_family | Fl p Ar protocol .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc 各ネットワークプロトコル、または特定の .Ar protocol_family あるいは単一の .Ar protocol に対して、システム全体の統計情報を表示します。 .Fl s が繰り返された場合、値が 0 のカウンタは省略されます。 .Fl z も指定された場合、統計情報を表示した後リセットします。 .It Xo .Bk -words .Nm .Fl i | I Ar interface Fl s .Op Fl f Ar protocol_family | Fl p Ar protocol .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc 各ネットワークプロトコル、または特定の .Ar protocol_family あるいは単一の .Ar protocol に対して、インタフェースごとの統計情報を表示します。 .It Xo .Bk -words .Nm .Fl m .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc メモリ管理ルーチン .Pq Xr mbuf 9 によって記録されている統計情報を表示します。 ネットワークは、独自にメモリバッファを確保しています。 .It Xo .Bk -words .Nm .Fl r .Op Fl AanW .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc 全て、または指定した .Ar address_family に関するルーティングテーブルを表示します。 .Fl A も指定されていた場合、 内部 Patricia 木構造の内容を表示します。 デバッグ用に使用します。 .Fl a も指定されていた場合、 プロトコル複製されたルート (親ルートを .Dv RTF_PRCLONING することによって生成されたルート) を表示します。 通常これらのルートは表示されません。 .Fl W も指定されていた際には、 各ルートの path MTU と、広いフィールド幅のインタフェース名を表示します。 .It Xo .Bk -words .Nm .Fl rs .Op Fl s .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc ルーティングの統計情報を表示します。 .Fl s が繰り返された場合、値が 0 のカウンタは省略されます。 .It Xo .Bk -words .Nm .Fl g .Op Fl W .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc マルチキャスト (グループアドレス) ルーティングに関連した情報を 表示します。 デフォルトでは、IP マルチキャスト仮想インタフェースおよび ルーティングテーブル、マルチキャストグループメンバを表示します。 .It Xo .Bk -words .Nm .Fl gs .Op Fl s .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc マルチキャストルーティングの統計情報を表示します。 .Fl s が繰り返された場合、値が 0 のカウンタは省略されます。 .El .Pp いくつかのオプションは共通の意味で使えます。 .Bl -tag -width flag .It Fl f Ar address_family , Fl p Ar protocol 指定された .Ar address_family または単一の .Ar protocol に関するレコードのみを表示します。 以下のアドレスファミリまたはプロトコルが指定できます。 .Pp .Bl -tag -width ".Cm netgraph , ng Pq Dv AF_NETGRAPH" -compact .It Em ファミリ .Em プロトコル .It Cm inet Pq Dv AF_INET .Cm bdg , divert , icmp , igmp , ip , ipsec , pim, tcp , udp .It Cm inet6 Pq Dv AF_INET6 .Cm bdg , icmp6 , ip6 , ipsec6 , rip6 , tcp , udp .It Cm pfkey Pq Dv PF_KEY .Cm pfkey .It Cm atalk Pq Dv AF_APPLETALK .Cm ddp .It Cm netgraph , ng Pq Dv AF_NETGRAPH .Cm ctrl , data .It Cm ipx Pq Dv AF_IPX .Cm ipx , spx .\".It Cm ns Pq Dv AF_NS .\".Cm idp , ns_err , spp .\".It Cm iso Pq Dv AF_ISO .\".Cm clnp , cltp , esis , tp .It Cm unix Pq Dv AF_UNIX .It Cm link Pq Dv AF_LINK .El .Pp このプログラムは .Ar protocol が不明であったり対応する統計ルーチンが存在しなかったりした場合には 文句を言います。 .It Fl M デフォルトで使用される .Pa /dev/kmem の代わりに指定した core から、ネームリストに関連する各値を 取り出します。 .It Fl N システムが起動されたカーネルイメージ のかわりに、指定したシステムからネームリストを取り出します。 .It Fl n ネットワークアドレスを数字で表示します。 通常、 .Nm コマンドは、ネットワークアドレスとポートを可能な限り解決して シンボル表記で表示しようとします。 .It Fl W ある表示において、欄が溢れる場合でも、アドレスを縮めません。 .El .Pp デフォルトのアクティブソケット表示では、ローカルおよびリモートアドレス、 送受信キューのサイズ(バイト単位)、プロトコル、そしてプロトコルの内部状態が それぞれ表示されます。 アドレス形式については、 .Dq host.port もしくは、ソケットのアドレスが ネットワーク単位でしか特定できない場合には .Dq network.port という形式が採用されます。 ホストもしくはネットワークアドレスがデータベース .Xr hosts 5 や .Xr networks 5 の内容にしたがって変換可能である場合、各アドレスはシンボル表記で 表示されます。 このような変換が不可能な場合、もしくは .Fl n オプションが指定された場合には、アドレスはアドレスファミリに従って 数値で表示されます。 インターネット IPv4 の .Dq ドット形式 についてさらに知りたい場合には、 .Xr inet 3 を参照して下さい。 特にアドレスが指定されてない場合や、アドレスが .Dq ワイルドカード 指定されている場合には、その部分のアドレスやポート番号のところには .Dq Li * が表示されます。 .Pp インタフェース表示では、パケット転送、エラー、コリジョンに関する 累積統計情報を見ることができます。 また、インタフェースの ネットワークアドレスおよび最大転送可能ユニットサイズ .Pq Dq mtu も見ることができます。 .Pp ルーティングテーブル表示では、利用可能なルートとその状態が表示 されます。 各ルートは、到達先ホストもしくはネットワークと、 パケットの転送 (forward) に使用されるゲートウェイから成ります。 フラグフィールドは、 ルートに関する情報の集合が表示されます。 フラグフィールドの 個別のフラグに関する内容は、 .Xr route 8 および .Xr route 4 でより詳細に論ざれています。 表示される文字とフラグの間の対応は以下の通りです。 .Bl -column ".Li W" ".Dv RTF_WASCLONED" .It Li 1 Ta Dv RTF_PROTO1 Ta "プロトコル特有のルーティングフラグ #1" .It Li 2 Ta Dv RTF_PROTO2 Ta "プロトコル特有のルーティングフラグ #2" .It Li 3 Ta Dv RTF_PROTO3 Ta "プロトコル特有のルーティングフラグ #3" .It Li B Ta Dv RTF_BLACKHOLE Ta "パケットを破棄 (更新中)" .It Li b Ta Dv RTF_BROADCAST Ta "ブロードキャストアドレスを表現するルート" .It Li C Ta Dv RTF_CLONING Ta "使用時にルートを新たに生成する" .It Li c Ta Dv RTF_PRCLONING Ta "使用時にプロトコル特有のルートを新たに生成する" .It Li D Ta Dv RTF_DYNAMIC Ta "(リダイレクトによって) 動的に生成される" .It Li G Ta Dv RTF_GATEWAY Ta "ゲートウェイ等による中継を必要としている到達先" .It Li H Ta Dv RTF_HOST Ta "ホストエントリ (これ以外はネットワーク)" .It Li L Ta Dv RTF_LLINFO Ta "リンクアドレスへ変換できるプロトコル" .It Li M Ta Dv RTF_MODIFIED Ta "(リダイレクトによって) 動的に変更される" .It Li R Ta Dv RTF_REJECT Ta "到達不可能なホストもしくはネットワーク" .It Li S Ta Dv RTF_STATIC Ta "手動で追加された" .It Li U Ta Dv RTF_UP Ta "使用可能ルート" .It Li W Ta Dv RTF_WASCLONED Ta "クローンした結果として作成されたルート" .It Li X Ta Dv RTF_XRESOLVE Ta "外部の daemon がプロトコルからリンクアドレス変換を行なう" .El .Pp 直接到達可能なルートは、ローカルホストにアタッチされた各インタフェースごとに 生成されます。 このようなエントリのゲートウェイフィールドは、 対外インタフェースのアドレスを表します。 refcnt フィールドは、使用されているルートの現在数を示します。 コネクション指向のプロトコルは、通常、コネクションの間中 単一のルートを保持します。 他方で、コネクションレス型のプロトコルは、同じ到達先に対して パケットを送る場合にも、新たにルートを確保します。 use フィールドは、そのルートを通って送られたパケット数を表示します。 インタフェースエントリは、そのルート用に用いられる ネットワークインタフェースを表示します。 .Pp .Nm が .Fl w オプションと .Ar wait インターバル引数を与えられて起動された場合、ネットワークインタフェースに 関連した統計情報を定期的に表示します。 ほとんど使われませんが、オプション指定なしで数字だけを netstat の引数と して指定することもでき、本オプションと同様の動作をさせることができます。 しかし、この使い方は以前との互換性のためにのみ存在します。 デフォルトでは、本表示は すべてのインタフェースについてのサマリ情報からなります。 .Fl I オプションを用いることで、特定の インタフェースの情報を表示させることが可能です。 .Sh 関連項目 .Xr fstat 1 , .Xr nfsstat 1 , .Xr ps 1 , .Xr sockstat 1 , .Xr inet 4 , .Xr route 4 , .Xr unix 4 , .Xr hosts 5 , .Xr networks 5 , .Xr protocols 5 , .Xr services 5 , .Xr iostat 8 , .Xr route 8 , .Xr trpt 8 , .Xr vmstat 8 , .Xr mbuf 9 .Sh 歴史 .Nm コマンドは、 .Bx 4.2 にはじめて登場しました。 .Pp IPv6 サポートは WIDE/KAME プロジェクトが追加しました。 .Sh バグ エラーの概念については、定義が間違っています。