Linuxコマンド集
コマンド集(機能別) | コマンド集(アルファベット順) | コマンド逆引き大全 | シェル・スクリプト・リファンレス

netstat  ネットワーク関連の統計情報を表示する (8)

 構文  
netstat [option1] [option2]

 オプション1  
オプション無し 現在のソケットの状態を表示する
-r ルーティングの情報を表示する
-g マルチキャストのグループ情報を表示する
-i,--interface=インタフェース名 ネットワーク・インタフェースの状態を表示する。インタフェース名を指定すると,指定したインタフェースのみの情報を表示する
-M IPマスカレードの情報を表示する
-s 各プロトコルの統計情報を一覧する

 オプション2  
-v 詳細な情報を表示する
-n ホスト名などを解決せずに数字で表示する
--numeric-hosts ホストはIPアドレスで表示する
--numeric-ports ポートはポート番号で表示する
--numeric-users ユーザー名はユーザーIDで表示する
--protocol=ファミリ名 表示するアドレス・ファミリを指定する。ファミリ名にはinet,unix,ipx,ax25,netrom,ddpを指定できる
-c 1秒ごとに情報を更新して表示する
-e 詳しい情報を表示する。-eeとするとさらに詳しい情報が表示される
-o ネットワーキング・タイマーの情報を表示する
-p 各ソケットを利用しているプログラムのプロセスIDを表示する
-l 接続待ち状態のソケットのみを表示する
-a 全てのソケットを表示する
-F FIB(Forwarding Information Base)のルーティング情報を表示する
-C ルーティング・キャッシュからルーティング情報を表示する

 説明  

ネットワークの各種情報を表示する。表示する情報は,「現在のソケットの状態」,「ルーティング情報」,「マルチキャストのグループ情報」,「ネットワーク・インタフェースの状態」,「IPマスカレードの情報」,「各種プロトコルの統計情報」である。主な表示結果の項目の意味は以下の通りである。


 ソケットの状態の表示項目の意味(オプション1:無し)  
Proto プロトコル
Recv-Q ソケットに接続されたユーザーに送られなかったデータのバイト数
Send-Q リモート・ホストが拒否したデータのバイト数
Local Address ローカル側ソケットのアドレスとポート番号
Foreign Address リモート側ソケットのアドレスとポート番号
State ソケットの状態(Active Internet connectionに表示されるState)。「ESTABLISHED」は接続が確立したソケット,「SYN_SENT」は接続を試みているソケット,「SYN_RECV」は接続要求を受信しているソケット,「FIN_WAIT1」は切断中のソケット,「FIN_WAIT2」はリモートからの切断を待っているソケット,「TIME_WAIT」はリモートからの切断が再送されるのを待っているソケット,「CLOSED」は未使用なソケット,「CLOSE_WAIT」はリモート側から切断され,ソケットがクローズされるのを待っているソケット,「LAST_ACK」はすでに切断されており,ソケットもクローズされているソケット,「LISTEN」は接続待ちのソケット,「CLOSING」はソケットが切断されているか,すべてのデータが転送されていないソケット,「UNKNOWN」は状態が不明なソケットを表す
User ソケットのオーナー名。ユーザー名またはユーザーIDで表示される
I-Node Iノード
RefCnt このソケットに接続されているプロセス数
Flags 現在のフラグ。フラグは「ACC」はソケットが接続されておらず,プログラムが接続要求を待っていることを表す
Type ソケットのアクセス・タイプ。「SOCK_DCRAM」はデータグラムモードのソケット,「SOCK_STREAM」はストリーム・ソケット,「SOCK_RAW」はrawソケット,「SOCK_SEQPACKET」は信頼性の高いメッセージを扱うソケット,「SOCK_PACKET」はシーケンシャル・パケットのソケット,「UNKONOW」不明なソケットを表す
State ソケットの状態(Active UNIX dimain socketsに表示されるState)。「Free」は割り当てがないソケット,「LISTENING」は接続要求待ちのソケット,「CONNECTING」は接続中のソケット,「CONNECTED」は接続されているソケット,「DISCONNECTING」は切断中のソケット,「UNKNOWN」は不明なソケット,なにも書かれていない場合は他のソケットに接続されていないソケット
Path ソケットを利用しているプロセスのパス

 ルーティングの状態の表示項目の意味(オプション1:-r)  
Destination 対象となるネットワークまたはホスト。「default」はデフォルト・ゲートウェイを表す
Gataway ゲートウェイのIPアドレス。「*」は設定されていない
Genmask 対象ネットワークのネットマスク
Flags ルーティングのフラグ。「U」はルーティングが有効,「H」は対象がホスト,「G」はゲートウエイ,「R」は回復される動的なルーティン府,「D」はデーモンまたは置き換えによって書き換えられるルーティング,「M」はルーティング・デーモンまたは置き換えによって書き換えられるルーティング,「A」はaddrconfで設定されたルーティング,「C」はキャッシュのエントリ,「!」は拒否を表す
MSS TCP接続の最大セグメント数
Window TCP接続のウインドウ・サイズ
irtt 初期ラウンドトリップ時間
Iface このルーティングのネットワーク・インタフェース名
Metric 対象との距離
Ref ルートの参照数
Use ルーティングの参照回数

 インタフェースの状態の表示項目の意味(オプション1:-i)  
Iface 対象となるネットワーク・インタフェース名
MTU MTU値
Met メトリック数
RX-OK 正常に受信したパケット数
RX-ERR 受信時にエラーとなったパケット数
RX-DRP 受信時に破棄したパケット数
RX-OVR 受信時にオーバーロードとなったパケット数
TX-OK 正常に送信したパケット数
TX-ERR 送信時にエラーとなったパケット数
TX-DRP 送信時に破棄したパケット数
TX-OVR 送信時にオーバーロードとなったパケット数
Flg フラグ

 プロトコルごとの統計の表示項目の意味(オプション1:-s)  
Ip 処理したIPパケットの統計情報
Icmp ルータやホスト間でやり取りに利用されるICMPの統計情報
Tcp TCPプロトコルを利用したパケットの統計情報
Udp UDPプロトコルを利用したパケットの統計情報

 使用例  
ソケットの状態を表示する
$ netstat 
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 192.168.0.2:netbios-ssn 192.168.0.100:2882      ESTABLISHED 
tcp        0      0 ::ffff:192.168.0.2:imap ::ffff:192.168.0.1:1250 ESTABLISHED 
tcp        0    140 ::ffff:192.168.0.2:ssh  ::ffff:192.168.0.1:1176 ESTABLISHED 
tcp        0      0 ::ffff:192.168.0.2:ssh  ::ffff:192.168.0.1:1104 ESTABLISHED 
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  12     [ ]         DGRAM                    2124   /dev/log
unix  2      [ ]         DGRAM                    9898   
unix  3      [ ]         STREAM     CONNECTED     6818   /tmp/.famHWJ24a
unix  3      [ ]         STREAM     CONNECTED     6815   
unix  3      [ ]         STREAM     CONNECTED     4061   
                :

ルーティング情報を表示する
$ netstat -r 
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.0.0     *               255.255.255.0   U         0 0          0 eth0
160.0.0.0       *               255.255.0.0     U         0 0          0 eth0
default         192.168.0.1     0.0.0.0         UG        0 0          0 eth0

ネットワーク・インターフェースの統計を表示する
$ 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
eth0       1500   0    45858      0      0      0    43571      0      0      0 BMRU
lo        16436   0     2269      0      0      0     2269      0      0      0 LRU

プロトコルごとの統計を表示する
$ netstat -s
Ip:
    48328 total packets received
    0 forwarded
    0 incoming packets discarded
    48328 incoming packets delivered
    45901 requests sent out
Icmp:
    138 ICMP messages received
    0 input ICMP message failed.
    ICMP input histogram:
        destination unreachable: 138
               :

 関連事項  
ifconfigroute,proc,ネットワーク・カードの動作状態を確認するネットワークの経路情報を確認する