ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris 11.1 ネットワークの構成と管理 Oracle Solaris 11.1 Information Library (日本語) |
netstat コマンドは、ネットワークのステータスとプロトコル統計を表示します。TCP、SCTP、および UDP の各エンドポイントのステータスは表形式で表示できます。ルーティングテーブル情報やインタフェース情報も表示できます。
netstat コマンドは、さまざまな種類のネットワークデータを表示します。表示するデータはコマンド行オプションで選択できます。この表示は、特にシステム管理に役立ちます。次に、netstat コマンドの基本構文を示します。
netstat [-m] [-n] [-s] [-i | -r] [-f address-family]
このセクションでは、netstat コマンドで最も一般的に使用されるオプションについて説明します。netstat のすべてのオプションの詳細については、netstat(1M) のマニュアルページを参照してください。
netstat の -s オプションは、UDP、TCP、SCTP、ICMP、および IP のプロトコルについて、プロトコル別の統計情報を表示します。
注 - netstat コマンドからの出力は、Oracle Solaris ユーザーアカウントで取得できます。
例 5-1 ネットワークプロトコルの統計
次の例に、netstat -s コマンドの出力を示します。出力の一部は省略されています。この出力は、プロトコルが問題を持っている場所を示すことがあります。たとえば、ICMPv4 と ICMPv6 からの統計情報は、このプロトコルがどこにエラーを検出したかを示します。
RAWIP rawipInDatagrams = 4701 rawipInErrors = 0 rawipInCksumErrs = 0 rawipOutDatagrams = 4 rawipOutErrors = 0 UDP udpInDatagrams = 10091 udpInErrors = 0 udpOutDatagrams = 15772 udpOutErrors = 0 TCP tcpRtoAlgorithm = 4 tcpRtoMin = 400 tcpRtoMax = 60000 tcpMaxConn = -1 . . tcpListenDrop = 0 tcpListenDropQ0 = 0 tcpHalfOpenDrop = 0 tcpOutSackRetrans = 0 IPv4 ipForwarding = 2 ipDefaultTTL = 255 ipInReceives =300182 ipInHdrErrors = 0 ipInAddrErrors = 0 ipInCksumErrs = 0 . . ipsecInFailed = 0 ipInIPv6 = 0 ipOutIPv6 = 3 ipOutSwitchIPv6 = 0 IPv6 ipv6Forwarding = 2 ipv6DefaultHopLimit = 255 ipv6InReceives = 13986 ipv6InHdrErrors = 0 ipv6InTooBigErrors = 0 ipv6InNoRoutes = 0 . . rawipInOverflows = 0 ipv6InIPv4 = 0 ipv6OutIPv4 = 0 ipv6OutSwitchIPv4 = 0 ICMPv4 icmpInMsgs = 43593 icmpInErrors = 0 icmpInCksumErrs = 0 icmpInUnknowns = 0 . . icmpInOverflows = 0 ICMPv6 icmp6InMsgs = 13612 icmp6InErrors = 0 icmp6InDestUnreachs = 0 icmp6InAdminProhibs = 0 . . icmp6OutGroupQueries= 0 icmp6OutGroupResps = 2 icmp6OutGroupReds = 0 IGMP: 12287 messages received 0 messages received with too few bytes 0 messages received with bad checksum 12287 membership queries received SCTP sctpRtoAlgorithm = vanj sctpRtoMin = 1000 sctpRtoMax = 60000 sctpRtoInitial = 3000 sctpTimHearBeatProbe = 2 sctpTimHearBeatDrop = 0 sctpListenDrop = 0 sctpInClosed = 0
netstat コマンドを使用すると、転送プロトコルのステータスを表示できます。詳細については、netstat(1M) のマニュアルページを参照してください。
$ netstat
$ netstat -P transport-protocol
transport-protocol 変数の値は、 tcp、sctp、または udp です。
例 5-2 TCP 転送プロトコルと SCTP 転送プロトコルのステータスの表示
次の例に、基本的な netstat コマンドの出力を示します。IPv4 専用の情報が表示されています。
$ netstat TCP: IPv4 Local Address Remote Address Swind Send-Q Rwind Recv-Q State ----------------- -------------------- ----- ------ ----- ------ ------- lhost-1.login abc.def.local.Sun.COM.980 49640 0 49640 0 ESTABLISHED lhost-1.login ghi.jkl.local.Sun.COM.1020 49640 1 49640 0 ESTABLISHED remhost-1.1014 mno.pqr.remote.Sun.COM.nfsd 49640 0 49640 0 TIME_WAIT SCTP: Local Address Remote Address Swind Send-Q Rwind Recv-Q StrsI/O State ---------------- -------------- ----- ------ ------ ------ ------ ------- *.echo 0.0.0.0 0 0 102400 0 128/1 LISTEN *.discard 0.0.0.0 0 0 102400 0 128/1 LISTEN *.9001 0.0.0.0 0 0 102400 0 128/1 LISTEN
例 5-3 特定の転送プロトコルのステータスの表示
次の例に、netstat コマンドに -P オプションを指定したときの結果を示します。
$ netstat -P tcp TCP: IPv4 Local Address Remote Address Swind Send-Q Rwind Recv-Q State ----------------- -------------------- ----- ------ ----- ------ ------- lhost-1.login abc.def.local.Sun.COM.980 49640 0 49640 0 ESTABLISHED lhost.login ghi.jkl.local.Sun.COM.1020 49640 1 49640 0 ESTABLISHED remhost.1014 mno.pqr.remote.Sun.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 オプションは、ローカルシステムに構成されているネットワークインタフェースの状態を表示します。このオプションを使用すると、各ネットワーク上で送受信しているパケット数がわかります。
例 5-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 コマンドの -a オプションを使用すると、ローカルホスト上にあるソケットのステータスを表示できます。
この netstat コマンドのオプションは、ユーザーアカウントで使用できます。
% netstat -a
例 5-5 すべてのソケットとルーティングテーブルエントリの表示
netstat -a コマンドの出力には、膨大な統計が含まれます。次の例に、典型的な netstat -a コマンドの出力の一部を示します。
UDP: IPv4 Local Address Remote Address State -------------------- -------------------- ------- *.bootpc Idle host85.bootpc Idle *.* Unbound *.* Unbound *.sunrpc Idle *.* Unbound *.32771 Idle *.sunrpc Idle *.* Unbound *.32775 Idle *.time Idle . . *.daytime Idle *.echo Idle *.discard Idle UDP: IPv6 Local Address Remote Address State If --------------------------------- --------------------------------- ---------- ----- *.* Unbound *.* Unbound *.sunrpc Idle *.* Unbound *.32771 Idle *.32778 Idle *.syslog Idle . . TCP: IPv4 Local Address Remote Address Swind Send-Q Rwind Recv-Q State -------------------- -------------------- ----- ------ ----- ------ ------- *.* *.* 0 0 49152 0 IDLE localhost.4999 *.* 0 0 49152 0 LISTEN *.sunrpc *.* 0 0 49152 0 LISTEN *.* *.* 0 0 49152 0 IDLE *.sunrpc *.* 0 0 49152 0 LISTEN . . *.printer *.* 0 0 49152 0 LISTEN *.time *.* 0 0 49152 0 LISTEN *.daytime *.* 0 0 49152 0 LISTEN *.echo *.* 0 0 49152 0 LISTEN *.discard *.* 0 0 49152 0 LISTEN *.chargen *.* 0 0 49152 0 LISTEN *.shell *.* 0 0 49152 0 LISTEN *.shell *.* 0 0 49152 0 LISTEN *.kshell *.* 0 0 49152 0 LISTEN *.login . . *.* 0 0 49152 0 LISTEN *TCP: IPv6 Local Address Remote Address Swind Send-Q Rwind Recv-Q State If ----------------------- ----------------------- ----- ------ ----- ------ ---- *.* *.* 0 0 49152 0 IDLE *.sunrpc *.* 0 0 49152 0 LISTEN *.* *.* 0 0 49152 0 IDLE *.32774 *.* 0 0 49152
netstat コマンドの -f オプションを使用すると、特定のアドレスファミリのパケット転送に関する統計を表示できます。
$ netstat -f inet | inet6
IPv4 パケット転送に関する情報を表示するには、netstat -f の引数として inet を指定します。IPv6 パケット転送に関する情報を表示するには、netstat -f の引数として inet6 を指定します。
例 5-6 IPv4 パケット転送のステータス
次に、netstat - f inet コマンドの出力例を示します。
TCP: IPv4 Local Address Remote Address Swind Send-Q Rwind Recv-Q State -------------------- -------------------- ----- ------ ----- ------ ------- host58.734 host19.nfsd 49640 0 49640 0 ESTABLISHED host58.38063 host19.32782 49640 0 49640 0 CLOSE_WAIT host58.38146 host41.43601 49640 0 49640 0 ESTABLISHED host58.996 remote-host.login 49640 0 49206 0 ESTABLISHED
例 5-7 IPv6 パケット転送のステータス
次に、netstat - f inet6 コマンドの出力例を示します。
TCP: IPv6 Local Address Remote Address Swind Send-Q Rwind Recv-Q State If ------------------ ------------------------- ----- ------ ----- ------ --------- ----- localhost.38065 localhost.32792 49152 0 49152 0 ESTABLISHED localhost.32792 localhost.38065 49152 0 49152 0 ESTABLISHED localhost.38089 localhost.38057 49152 0 49152 0 ESTABLISHED
netstat コマンドの -r オプションは、ローカルホストのルーティングテーブルを表示します。このテーブルには、ホストが知っているすべてのルートのステータスが表示されます。netstat の r オプションは、ユーザーアカウントで実行できます。
例 5-8 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 コマンドの画面出力の各種パラメータの意味について説明します。
|