ネットワークのステータスとプロトコル統計を表示するには、netstat コマンドを使用します。TCP、SCTP、および UDP エンドポイントのステータス、およびルーティングテーブルとインタフェース情報を表形式で表示できます。
netstat コマンドは、指定したコマンド行オプションに応じて、さまざまな種類のネットワークデータを表示します。表示される情報はシステム管理に特に役立ちます。この章では、よく実行されるいくつかのタスクで使用するオプションについて説明します。詳細は、netstat(1M)のマニュアルページを参照してください。
このセクションには、次のトピックが含まれています。
netstat コマンドを使用して、IPv4 ネットワークと IPv6 ネットワークの両方のステータスを表示できます。表示するプロトコル情報を選択するには、/etc/default/inet_type ファイルに DEFAULT_IP 値を設定するか、–f オプションを使用します。DEFAULT_IP 値を永続的に設定することによって、netstat に IPv4 情報だけを表示させることができます。この設定をオーバーライドするには、コマンド行から –f オプションを使用します。inet_type ファイルの詳細については、inet_type(4)のマニュアルページを参照してください。
–f オプションを使用して、inet、inet6、unix (内部通信に使用する 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 つの追加の統計情報を表示します。
ソケット送信バッファーの統計情報を表示します。
ソケット受信バッファーの統計情報を表示します。
パケット転送のオーバーフローが発生した回数を表示します。領域を利用できないことが原因で IP が MAC 層に送信パケットを送信できないとき、カウンタが増加します。
パケット受信のオーバーフローが発生した回数を表示します。領域を利用できないことが原因で IP がソケットに着信パケットを送信できないとき、カウンタが増加します。Rx オーバーフローの場合は着信パケットが破棄されます。
次の例は、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 コマンドの出力に表示される情報について説明します。
|
netstat コマンドにさまざまなコマンド行オプションを付けて使用すると、この章には記載されていないその他のネットワークステータスを表示できます。このコマンドには 10 の形式があり、各形式は、ネットワークサブシステムのさまざまな部分に関する異なる統計情報の表を生成します。
取得できる追加の統計情報の一部を次に示します。
マルチキャストグループメンバーシップを表示
net-to-media テーブルを表示: ARP と NDP のマッピング
STREAMS メモリー統計情報を表示
複数のルーティングテーブルを表示
DHCP リースのステータスを表示
宛先キャッシュテーブルを表示
詳細は、netstat(1M)のマニュアルページを参照してください。