TOPへ ID:050022
 

 ネットワーク系コマンドの実行 


 
+ネットワーク系コマンドの実行

  ・各種ネットワーク系コマンド
    ・netstat
  ・ネットワーク系コマンドによる障害解析
 



1. 各種ネットワーク系コマンドの実行


(1)netstat

  netstatコマンドは、TCP/IPの通信状態を知りたいときに使用する基本的なコマンドで、現在の通信状態を表示してくれる。「-n」オプションを
  付けると、ホスト名やサービス名などの表示が、IPアドレスやポート番号などで表示されるようになる。netstatコマンドを利用すれば、
  現在通信している送信先と送信先のIPアドレスやポート番号、プロトコル(TCP/UDP)、状態などが確認できる。

  実際にいくつかの通信を行っている状態でnetstatの表示結果を見てみる。

 >netstat -n

 Active Internet connections
 Proto Recv-Q Send-Q Local Address     Foreign Address    (state)
 tcp4  0     2     192.168.1.8.1063   216.148.237.147.80  ESTABLISHED 
 tcp4  0     0     192.168.1.8.1065   216.148.237.17.80   ESTABLISHED 
 tcp4  0     0     192.168.1.8.1067   216.148.237.15.80   ESTABLISHED 
 tcp4  0     0     192.168.1.8.1069   216.148.237.144.80  ESTABLISHED 
 tcp4  0     0     192.168.1.8.1071   216.148.237.158.80  ESTABLISHED

  

  「Proto」はプロトコル、「Local Address」は送信元のIPアドレスと送信元のポート番号、「Foreign Address」には送信先のIPアドレスと
  ポート番号が表示されている。Webページなどを閲覧すると、送信先のポート番号が80番となっていることがわかる。また、通信している
  プロトコルがTCPの場合には、「State欄」に接続状態も表示される。「ESTABLISHED」はコネクションが確立した状態、「SYN_SENT」は
  コネクションを要求中、「CLOSE_WAIT」はコネクションがクローズされるのを待っている状態である。また、自身の待ち受け状態のポートが
  あるかチェックしたい場合には、「netstat -an」とオプションを付けて実行する。StateにLISTENと表示されるものが、接続待ち状態の
  ポートである。

  例えば、上記の一番上を見てみると、「216.148.237.147」のWebサーバのポートとのコネクションが確立していることが確認できる。
  このWebサーバは、ポート80番で外部からの接続を待機しており、そこへクライアントから、下記のようなヘッダをもつリクエストパケットが
  送信され、コネクションが確立された状態となっている。

 ・送信先IPアドレス:216.148.237.147
 ・送信先ポート番号:80
 ・送信元IPアドレス:192.168.1.8
 ・送信元ポート番号:1063
 ・プロトコル:TCP

  OSによってクライアントに割り振られた送信元のポート番号は1063で、上記のような5つの情報で通信が識別されている。Webサーバでは、
  このクライアントとの通信を処理しながら、ポート80番でほかのクライアントからの接続要求を待ち受けている。また、クライアント側も、Web
  ブラウザでほかのWebページを閲覧していたり、ほかのインターネットサービスを利用する場合には、OSによって現在利用している
  ポート番号以外の別のポートが割り当てられる。このようにして、それぞれの通信を行う相手を識別して、パケットのやり取りが処理される。

●状態一覧
状態 意味
CLOSED ポートが使用されていない状態
CLOSE_WAIT 相手からFIN(通信終了要求)を受け取った状態
ESTABLISHED TCP接続が確立している通信を行っている状態
FIN_WAIT_1 自分からFINを送信した状態
FIN_WAIT_2 FINに対するACK(応答)を受け取った状態
LAST_ACK 送信したFINに対するACKを待っている状態
LISTEN 相手からの通信を待ち受けている状態
SYN_RECIEVED SYN(通信開始)の要求を受け取った直後の状態
SYN_SEND SYNを送信した後で、それに対するACKを受けていない状態
TIMED_WAIT コネクションの終了を待っている状態

●各状況発生タイミング
サーバ側 信号 クライアント側
------------

受動オープン
(passive open)

LISTEN



SYN-RECEIVED

TCP接続の確立








<---------SYN
SYN,ACK----->
<---------ACK
-----------





能動オープン
(active open)

SYN-SENT
------------

ESTABLISHED
TCPデータの転送


DATA-------->
DATA-------->
<---------ACK
(以下同様)
-----------

ESTABLISHED
------------

CLOSE-WAIT

LAST-ACK
CLOSED
TCP接続の切断

<----------FIN
ACK--------->
FIN---------->
<---------ACK
-----------

FIN-WAIT-1
FIN-WAIT-2
CLOSED


2.ネットワーク系コマンドによる障害解析

 

UNIX,Linux