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
オプションを用いることで、特定の
インタフェースの情報を表示させることが可能です。