HumansXドキュメントセンター 公式サイトへ ↗

netstat

netstat コマンド は Linux のネットワークシステムの状態情報を表示するコマンドで、システム全体のネットワーク状況を把握できます。

構文

netstat [-vWeenNcCF] [<Af>] -r         
netstat {-V|--version|-h|--help}
netstat [-vWnNcaeol] [<Socket> ...]
netstat { [-vWeenNac] -i | [-cnNe] -M | -s [-6tuw] }

オプション

  • -A: 該当するネットワークタイプの接続に関連するアドレスを一覧表示します。
  • -r, --route:ルーティングテーブルを表示し、システムのルート情報を一覧表示します。
  • -i, --interfaces:インターフェース名、IP アドレスなどのネットワークインターフェース情報を表示します。
  • -g, --groups:マルチキャストグループのメンバー情報を表示します。
  • -s, --statistics:SNMP(Simple Network Management Protocol)のようなネットワーク統計情報を表示し、ネットワーク活動の詳細な統計を提供します。
  • -M, --masquerade:マスカレード(masquerade)接続情報を表示します。通常は NAT(Network Address Translation)ネットワークで使用します。
  • -v, --verbose:詳細情報を表示し、ネットワーク問題の診断に役立つ情報を提供します。
  • -W, --wide:IP アドレスを省略せず、完全な IP アドレス情報を表示します。
  • -n, --numeric:ホスト名やポート名を解決せず、IP アドレス、ポート番号、ユーザー情報を数値形式で表示します。
  • --numeric-hosts:ホスト名を解決しません。
  • --numeric-ports:ポート名を解決しません。
  • --numeric-users:ユーザー名を解決しません。
  • -N, --symbolic:ハードウェア名を解決し、ハードウェアデバイスのシンボル名を表示します。
  • -e, --extend:追加情報を表示します。2 回指定すると最大限の詳細情報が得られます。
  • -p, --programs:PID(プロセス識別子)とプログラム名を表示し、ソケットに関連するプロセス情報を示します。
  • -o, --timers:ソケットのタイマー状態などのタイマー情報を表示します。
  • -c, --continuous:netstat に選択した情報を毎秒継続して表示させ、継続的に監視します。
  • -l, --listening:待ち受け中のサーバーソケットのみを表示します。
  • -a, --all:接続済み・未接続を含むすべてのソケットを表示します。
  • -F, --fib:転送情報ベース(FIB)を表示します。
  • -C, --cache:転送情報ベースではなく、ルートキャッシュを表示します。
  • -Z, --context:SELinux セキュリティコンテキストを表示し、ソケットの SELinux セキュリティ情報を示します。
  • -v, --verbose:詳細出力を有効にし、実行中の操作に関する情報をより多く提供します。特に未設定のアドレスファミリーを扱う場合に有用な情報が得られます。
  • -o, --timers:ネットワークタイマーに関する情報を含めます。
  • -p, --program:各ソケットが属するプログラムの PID と名前を表示します。
  • -l, --listening:待ち受け中のソケットのみを表示します。デフォルトではこれらは省略されます。
  • -a, --all:待ち受け中と待ち受けていないソケットを表示します。--interfaces オプションと併用すると、有効になっていないインターフェースも表示します。
  • -F:FIB からルート情報を表示します(デフォルト)。
  • -C:ルートキャッシュからルート情報を表示します。

よく使うコマンド

詳細なネットワーク状況を表示

netstat -a     #列出所有端口
netstat -at    #列出所有tcp端口
netstat -au    #列出所有udp端口

現在の UDP 接続状況を表示

netstat -nu

UDP ポート番号の使用状況を表示

netstat -apu

ネットワークアダプタの一覧を表示

netstat -i

マルチキャストグループの関係を表示

netstat -g

ネットワーク統計情報を表示

netstat -s   显示所有端口的统计信息
netstat -st   显示TCP端口的统计信息
netstat -su   显示UDP端口的统计信息

待ち受け中のソケットを表示

netstat -l        #只显示监听端口
netstat -lt       #只列出所有监听 tcp 端口
netstat -lu       #只列出所有监听 udp 端口
netstat -lx       #只列出所有监听 UNIX 端口

netstat の出力に PID とプロセス名を表示

netstat -pt

netstat -pは他のスイッチと組み合わせて使用でき、netstat の出力に「PID/プロセス名」を追加できます。

netstat の情報を継続して出力

netstat -c   #每隔一秒输出网络信息

カーネルのルート情報を表示

netstat -r

netstat -rnを使うと、ホスト名を照会せずに数値形式で表示します。

プログラムが使用しているポートを調べる

すべてのプロセスが見つかるわけではなく、権限がないものは表示されません。root 権限ですべての情報を確認してください。

netstat -ap | grep ssh

指定したポートで動作しているプロセスを調べる

netstat -an | grep ':80'

ポートからプロセス ID を調べる

netstat -anp|grep 8081 | grep LISTEN|awk '{printf $7}'|cut -d/ -f1