Linuxコマンド | ネットワーク | netstat ネットワーク状態の確認

netstatコマンド

network statisticsの略で、ネットワークインターフェースやプロトコル上の統計を表示するソフトウェアまたはツールです。主にネットワークの状態や性能を測定し、ネットワーク上の問題を把握するときによく使われます。

netstatの使用方法

netstat [オプション] [| grep ポート番号 or サービス名]

オプション:

  • -l (listen): 接続可能な状態
  • -n (number port): ポート番号
  • -t (tcp): TCP
  • -u (udp): UDP
  • -p (Program name / PID): プログラム名 / PID。どのプロセスがその通信を使用しているかを表示します。
  • -a (all): すべて。ESTABLISHEDだけでなく、すべてのStateのソケット情報を表示します。

netstatの使用例

$ netstat
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  192.168.0.1.62123      111.111.11.111.https   ESTABLISHED
  • Proto: その通信で使用されるプロトコルを示します。
  • Recv-Q, Send-Q: その通信で使用されるソケットサイズのバッファを意味します。Recv-Qrecv()でまだ処理されていないデータを意味し、Send-Qsend()で送信したものの、まだ完全には外部へ送信されていないデータのサイズを意味します。
  • Local Address, Foreign Address: 文字どおり、その通信で使用される自分側のアドレスと宛先アドレスを意味します。
  • (state): ESTABLISHED、LISTENなどの状態を示します。

NOTE

ポート

サーバーに開かれたドアを意味し、数値で表されます。
IPでサーバーに接続するとき、サーバーには複数のポートがあります。

TCPとUDP

TCP: 速度は低い、双方向通信(信頼性は高い)、問い合わせ応答あり、stream
UDP: 速度は高い、一方向通信(信頼性は低い)、問い合わせ応答なし、datagram(dgram)

netstatオプションは主に-lntupを使う

その他に-antup-ltup-atupなども使います。

/etc/services

/etc/servicesはサービス名およびポート定義ファイルで、ポート番号を確認できます。