netstatコマンド - ネットワーク情報確認

2009/07/10 11:39Update
TAGS: netstat | ネットワーク | パッケージ | 送信 | 受信 | 経路 | インターフェース

netstatコマンドはネットワークに関する様々な情報を確認することができます。本文はその最も基本的な使い方をサンプルから学びます。

■オプション:-l
接続待ち (listen) 状態にあるソケットのみを表示します。
# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 MY-SERVER-WEB:20032         *:*                         LISTEN
tcp        0      0 *:32769                     *:*                         LISTEN
tcp        0      0 *:32772                     *:*                         LISTEN
...

◇見方
Proto:
    プロトコル
Local Address:
    ローカルPCのアドレスとそのポート
Foreign Address:
    外部PCのアドレスとそのポート
State:
    通信状態(ESTABLISHED、CLOSE_WAIT、TIME_WAIT、FIN_WAIT2、LISTENなど)

■オプション:-p
各ソケットが属しているプロセスの PID と名前が表示されます。

例:
# netstat -l -p
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 MY-SERVER-WEB:20032         *:*                         LISTEN      4599/nvcmgr
tcp        0      0 *:20031                     *:*                         LISTEN      5028/nvnmgr
tcp        0      0 *:9093                      *:*                         LISTEN      19999/java
...

# netstat -l -p -upd
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
udp        0      0 *:42773                     *:*                                     17723/java
udp        0      0 *:3052                      *:*                                     4102/java
udp        0      0 *:59641                     *:*                                     19571/java
...
UPDプロトコルのソケットだけを表示します。

■オプション: -s -[プロトコル名]
特定のプロトコル(TCP、UDP、IP、ICMP)に関する統計情報のみを表示します。

# netstat -s -upd
Udp:
    8698380 packets received
    410607 packets to unknown port received.
    0 packet receive errors
    15325642 packets sent
■オプション:-a
アクティブ状態にあるそうでない状態であるソケットすべてを表示します。オプション指定しない場合、アクティブソケットだけを表示します。

■オプション:-n
# netstat -n
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 127.0.0.1:32779             127.0.0.1:20032             ESTABLISHED
tcp      158      0 ::ffff:10.12.1.100:33480    ::ffff:10.12.1.100:7003     CLOSE_WAIT
...

■オプション:-r
経路情報を表示します。
# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
100.122.11.0    *               255.255.255.0   U         0 0          0 bond0
100.122.11.0    *               255.255.255.0   U         0 0          0 eth1
168.254.0.0     *               255.255.0.0     U         0 0          0 eth1
default         10.12.1.254     0.0.0.0         UG        0 0          0 bond0
※Iface:経由するインタフェース名
直接つながっているのは「100.122.11.0」と「168.254.0.0」で、その以外は「10.12.1.254」を介して行います。


■オプション:-t
tcpの接続情報を表示します。

■オプション:-i
インターフェース通信状態を表示します。
# netstat -i
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
bond0      1500   0 34719156      0      0      0 51218612      0      0      0 BMmRU
eth0       1500   0 34719156      0      0      0 51218612      0      0      0 BMsRU
lo        16436   0 25394580      0      0      0 25394580      0      0      0 LRU
インタフェースの通信量や通信状況などがわかります。

参考資料


Manpage of netstat 「日本語マニュアル」
netstat - ホストのネットワーク統計や状態を確認する
NETSTATを使いこなす
netstat - Wikipedia

有关作者
Syboos.jp編集長システム設計や開発、保守運営などを行ってます。オープンソース技術に興味があります。

Sponsored Link


Comments