Custom Search

JITAKU_SVR_Wiki

netstat

ルーティング表示

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.3.0    172.16.0.1     255.255.255.0   UG        0 0          0 br0
192.168.2.0    172.16.0.1     255.255.255.0   UG        0 0          0 br0
192.168.1.0    172.16.0.1     255.255.255.0   UG        0 0          0 br0
192.168.4.0    172.16.0.1     255.255.255.0   UG        0 0          0 br0
172.19.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br0
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
0.0.0.0         172.19.0.254     0.0.0.0         UG        0 0          0 br0
※Ifaceがbr0になっているのはkvmを使用しているため。~

TIPS:
Destination = 宛先IPアドレス
Gateway = ゲートウェイIPアドレス
Genmask = サブネットマスク
Flags = 経路の種類
UGH → 「U」 = 有効
   → 「H」 = ホスト
   → 「G」 = ゲートウェイ
MSS = TCP接続の最大セグメント数
Window = TCP接続のウインドウ・サイズ
irtt = 初期ラウンドトリップ時間
Iface = インタフェース名

上記1行目であれば、
192.168.3.0/24(Destination)へはbr0(Iface)を通り、
172.16.0.1/255.255.255.0(Gateway/Genmask)へ投げなさい、という意味。
また32bit指定なのでFlagsには「H」が記述されている。



TCPステータス表示

# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:5901          0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:60717           0.0.0.0:*               LISTEN  
(省略)
tcp        0      0 172.16.0.164:34000     172.16.0.143:22        ESTABLISHED 
tcp        0      0 172.16.0.164:22        172.16.0.79:3694       ESTABLISHED 
(省略)

TIPS:
Proto = ソケットで用いられているプロトコル (tcp, udp, raw のいずれか)。
Recv-Q = このソケットに接続されたユーザープログラムに渡されなかったデータのバイト数。
Send-Q = リモートホストに受け入れられなかったデータのバイト数。
Local Address = ローカル側ソケットのアドレスとポート番号(オプション-nを使用しているので生のポート番号を表示)。
Foreign Address = リモート側ソケットのアドレスとポート番号。

State = ソケットの状態。以下stateで表示されるもの。
→ ESTABLISHED = ソケットは確立した接続状態にある。
→ SYN_SEN = Tソケットは接続を確立しようと試みている。
→ SYN_RECV = 接続要求をネットワークから受信している。
→ FIN_WAIT1 = ソケットはクローズされており、接続は切断中である。
→ FIN_WAIT2 = 接続はクローズされ、ソケットはリモート側からの切断を待っている。
→ TIME_WAIT = ソケットは、クローズ後にリモートからの切断が再送されるのを待っている。
→ CLOSED = ソケットは使用されていない。
→ CLOSE_WAIT = リモート側は既に切断され、ソケットがクローズされるのを待っている。
→ LAST_ACK = リモート側は既に切断され、ソケットもクローズされている。確認 (acknowledgement) を待っている。
→ LISTEN = ソケットは接続待ち (listen) である。オプションに-lや-aを指定すると表示される。
→ CLOSING = 両方のソケットが切断されているが、まだ全てのデータが送られていない。
→ UNKNOWN = ソケットの状態は不明である。

参考:http://www.linux.or.jp/JM/html/net-tools/man8/netstat.8.html

netstatの結果で使用Listenポートが分かったと思うが、実際にそれが何に使われているポートなのかは不明なことが多い。その場合は通信ポートを追うことが出来るので調査は可能。

プロトコルレベルでの統計情報

# netstat -s
Ip:
    1220411720 total packets received
    0 forwarded
    0 incoming packets discarded
    1220411720 incoming packets delivered
    970661029 requests sent out
Icmp:
    84455 ICMP messages received
    0 input ICMP message failed.
    ICMP input histogram:
        echo requests: 84455
    84476 ICMP messages sent
    0 ICMP messages failed
    ICMP output histogram:
        destination unreachable: 17
        echo request: 4
        echo replies: 84455
IcmpMsg:
        InType8: 84455
        OutType0: 84455
        OutType3: 17
        OutType8: 4
Tcp:
    1437745 active connections openings
    1814627 passive connection openings
    1247203 failed connection attempts
    64549 connection resets received
    72 connections established
    1220025202 segments received
    965158827 segments send out
    5146849 segments retransmited
    0 bad segments received.
    68773 resets sent
Udp:
    265443 packets received
    17 packets to unknown port received.
    82 packet receive errors
    270877 packets sent
    RcvbufErrors: 82
UdpLite:
TcpExt:
    9873 invalid SYN cookies received
    1246216 resets received for embryonic SYN_RECV sockets
    1202 packets pruned from receive queue because of socket buffer overrun
    2468758 TCP sockets finished time wait in fast timer
    9743 time wait sockets recycled by time stamp
    2834036 delayed acks sent
    1496 delayed acks further delayed because of locked socket
    Quick ack mode was activated 57796 times
    6340 times the listen queue of a socket overflowed
    6340 SYNs to LISTEN sockets ignored
    316 packets directly queued to recvmsg prequeue.
    3848 packets directly received from backlog
    62347 packets directly received from prequeue
    788669778 packets header predicted
    145 packets header predicted and directly queued to user
    352635722 acknowledgments not containing data received
    344667303 predicted acknowledgments
    497341 times recovered from packet loss due to fast retransmit
    930913 times recovered from packet loss due to SACK data
    Detected reordering 45806 times using reno fast retransmit
    TCPDSACKUndo: 50
    108097 congestion windows recovered after partial ack
    687871 TCP data loss events
    TCPLostRetransmit: 11137
    144611 timeouts after reno fast retransmit
    136373 timeouts after SACK recovery
    13385 timeouts in loss state
    1662743 fast retransmits
    183030 forward retransmits
    1647722 retransmits in slow start
    958417 other TCP timeouts
    TCPRenoRecoveryFail: 355365
    6185 sack retransmits failed
    55656 packets collapsed in receive queue due to low socket buffer
    179821 DSACKs sent for old packets
    3639 DSACKs sent for out of order packets
    26169 DSACKs received
    214 connections reset due to unexpected data
    132 connections reset due to early user close
    1652 connections aborted due to timeout
    TCPDSACKIgnoredNoUndo: 978
    TCPSpuriousRTOs: 712
    TCPSackShifted: 146638
    TCPSackMerged: 1803104
    TCPSackShiftFallback: 2011909
IpExt:
    InBcastPkts: 36521
    InOctets: 717648600698
    OutOctets: 761319460423
    InBcastOctets: 4337417

かなりのボリュームがあるので、それぞれにどんな意味があるかは説明できないが、困ったときには使えるオプション。

実体験で一番役に立ったのは、
6340 times the listen queue of a socket overflowed
上記の表示。

これはサーバが受け取れなかったセッションの数。
もし、overflowしていなかったら出ていない項目なのだが、あるサーバの運用をしたときに急遽現れた項目。

詳しくは


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-12-17 (木) 16:51:16 (707d)