EN JA
NETSTAT(1)
NETSTAT(1) FreeBSD General Commands Manual NETSTAT(1)

名称

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

解説

netstat コマンドは、さまざまなネットワーク関連のデータ構造の内容をシンボル表現で表示します。存在する情報のためのオプションに依存する多くの出力形式があります。
netstat [ -AaLnSTWx][ -f  protocol_family |  -p  protocol][ -M  core][ -N  system]
各ネットワークプロトコルのために、特有の protocol_family のために、または単一の protocol プロトコルのために、アクティブなソケット (プロトコル制御ブロック) のリストを表示します。また、 -A が存在するなら、ソケットに関連したプロトコル制御ブロック (PCB) のアドレスを表示します。デバッグのために使用されます。また、 -a が存在するなら、すべてのソケットの状態を表示します。通常、サーバプロセスによって使用されるソケットは、表示されません。また、 -L が存在するなら、さまざまな listen (接続を受け付け) するキューのサイズを表示します。最初のカウントは、受け付けられない接続の数を表示し、 2 番目のカウントは、受け付けられない不完全な接続の合計数を表示し、 3 番目のカウントは、キューに入れられた接続の最大数です。また、 -S が存在するなら、 ( -n と同様に) 数値としてネットワークアドレスを表示しますが、ポートをシンボル表現で表示します。 -x が存在するなら、各インターネットソケットのためのソケットバッファと tcp タイマの統計値を表示します。 -T が存在するとき、再送信、受信された順序が違っているパケット、と通知されたサイズ 0 のウィンドウを含む、TCP 制御ブロックからの情報を表示します。
netstat -i-I  interface [ -abdhnW][ -f  address_family]
自動設定されているすべてのネットワークインタフェースまたは単一の interface の状態を表示します (システムに静的に設定されるが、ブート時に見つからないインタフェースは、表示されません)。インタフェース名の後のアスタリスク (“ *”) は、インタフェースが“down”していることを示しています。 -a も存在するなら、現在使用中のマルチキャストアドレスは、各イーサネットインタフェースと各 IP インタフェースアドレスのために表示されます。マルチキャストアドレスは、それらが関連しているインタフェースアドレスに続いて個別の行に表示されます。 -b もまた与えられるなら、入力と出力のバイト数を表示します。 -d もまた与えられるなら、落されたパケット数を表示します。 -h もまた与えられるなら、人間に読み込み可能な形式ですべてのカウンタを印刷 (表示) します。 -W もまた与えられるなら、より広いフィールドサイズを使用するインタフェース名を印刷 (表示) します。
netstat -w wait [ -I  interface][ -d][ -M  core][ -N  system][ -q  howmany]
wait 秒の間隔で、すべての設定されたネットワークインタフェースまたは単一の interface でパケットのトラフィックに関する情報を表示します。また、 -q が存在するなら、 howmany の出力の後に終了します。また、 -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 -B [ -z][ -I  interface]
bpf(4) のピア (相手側) に関する統計値を表示します。これは、bpf デバイスによってどのくらいのパケットが適合し、落され、受け取られたかのような情報、また、現在のバッファサイズとデバイス状態に関する情報を含んでいます。
netstat -r [ -AanW][ -F  fibnum][ -f  address_family][ -M  core][ -N  system]
経路表の内容を表示します。 -f が指定されるとき、特定の address_family のための経路表が表示されます。 -F が指定されるとき、数値 fibnum がある経路表が表示されます。指定された fibnum が -1 か、または -F が指定されないなら、デフォルトの経路表が表示されます。 -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]
マルチキャスト仮想インタフェーステーブルとマルチキャスト転送キャッシュの内容を表示します。カーネルが活発にマルチキャストセッションを転送しているときだけ、これらのテーブルのエントリは、現れます。このオプションは、 inetinet6 アドレスファミリにのみ適応可能です。
netstat -gs [ -s][ -f  address_family][ -M  core][ -N  system]
マルチキャスト経路制御の統計値を表示します。 -s が繰り返されるなら、0 の値があるカウンタは、抑制されます。
netstat -Q
netisr(9) 統計値を表示します。フラグフィールドは、利用可能な ISR ハンドラを表示します:
C NETISR_SNP_FLAGS_M2CPUID cpu id に mbuf をマップすることができる
D NETISR_SNP_FLAGS_DRAINEDCPU キュー排出ハンドラがある
F NETISR_SNP_FLAGS_M2FLOW フロー id に mbuf をマップすることができる

いくつかのオプションには、一般的な意味があります:

-f address_family, -p protocol
指定された address_family の、または単一の protocol のレコードの表示を制限します。次のアドレスファミリとプロトコルが解釈されます:

ファミリ
プロトコル
inet ( AF_INET)
divert, icmp, igmp, ip, ipsec, pim, sctp, tcp, udp
inet6 ( AF_INET6)
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”) も見ることができます。

経路表の表示では、利用可能な経路とそれらの状態を示します。各経路は、宛先ホストまたはネットワークとパケットの転送で使用するゲートウェイから成ります。フラグフィールドは、バイナリの選択として格納される経路に関する情報の集合を表示します。個々のフラグは、 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 オプションを用いることで、特定のインタフェースの情報を表示させることが可能です。

netstat-B オプションで呼び出されるとき表示される bpf(4) フラグは、bpf ピア (相手側) の基本的なパラメータを表します。各フラグは、単一の小文字で表されます。出現順に文字とフラグの対応は、次の通りです:

p プロミシャス (無差別) に listen (接続を受け付け) するなら、設定します
i BIOCIMMEDIATE がデバイスに設定されている
f BIOCGHDRCMPLT 状態: ソースリンクアドレスが自動的に満たされています
s BIOCGSEESENT 状態: インタフェースでローカルとリモート由来のパケットを調べます
a パケット受信でシグナルを発生します
l BIOCLOCK 状態: 記述子は、ロックされています

これらのフラグに関する詳しい情報については、 bpf(4) を参照してください。

-x フラグによって、 netstat は、ソケットバッファに格納されたデータに関する記録されたすべての情報を出力します。フィールドは、次の通りです:

R-MBUF 受信キューの mbuf の数。
S-MBUF 送信キューの mbuf の数。
R-CLUS 受信キューのクラスタと任意のタイプの数。
S-CLUS 送信キューのクラスタと任意のタイプの数。
R-HIWA バイト単位の受信バッファの最高水位線。
S-HIWA バイト単位の送信バッファの最高水位線。
R-LOWA バイト単位の受信バッファ最低水位線。
S-LOWA バイト単位の送信バッファ最低水位線。
R-BCNT 受信バッファのバイトカウント。
S-BCNT 送信バッファのバイトカウント。
R-BMAX 受信バッファで使用できる最大のバイト。
S-BMAX 送信バッファで使用できる最大のバイト。

歴史

netstat コマンドは、 4.2BSD で登場しました。

IPv6 のサポートは、WIDE/KAME プロジェクトによって追加されました。

バグ

エラーの概念は、明確に定義されていません。
May 17, 2013 FreeBSD