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-Qはrecv()でまだ処理されていないデータを意味し、Send-Qはsend()で送信したものの、まだ完全には外部へ送信されていないデータのサイズを意味します。 - 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はサービス名およびポート定義ファイルで、ポート番号を確認できます。