tail head cat sleep
QR code linking to this page

manページ  — NETSTAT

名称

netstat – ネットワークの状態を表示する

内容

解説

netstat コマンドは、ネットワークに関連したさまざまなデータ構造の情報を、 シンボル表記を交えて表示します。 出力の形式は様々あり、指定したオプションによって変わります。
netstat [-AaLnSW] [-f protocol_family | -p protocol] [-M core] [-N system] 各ネットワークプロトコル、または 特定の protocol_family あるいは単一の protocol についてアクティブなソケット (プロトコル制御ブロック) の一覧を表示します。 -A も指定された場合、ソケットに結び付けられた プロトコル制御ブロック (PCB) のアドレスを表示します。 デバッグ用に使用します。 -a も指定された場合、すべてのソケットを表示します。 通常はサーバプロセスに使用されているソケットは表示しません。 -L も指定された場合、 様々な listen 待ち行列の大きさを表示します。 1 番目の数は、受け付けられなかった接続数です。 2 番目の数は、受け付けられなかった不完全な接続数の合計です。 3 番目の数は、待ち行列に繋がれた接続の最大数です。 -S も指定された場合、 ( -n と同じように) ネットワークアドレスを数字で表示しますが、 ポートはシンボル表記で表示します。
netstat -i | -I interface [-abdnt] [-f address_family] [-M core] [-N system] 自動設定されているすべてのネットワークインタフェースまたは単一の interface の状態を表示します (システムに静的に組み込まれていても ブート時に存在していないインタフェースは表示されません)。 インタフェース名の後の ("*") は、そのインタフェースが "down" していることを意味します。 -a も指定された場合、各イーサネットインタフェース および各 IP インタフェースアドレス について、現在使用されているマルチキャストアドレスが表示 されます。 マルチキャストアドレスは、 各々対応するインタフェースアドレスに続いて別個の行に表示 されます。 -b も指定された場合、入出力したバイト数を表示します。 -d も指定された場合、取りこぼしたパケット数を表示します。 -t も指定された場合、watchdog タイマの内容を表示します。 -W も指定された場合、フィールド幅を広くしてインタフェース名を表示します。
netstat -w wait [-I interface] [-d] [-M core] [-N system] すべての設定済みネットワークインタフェースまたは単一の interface 上のパケットトラフィックに関する情報を wait 秒間隔で表示します。 -d も指定された場合、取りこぼしたパケット数も表示します。
netstat -s [-s] [-z] [-f protocol_family | -p protocol] [-M core] [-N system] 各ネットワークプロトコル、または特定の protocol_family あるいは単一の protocol に対して、システム全体の統計情報を表示します。 -s が繰り返された場合、値が 0 のカウンタは省略されます。 -z も指定された場合、統計情報を表示した後リセットします。
netstat -i | -I interface -s [-f protocol_family | -p protocol] [-M core] [-N system] 各ネットワークプロトコル、または特定の protocol_family あるいは単一の protocol に対して、インタフェースごとの統計情報を表示します。
netstat -m [-M core] [-N system] メモリ管理ルーチン (mbuf(9) [英語]) によって記録されている統計情報を表示します。 ネットワークは、独自にメモリバッファを確保しています。
netstat -r [-AanW] [-f address_family] [-M core] [-N system] 全て、または指定した address_family に関するルーティングテーブルを表示します。 -A も指定されていた場合、 内部 Patricia 木構造の内容を表示します。 デバッグ用に使用します。 -a も指定されていた場合、 プロトコル複製されたルート (親ルートを RTF_PRCLONING することによって生成されたルート) を表示します。 通常これらのルートは表示されません。 -W も指定されていた際には、 各ルートの path MTU と、広いフィールド幅のインタフェース名を表示します。
netstat -rs [-s] [-M core] [-N system] ルーティングの統計情報を表示します。 -s が繰り返された場合、値が 0 のカウンタは省略されます。
netstat -g [-W] [-f address_family] [-M core] [-N system] マルチキャスト (グループアドレス) ルーティングに関連した情報を 表示します。 デフォルトでは、IP マルチキャスト仮想インタフェースおよび ルーティングテーブル、マルチキャストグループメンバを表示します。
netstat -gs [-s] [-f address_family] [-M core] [-N system] マルチキャストルーティングの統計情報を表示します。 -s が繰り返された場合、値が 0 のカウンタは省略されます。

いくつかのオプションは共通の意味で使えます。
-f address_family , -p protocol
  指定された address_family または単一の protocol に関するレコードのみを表示します。 以下のアドレスファミリまたはプロトコルが指定できます。

ファミリ プロトコル
inet ( AF_INET) bdg, divert, icmp, igmp, ip, ipsec, pim, tcp, udp
inet6 ( AF_INET6) bdg, icmp6, ip6, ipsec6, rip6, tcp, udp
pfkey ( PF_KEY) pfkey
atalk ( AF_APPLETALK) ddp
netgraph, ng ( AF_NETGRAPH) ctrl, data
ipx ( AF_IPX) ipx, spx
unix ( AF_UNIX)
link ( AF_LINK)
 

このプログラムは protocol が不明であったり対応する統計ルーチンが存在しなかったりした場合には 文句を言います。
-M デフォルトで使用される /dev/kmem の代わりに指定した core から、ネームリストに関連する各値を 取り出します。
-N システムが起動されたカーネルイメージ のかわりに、指定したシステムからネームリストを取り出します。
-n ネットワークアドレスを数字で表示します。 通常、 netstat コマンドは、ネットワークアドレスとポートを可能な限り解決して シンボル表記で表示しようとします。
-W ある表示において、欄が溢れる場合でも、アドレスを縮めません。

デフォルトのアクティブソケット表示では、ローカルおよびリモートアドレス、 送受信キューのサイズ(バイト単位)、プロトコル、そしてプロトコルの内部状態が それぞれ表示されます。 アドレス形式については、 "host.port" もしくは、ソケットのアドレスが ネットワーク単位でしか特定できない場合には "network.port" という形式が採用されます。 ホストもしくはネットワークアドレスがデータベース hosts(5)networks(5) の内容にしたがって変換可能である場合、各アドレスはシンボル表記で 表示されます。 このような変換が不可能な場合、もしくは -n オプションが指定された場合には、アドレスはアドレスファミリに従って 数値で表示されます。 インターネット IPv4 の "ドット形式" についてさらに知りたい場合には、 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 オプションを用いることで、特定の インタフェースの情報を表示させることが可能です。

関連項目

fstat(1), nfsstat(1), ps(1), sockstat(1), inet(4), route(4), unix(4), hosts(5), networks(5), protocols(5), services(5), iostat(8), route(8), trpt(8), vmstat(8), mbuf(9) [英語]

歴史

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

IPv6 サポートは WIDE/KAME プロジェクトが追加しました。

バグ

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

NETSTAT (1) March 25, 2004

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

If it wasn't for C, we'd be using BASI, PASAL and OBOL