Go to main content
Oracle® Solaris 11.3 での TCP/IP ネットワーク、IPMP、および IP トンネルの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

netstat コマンドによるネットワークステータスのモニタリング

ネットワークのステータスとプロトコル統計を表示するには、netstat コマンドを使用します。TCP、SCTP、および UDP エンドポイントのステータス、およびルーティングテーブルとインタフェース情報を表形式で表示できます。

netstat コマンドは、指定したコマンド行オプションに応じて、さまざまな種類のネットワークデータを表示します。表示される情報はシステム管理に特に役立ちます。この章では、よく実行されるいくつかのタスクで使用するオプションについて説明します。詳細は、netstat(1M)のマニュアルページを参照してください。

アドレスタイプによる netstat 出力のフィルタリング

netstat コマンドを使用して、IPv4 ネットワークと IPv6 ネットワークの両方のステータスを表示できます。表示するプロトコル情報を選択するには、/etc/default/inet_type ファイルに DEFAULT_IP 値を設定するか、–f オプションを使用します。DEFAULT_IP 値を永続的に設定することによって、netstat に IPv4 情報だけを表示させることができます。この設定をオーバーライドするには、コマンド行から –f オプションを使用します。inet_type ファイルの詳細については、inet_type(4)のマニュアルページを参照してください。

–f オプションを使用して、inetinet6unix (内部通信に使用する Unix ドメインソケット用)、または sdp (Socket Description Protocol) の各引数を指定できます。

ソケットのステータスの表示

netstat コマンドを使用すると、ローカルホスト上にあるソケットのステータスを表示できます。通常のユーザーとして、複数の netstat コマンドオプションを指定できます。

次のようにして、接続ソケットのステータスを表示します。

% netstat

次のように、未接続のリスナーソケットも含め、すべてのソケットのステータスを表示します。

% netstat -a
使用例 2  接続済みソケットの表示

netstat コマンドの出力には、大量の統計が含まれます。次の例は、出力を IPv4 ソケットのみに制限する方法を示しています。

% netstat -f inet

TCP: IPv4
   Local Address        Remote Address    Swind Send-Q Rwind Recv-Q    State
-------------------- -------------------- ----- ------ ----- ------ -----------
system-1.ssh          remote.38474     128872      0 128872      0 ESTABLISHED
system2.40721         remote.ldap      49232       0 128872      0 ESTABLISHED

プロトコル別の統計情報の表示

netstat–s オプションは、UDP、TCP、SCTP、Internet Control Message Protocol (ICMP)、および IP のプロトコルについて、プロトコル別の統計情報を表示します。

次のようにプロトコルのステータスを表示します。

% netstat -s

–P オプションを使用すると、netstat コマンドの出力をプロトコル別にフィルタリングできます。このオプションはトランスポートプロトコルに限定されません。

    このオプションを使用して次の値を指定できます。

  • icmp

  • icmpv6

  • igmp

  • ipv6tcp

  • rawip

  • sctp

  • tcp

  • udp

たとえば、次のように、netstat の出力を UDP プロトコルでフィルタリングします。

# netstat -aP udp
UDP: IPv4

   Local Address   Remote Address   State  Send Buf  TxOverflows  Recv Buf   RxOverflows

---------------- ---------------- ------- --------- ------------ --------     --------

      *.*                         Unbound    57344            0   57344               0

      *.*                         Unbound    57344            0   57344               0

      *.*                         Unbound    57344            0   57344               0

      *.*                         Unbound    57344            0   57344               0

...

      *.bootpc                       Idle    57344            0   57344               0

      *.dhcpv6-client                Idle    57344            0   57344               0

ip-10-134-63-206.bootpc              Idle    57344            0   57344               0

      *.sunrpc                       Idle    57344            0   57344               0

      *.*                         Unbound    57344            0   57344               0

      *.59730                        Idle    57344            0   57344               0

      *.sunrpc                       Idle    57344            0   57344               0

      *.*                         Unbound    57344            0   57344               0

      *.47158                        Idle    57344            0   57344               0

      *.*                         Unbound    57344            0   57344               0

      *.631                          Idle    57344            0   57344               0

      *.ntp                          Idle    57344            0   57344               0

      *.ntp                          Idle    57344            0   57344               0

localhost.ntp                        Idle    57344            0   57344               0

ip-10-134-63-206.ntp                 Idle    57344            0   57344               0

UDP: IPv6

   Local Address   Remote Address  State    If    Send Buf  TxOverflows  Recv Buf  RxOverflows

-----------------   -------------  ----------   ----- -------- ----------- --------   -------

      *.*                         Unbound            57344         0        57344             0

      *.*                         Unbound            57344         0        57344             0

      *.*                         Unbound            57344         0        57344             0

      *.*                         Unbound            57344         0        57344             0

      *.dhcpv6-client                Idle            57344         0        57344             0

...

localhost.ntp                        Idle            57344         0        57344             0

前の出力に示されているように、netstat –P udp コマンドは、Oracle Solaris 12 では次の 4 つの追加の統計情報を表示します。

Send buf

ソケット送信バッファーの統計情報を表示します。

Recv buf

ソケット受信バッファーの統計情報を表示します。

TxOverflows

パケット転送のオーバーフローが発生した回数を表示します。領域を利用できないことが原因で IP が MAC 層に送信パケットを送信できないとき、カウンタが増加します。

RxOverflows

パケット受信のオーバーフローが発生した回数を表示します。領域を利用できないことが原因で IP がソケットに着信パケットを送信できないとき、カウンタが増加します。Rx オーバーフローの場合は着信パケットが破棄されます。

使用例 3  TCP プロトコルのステータスの表示

次の例は、P –オプション を指定して TCP プロトコルの結果を表示する方法を示しています。

% netstat -P tcp

TCP: IPv4
Local Address     Remote Address               Swind Send-Q  Rwind  Recv-Q      State
----------------- --------------------         ----- ------  -----  ------     -------
lhost-1.login     abc.local.example.COM.980   49640      0    49640    0    ESTABLISHED
lhost.login       ghi.local.example.COM.1020  49640      1    49640    0    ESTABLISHED
remhost.1014      mno.remote.example.COM.nfsd 49640      0    49640    0      TIME_WAIT

TCP: IPv6
Local Address    Remote Address        Swind Send-Q Rwind Recv-Q   State If
---------------- ---------------------- ------ ----- ------ ----------- -----
localhost.38983   localhost.32777       49152      0 49152      0 ESTABLISHED
localhost.32777   localhost.38983       49152      0 49152      0 ESTABLISHED
localhost.38986   localhost.38980       49152      0 49152      0 ESTABLISHED      

ネットワークインタフェースステータスの表示

netstat コマンドの –i オプションを使用すると、ローカルシステムに構成されているネットワークインタフェースの状態を表示できます。このオプションを使用すると、各ネットワーク上で送受信しているパケット数がわかります。

次のように、ネットワーク上にあるインタフェースのステータスを表示します。

% netstat -i

次の例は、netstat コマンドにフィルタリングオプションを指定して、特定のインタフェースの出力を制限する方法を示しています。

% netstat -i -I net0 -f inet
  Name  Mtu  Net/Dest        Address        Ipkts  Ierrs Opkts  Oerrs Collis Queue 
  net0  1500 abc.example.com abc.example.com 231001 0     55856  0     0      0
使用例 4  ネットワークインタフェースステータスの表示

次の例は、システムのインタフェースを通過する IPv4 と IPv6 のパケットのステータスを表示しています。たとえば、サーバーについて表示される入力パケットカウント (Ipkts) はクライアントがブートを試みるたびに増加しているのに、出力パケットカウント (Opkts) が変化しないことがあります。これは、サーバーがクライアントからのブート要求パケットを認識していることを意味します。しかし、サーバーはそれらのパケットに応答する方法を知りません。この混乱は、hosts または ethers データベース内の誤ったアドレスが原因である可能性があります。

入力パケットカウントが長時間にわたり変化しない場合は、システムがパケットを認識していません。この場合は、上記と違って、ハードウェアの問題の可能性が高くなります。

Name  Mtu  Net/Dest      Address        Ipkts  Ierrs Opkts  Oerrs Collis Queue
lo0   8232 loopback      localhost      142    0     142    0     0      0
net0  1500 host58        host58        1106302 0     52419  0     0      0

Name  Mtu  Net/Dest      Address                    Ipkts  Ierrs Opkts  Oerrs Collis
lo0   8252 localhost     localhost                   142    0     142    0     0
net0  1500 fe80::a00:20ff:feb9:4c54/10 fe80::a00:20ff:feb9:4c54 1106305 0 52422 0  0

ユーザーとプロセスの情報の表示

netstat コマンドには、特定のポートを使用しているシステム上のユーザーやプロセスに関する情報を取得するために使用できる –u オプションが含まれています。netstat –u コマンドを使用すると、ユーザー、プロセス ID、およびネットワークエンドポイントを作成したプログラムまたはネットワークのエンドポイントを現在制御しているプログラムを表示できます。

netstat コマンドの出力をさらに整列するには、–n オプションと –u オプションをともに指定します。詳細な情報と例については、netstat(1M)のマニュアルページを参照してください。

既知ルートのステータスの表示

netstat コマンドの –r オプションを使用すると、ローカルシステムのルーティングテーブルを表示できます。このテーブルには、システムが認識しているすべてのルートのステータスが表示されます。

% netstat -r
使用例 5  netstat コマンドによるルーティングテーブルの出力の表示

次に、netstat – r コマンドの出力例を示します。

Routing Table: IPv4
Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
host15               myhost               U         1  31059  net0
10.0.0.14            myhost               U         1      0  net0
default              distantrouter        UG        1      2  net0
localhost            localhost            UH        42019361  lo0

Routing Table: IPv6
Destination/Mask      Gateway                            Flags Ref  Use   If
--------------------- ---------------------------          ----- --- ------ -----
2002:0a00:3010:2::/64 2002:0a00:3010:2:1b2b:3c4c:5e6e:abcd U     1   0      net0:1
fe80::/10             fe80::1a2b:3c4d:5e6f:12a2            U     1   23     net0
ff00::/8              fe80::1a2b:3c4d:5e6f:12a2            U     1   0      net0
default               fe80::1a2b:3c4d:5e6f:12a2            UG    1   0      net0
localhost             localhost                            UH    9   21832  lo0 

次の表では、netstat –r コマンドの出力に表示される情報について説明します。

パラメータ
説明
Destination
Destination/Mask
ルートの宛先エンドポイントであるホストを指定します。IPv6 ルーティングテーブルには、6to4 トンネルのエンドポイントの接頭辞 (2002:0a00:3010:2::/64 ) がルートの宛先エンドポイントとして示されていることに注目してください。
Gateway
パケットの転送に使用するゲートウェイを指定します。
Flags
ルートの現在のステータスを示します。U フラグはルートが up 状態であること、G フラグはルートがゲートウェイへのものであることを示します。
Use
送信したパケットの数を示します。
Interface
転送元のエンドポイントである、ローカルホスト上の特定のインタフェースを示します。

netstat コマンドによる追加のネットワークステータスの表示

netstat コマンドにさまざまなコマンド行オプションを付けて使用すると、この章には記載されていないその他のネットワークステータスを表示できます。このコマンドには 10 の形式があり、各形式は、ネットワークサブシステムのさまざまな部分に関する異なる統計情報の表を生成します。

取得できる追加の統計情報の一部を次に示します。

netstat –g

マルチキャストグループメンバーシップを表示

netstat –P

net-to-media テーブルを表示: ARP と NDP のマッピング

netstat –m

STREAMS メモリー統計情報を表示

netstat –M

複数のルーティングテーブルを表示

netstat –D

DHCP リースのステータスを表示

netstat –d

宛先キャッシュテーブルを表示

詳細は、netstat(1M)のマニュアルページを参照してください。