netstatコマンド ~通信状態を確認する~
勉強記録
現在、ネットワークの勉強をしています。
最近は主にトランスポート層の勉強をしていました。
今回は、ネットワークの状態を見る方法としてnetstatコマンドについて学んだのでまとめました。
勉強に使用しているのは、こちらの技術書です。
イラスト図解で、全ページフルカラーなのでとても読みやすく理解しやすいです。
トランスポート層で使われるプロトコル、TCPとUDPについては過去の記事でまとめています。
programming-kanamama.hatenablog.com
programming-kanamama.hatenablog.com
programming-kanamama.hatenablog.com
netstatコマンドとは
TCPやUDPはバックグラウンドで動いているものですが、これらの状態を見る方法がいくつか用意されており、そのひとつがnetstatコマンドです。
netstatは、接続状態を調べ、IPアドレスやプロトコルやポート番号などを表示してくれるコマンドです。
ターミナルを起動して、「netstat -n」と入力すると、
・トランスポート層のプロトコル
・パソコンのIPアドレスとポート番号
・通信相手のIPアドレスとポート番号
・接続の状態
が表示されます。
- nはオプションですが、-nをつけることでIPアドレスとポート番号で表示してくれます。
接続の状態
netstatコマンドを実行したときに表示される接続の状態には様々な種類があります。
・ESTABLISHED : TCPによる接続が確立して、通信をしている状態。
・LISTEN : サーバーが待ち受け状態。
・TIME_WAIT : 接続を終了しようとしている状態。
詳しくはTCPのステータス遷移図(状態遷移図)を見てみるといいと思います!
ステータス遷移図を見ると、コネクション確立・終了の流れもわかりやすかったです。
(私はこちらの方の記事を参考に勉強させていただきました)
TCPの状態遷移 - Qiita