netstat - ネットワークのステータスを表示
netstat [-uanvkRL] [-f address_family] [-P protocol]
netstat -g [-nv] [-f address_family]
netstat -p [-n] [-f address_family]
netstat -s [-a] [-f address_family] [-P protocol] [-T u | d ] [interval [count]]
netstat -m [-T u | d ] [-v] [interval [count]]
netstat -i [-I interface] [-an] [-f address_family] [-T u | d ] [interval [count]]
netstat -r [-anvR] [-f address_family | filter]
netstat -M [-ns] [-f address_family]
netstat -D [-I interface] [-f address_family]
netstat -d [-f address_family]
netstat コマンドは、ネットワーク関連のデータ構造の内容を、指定されたオプションに従って、さまざまな形式で表示します。
netstat コマンドの形式は上のセクションに示されていますが、次のようないくつかの形態があります。
1つめの形式は、必ずしも引数を指定する必要がなく、それぞれのプロトコルについてアクティブなソケットを示します。
2 番目、3 番目、4 番目の形式 (–g、–p、および –s オプション) は、さまざまなネットワークデータ構造から情報を取り出して表示します。
5 番目の形式は (–m オプション) STREAMS メモリーの統計情報を表示します。
6 番目の形式は (–i オプション) インタフェースの状態を表示します。
7 番目の形式 (–r オプション) はルーティングテーブルを表示します。
8 番目の形式は (–M オプション) マルチキャストルーティングテーブルを表示します。
9 番目の形式 (–D オプション) は 1 つまたはすべてのインタフェースの DHCP の状態を表示します。
10 番目の形式 (–d オプション) は、宛先キャッシュエントリのテーブルを表示します。
これらの形式について、以下により詳しく説明します。
引数を 1 つも指定しない場合 (最初の形式), netstat は f オプションで設定を変更しないかぎり、PF_INET、 PF_INET6、 および –PF_UNIX の接続ソケットを表示します。
すべてのソケット、 すべてのルーティングテーブルエントリ、すべての物理および論理インタフェースの状態を表示します。通常は、サーバープロセスに使用されるリスナーソケットは表示されません。ほとんどの場合、インタフェース、ホスト、ネットワーク、およびデフォルトルートだけが表示されます。また、インタフェースでステータスが表示されるのは、物理インタフェースのみです。
宛先キャッシュエントリテーブルを表示します。下の「表示」を参照してください。
すべての表示を address_family で指定されたものだけに限定します。指定できる address_family の値は次のとおりです。
IPv4 情報を表示する AF_INET アドレスファミリ用
IPv6 情報を表示する AF_INET6 アドレスファミリ用
AF_UNIX アドレスファミリ用
Socket Description Protocol (SDP) プロトコルおよびアドレスファミリ用。SDP ソケットに関して表示されるアドレス状態を次に示します。netstat によって表示されるフラグのあとにその意味が示されています。
SDP プロトコルおよびアドレスファミリの場合、netstat は次の列ヘッダーを表示します。
ローカル IP アドレス
リモート IP アドレス
ソケットの現在の状態
未読バイト
Tx (TxBPosted を含む) のキューに入っているバイト数
転送用に HW に送信済みのバイト数
ローカルの通知済みバッファーサイズ
リモートの通知済みバッファーサイズ
ローカルの通知済み Rx バッファー数
リモートの通知済み Rx バッファー数
現在の送信済み Rx バッファー数
–r オプションとともに使用した場合のみ、経路の表示を指定されたフィルタにマッチするものに限定します。フィルタのルールは keyword:value のペアで構成されます。既知の keyword と value の構文は次のとおりです。
アドレスファミリを選択します。これは –f address_family と同じで、どちらの構文もサポートされます。
出力インタフェースを選択します。名前 (hme0 など) または ifIndex 番号 (たとえば 2) でインタフェースを指定することができます。any が指定された場合は、指定されたインタフェースを持つすべての経路がフィルタにマッチします (null 以外のすべて)。 が指定された場 合は、 null インタフェースを持つすべての経路がマッチします。インタフェースのインデックス番号 (ifIndex) は ifconfig(8) の –a オプションで確認できます。
着信先 IP アドレスを選択します。マスク長とともに指定した場合は、長さが同じか、またはより長い (より限定された) マスクにマッチする経路が選択されます。any が指定された場合は、0 以外のすべてのアドレスが選択されます。none が指定された場合は、アドレス 0 が選択されます。
指定されたフラグでタグ付けされた経路を選択します。デフォルトでは、フラグが指定されたとおりに設定されている場合にのみマッチします。先頭に + を付けることにより、指定されたフラグが設定されている場合にのみマッチするようになります。先頭に - を付けることにより、指定されたフラグが設定されていない場合にのみマッチするようになります。
–f オプションを複数使用することにより、複数のフィルタを指定することができます。例:
% netstat -nr -f outif:hme0 -f outif:hme1 -f dst:10.0.0.0/8
上のコマンドでは、マスク長が8以上でネットワーク 10.0.0.0/8 に属する経路と、出力インタフェースが hme0 または hme1 である経路が表示され、それ以外の経路は全て除外されます。
すべてのインタフェースのマルチキャストグループメンバーシップを表示します。–v オプションが含まれている場合は、ソースに特定のメンバーシップ情報も表示されます。下の「表示」を参照してください。
IP トラフィック用に使用されるインタフェースの状態を表示し ま す。通常は、物理インタフェースの統計情報を表示します。–a オプションと組み合わせて使用された場合は、論理インタフェースの情報も報告されます。ifconfig(8) を参照してください。
カーネルデータパスバイパス機能が有効になったソケットのみを表示します。
STREAMS メモリーの統計情報を表示します。
ネットワークアドレスを数字で表示します。netstat は、通常はアドレスをシンボルで表示します。このオプションは、どの表示形式でも使用できます。
Net to Media テーブルを表示します。下の「表示」を参照してください。
ルーティングテーブルを表示します。通常は、インタフェース、ホスト、ネットワーク、およびデフォルトルートだけが表示されますが、このオプションと –a オプションを組み合わせることにより、キャッシュを含むすべての経路が表示されます。マルチキャストルートを設定していない場合は、カーネルが必要に応じてこの種のエントリを取得しても、–ra によりマルチキャストルーティングエントリが表示されないことがあります。
プロトコルごとに統計情報を表示します。–M オプションとともに使用した場合は、この代わりにマルチキャストルーティング統計情報を表示します。–a オプションとともに使用した場合は、システム全体の統計情報に加えて、インタフェースごとの統計情報が表示されます。下の「表示」を参照してください。
タイムスタンプを表示します。
時間の内部表現の出力表現に u を指定します。time(2) を参照してください。 標準の日付フォーマットに d を指定します。date(1) を参照してください。
最初にネットワークエンドポイントを作成したか、または現在それを制御しているユーザー、プロセス ID、およびプログラムを一覧表示します。
冗長。ソケット、STREAMS メモリー統計情報、ルーティングテーブル、プロセス、マルチキャストグループメンバーシップの追加情報を表示します。
特定のインタフェースの状態を表示します。interface は hme0 や eri0 などの有効なインタフェース名です。通常は物理インタフェースのステータスと統計情報が表示されます。このオプションを –a オプションとともに使用した場合、論理インタフェースの情報も報告されます。
マルチキャストルーティングテーブルを表示します。–s オプションとともに使用した場合、この代わりにマルチキャストルーティングの統計情報を表示します。
表示するすべてのソケットの状態や統計情報を protocol に関連するものに限定します。指定できるプロトコルは、 icmpv6、 icmp、 ip、 ipv6、 sctp、 igmp、 udp、 tcp、 sdp、 rawip、 のいずれかです。rawip を raw として指定することもできます。コマンドはプロトコルオプションを小文字でのみ受け付けます。
ソケット状態の表示を、SO_REUSEPORT 負荷分散メカニズムを使用するソケットに限定します。現在は、TCP、UDP、および SCTP のみがこの負荷分散メカニズムをサポートしています。詳細については、getsockopt(3C) のマニュアルページを参照してください。
DHCP で構成されたインタフェースのステータスを表示します。
この修飾子を指定すると、ソケットとルーティングテーブルエントリの拡張セキュリティ属性が表示されます。–R 修飾子はシステムが Solaris Trusted Extensions 機能とともに構成されている場合にのみ利用可能です。
–r オプションのみの場合、このオプションはルーティングエントリのゲートウェイセキュリティ属性だけを表示します。セキュリティー属性の詳細については、route(8) を参照してください。
最初の形式のコマンドを使用してソケット情報を表示する際に、このオプションはマルチレベルポート (MLP) ソケットの追加情報を表示します。これには次のようなものが含まれます。
ソケットが接続されている場合、ピアのラベル。
次のフラグがソケットの "State" 出力に追加されます。
ソケットはゾーンプライベート IP アドレス上の MLP です。
ソケットはゾーン間で共有される IP アドレス上の MLP です。
interval 秒ごとに前回の表示から積算した統計情報を表示し、count が指定されていない場合は永久に繰り返します。interval とともにブートされた場合、netstat の出力の最初の行には、最後のリブートから積算された統計情報が表示されます。
次のオプションは interval をサポートします: –i, –m, –s および –Ms. いくつかの値は構成パラメータで、単にインターバルごとに表示されます。
interval で間隔が指定されている際に count で指定された回数だけ、インタフェースの統計情報の表示を繰り返します。
それぞれのアクティブなソケットの情報には、ローカルとリモートのアドレス、送信と受信の待ち行列サイズ (バイト数)、送信および受信ウィンドウ (バイト数) 、プロトコルの内部状態があります。
udp ソケットの場合、表示は次のようになります。
ローカルおよびリモートの IP アドレス
送信および受信バッファーサイズ (バイト単位)
パケットの送信や受信でオーバーフローが発生した回数
プロトコルの内部状態
現在、UDP ソケットの書き込み/送信は Tx オーバーフローの場合にブロックされます。受信パケットは、Rx オーバーフローの場合に削除されます。
カーネルバイパスソケットの場合、2 つのデータパスがあります。Rx/TxOverflows は、カーネルデータパスで発生しているオーバーフローのみを表します。これがカーネルバイパスソケット用であることを示すの値のあとで追加の (*) が表示されます。
ソケットアドレスの表示に使用される記号形式は通常、次のどちらかです。
hostname.port
上記はソケットアドレスがホスト名を表す場合です。
network.port
上記はソケットアドレスが特定のホストではなくネットワークを表す場合です。
ソケットに関連する数値ホストアドレスやネットワーク番号を使って、それに対応する記号ホスト名やネットワーク名が hosts や networks データベースから検索されます。
アドレスのネットワークやホスト名が不明な場合、または –n オプションが指定されている場合、ネットワークアドレスが数値で表示されます。無指定または「ワイルドカード」のアドレスやポートは 「*」 で表示されます。インターネットの命名規則については inet (4P) と inet6(4P) のマニュアルページを参照してください。
SCTP ソケットについては、エンドポイントが複数のアドレスで表されることがあるため、冗長オプション (–v) はすべてのローカルとリモートのアドレスを表示します。
TCP ソケットの状態を表す値には、次のものがあります。
バインドされた。接続または待機の準備ができている。
クローズされました。ソケットは使用されていない。
クローズされ、リモート停止が行われた。肯定応答を待っている。
リモート停止。ソケットのクローズを待っている。
接続が確立された。
ソケットがクローズされた。接続を停止している。
ソケットがクローズされた。リモートからの停止を待っている。
アイドル。オープンされているが、バインドされていない。
リモート停止の後、クローズされた。肯定応答を待っている。
着信する接続を待機している。
進行中の接続の最初の同期化をはかる。
アクティブに接続を確立しようとしている。
クローズの後、リモート停止の再送信を待っている。
SCTP ソケットの状態を表す値には、次のものがあります。
クローズされました。ソケットは使用されていない。
着信するアソシエーションを待機している。
アソシエーションが確立された。
ピアに INIT が送信された。肯定応答を待っている。
INIT-ACK からのクッキーがピアに送信された。肯定応答を待っている。
上位レイヤーから SHUTDOWN を受信した。ピアからのすべての未処理 DATA の肯定応答を待っている。
すべての未処理データが SHUTDOWN_SENT 状態で肯定されました。ピアに SHUTDOWN が送信された。肯定応答を待っている。
ピアから SHUTDOWN を受信した。すべての未処理の DATA の肯定応答を待っている。
すべての未処理データが SHUTDOWN_RECEIVED 状態で肯定されました。ピアに SHUTDOWN_ACK が送信された。
表示形式次は、 –g, –m, –p, –s オプションのどれを指定するかによって異なります。
マルチキャストグループメンバーシップのリストを表示します。
メモリーの使用量を表示します (たとえば、STREAMS mblks) 。
ネットワークとメディアのマッピングテーブルを表示します。IPv4 の場合は、アドレス解決テーブルが表示されます。arp(8) を参照してください。IPv6 の場合は、近隣キャッシュが表示 されます。
さまざまなプロトコルレイヤの統計を表示します。
統計では、MIB 指定変数が使用されます。ipForwarding の値は次のように定義されています。
ゲートウェイとして機能している。
ゲートウェイとして機能していない。
IPv4、IPv6、および ICMPv6 プロトコルレイヤーは、インタフェースごとの統計を保持します。–a オプションが –s オプションと共に指定された場合は、合計された値とともにインタフェースごとの統計が表示されます。そうでない場合は、合計の統計情報だけが表示されます。
第 2、第 3、第 4 の形式のコマンドでは、すくなくとも –g, –p, –s のいずれかを指定する必要があります。これらのオプションは、どのような組み合わせで指定することもできます。また、–m (第 5 の形式) オプションは、–g、–p、–s オプションのいずれの組み合わせとも同時に指定できます。これらのオプションを複数指定した場合、netstat はそれぞれに対応した情報を表示します。
インタフェースステータスでは、現在のすべてのインタフェースの情報が 1 行に 1 つずつ表示されます。–I オプションでインタフェースを指定すると、そのインタフェースの情報だけが表示されます。
この情報には、インタフェース名、mtu (最大伝送単位、または最大パケットサイズ) (ifconfig(8) を参照)、インタフェースが接続されているネットワーク、各インタフェースのアドレス、インタフェースに対応するカウンタが含まれます。カウンタの種類には、入力パケット数、入力エラー数、出力パケット数、出力エラー数、衝突数のカウンタがあります。二地点間インタフェースの場合、Net および Dest フィールドはリンクの相手の名前またはアドレスです。
–a オプションが –i オプションまたは –I オプションのいずれかと同時に指定された場合、出力に物理インタフェースの名前が含まれ、それぞれの論理インタフェースの入力パケット数と出力パケット数が追加の情報とともに表示されます。
–n オプションを指定すると、インタフェース名の代わりに IP アドレスが表示されます。
オプションの interval を指定すると、出力は、ユーザーが中断するか、または count に到達するまで interval 秒ごとに表示されます。「オペランド」の節を参照のこと。
物理インタフェースを指定する場合は –I オプションを使用します。interval オペランドとともに使用した場合は、–I オプションのための表示は次のような形式になります。
input eri0 output input (Total) output packets errs packets errs colls packets errs packets errs colls 227681 0 659471 1 502 261331 0 99597 1 502 10 0 0 0 0 10 0 0 0 0 8 0 0 0 0 8 0 0 0 0 10 0 2 0 0 10 0 2 0 0
入力インタフェースが指定されていない場合は、アドレスファミリ inet または inet6 の最初のインタフェースが表示されます。
ルーティングテーブルには、使用可能な経路とそれぞれのステータスが表示されます。各経路には、宛先のホストまたはネットワークと、パケットの転送で使用するゲートウェイが表示されます。flags 列には経路のステータスが表示されます。表示に使用されるフラグの意味は次のとおりです。
経路が up (オン) である。
経路がゲートウェイに向かっている。
経路がネットワークではなくホストに向かっている。
–multirt オプションによって確立された冗長経路である。
–setsrc オプションによって確立された経路である。
リダイレクトによって動的に作成された経路である。
パケットは通知なく削除される (RTF_BLACKHOLE が設定されている)。
パケットの削除時に ICMP エラーが送信される (RTF_REJECT が設定されている)。
–indirect オプションを使用して間接経路 (ゲートウェイへの直接到達は不可能) が確立されました。
(非大域の排他的 IP ゾーンのみ) 大域ゾーン内で zonecfg(8) を使用して構成されたルーティング情報に基づき、ブート時に経路が静的に追加されました。
–a オプションが指定された場合は、次のフラグを持つルーティングエントリも表示されます。
ブロードキャストアドレス。
オンリンク宛先のインタフェースホスト経路エントリのクローンを作成します。
ホストのローカルアドレス。
インタフェース経路は、ローカルホストの接続されているインタフェースごとに作成されます。このようなエントリのゲートウェイフィールドには、発信インタフェースのアドレスが表示されます。
use 列には、その経路を使って送信または転送されたパケット数が表示されます。
interface エントリは、その経路に使用されたネットワークインタフェースを示します。
マルチキャストルーティングテーブルは、仮想インタフェーステーブルと実際のルーティングテーブルから構成されています。
DHCP インタフェース情報は、インタフェース名、その現在の状態、リース情報、パケット数、フラグのリストからなります。
表示の内容は RFC 2131 で提唱された仕様に従います。
リース情報には次の内容が含まれます。
リース開始日時
リース更新の開始日時
リース期限の日時
現在定義されているフラグには次のようなものがあります。
インタフェースが BOOTP から取得したリースを保持している (IPv4 のみ)。
インタフェースは DHCP トランザクションのためにビジー状態である。
このインタフェースはプライマリインタ フェースである。dhcpinfo(1) および ifconfig(8) を参照してください。
インタフェースはエラー状態であり、手動でリスタートする必要がある。
パケットカウントは、送信されたパケット、受信したパケット、DHCP クライアントによって拒否 (DECLINE) されたリース提案の数を保持します。3 つのカウンタは、リース取得時にすべて 0 に初期化され、その後インクリメントされます。そのインタフェースに対するリース更新期間の開始時にもカウンタはリセットされます。このように、カウンタの保持する送信、受信、拒否パケットの数は、現在のリースを取得する際、または、将来のリースを取得しようとしている場合のいずれかになります。
宛先キャッシュエントリには、記録されたパス MTU、エントリの経過時間 (秒)、およびフラグが表示されます。P フラグは、パス MTU が記録されることを示します。S フラグは、パス MTU が IP により許可される最小値よりも小さいことを示します。U フラグは、一部のトランスポート基準値 (往復時間など) が宛先キャッシュエントリにキャッシュされることを示します。
DEFAULT_IP 設定
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
dhcpinfo(1), net_kernel_bypass(3LIB), kstat(4D), inet(4P), inet6(4P), hosts(5), inet_type(5), networks(5), protocols(5), services(5), attributes(7), dhcp(7), arp(8), dhcpagent(8), ifconfig(8), iostat(8), kstat(8), savecore(8), vmstat(8), zonecfg(8)
Droms, R., RFC 2131, Dynamic Host Configuration Protocol, Network Working Group, March 1997.
Droms, R. RFC 3315, Dynamic Host Configuration Protocol for IPv6 (DHCPv6). Cisco Systems. July 2003.
インタフェースの情報を表示する際 に、netstat は/etc/default/inet_type の DEFAULT_IP 設定を優先します。この設定が IP_VERSION4 の場合、 netstat netstat は IPv6 に関するインタフェース、統計情報、接続、経路などの情報を表示しません。
しかし、コマンド行で /etc/default/inet_type のDEFAULT_IP 設定をオーバーライドすることができます。たとえば、コマンド行で inet6 アドレスファミリまたは IPv6 プロトコルを使用することで、明示的に IPv6 情報を要求することができ、これは DEFAULT_IP の設定より優先されます。
カーネルクラッシュのあとでネットワークステータス情報を調べる必要がある場合は、mdb(1) ユーティリティーを savecore(8) 出力に対して使用します。
netstat ユーティリティーは /dev/tcp を開いてクエリを発行するこ とによって TCP 統計情報を取得します。このため、netstat が接続ステータスを報告する際に、使用されていない接続が IDLE ステータスで表示されることがあります。
以前のバージョンの netstat には kstat (4D) を使ってカーネル統計を報告する非公式の方法がありました。この機能は削除されています。代わりに kstat(8) を使用してください。
netstat の出力は netstat が実行されているゾーンに関連する情報だけに制限されています。(これは、共有 IP と 占有 IP のどちらのゾーンにもあてはまります。)