netstat -
ネットワーク接続、経路テーブル、インターフェースの状態、マスカレード接続、
netlink
メッセージ、マルチキャストのメンバーシップを表示する
netstat [
address_family_options] [
--tcp|
-t]
[
--udp|
-u] [
--raw|
-w]
[
--listening|
-l] [
--all|
-a]
[
--numeric|
-n]
[
--numeric-hosts]
[--numeric-ports
][
--numeric-ports]
[
--symbolic|
-N]
[
--extend|
-e[
--extend|
-e]]
[
--timers|
-o] [
--program|
-p]
[
--verbose|
-v] [
--continuous|
-c]
netstat {
--route|
-r} [
address_family_options]
[
--extend|
-e[
--extend|
-e]]
[
--verbose|
-v] [
--numeric|
-n]
[
--numeric-hosts]
[--numeric-ports
][
--numeric-ports]
[
--continuous|
-c]
netstat {
--interfaces|
-i} [
iface]
[
--all|
-a]
[
--extend|
-e[
--extend|
-e]]
[
--verbose|
-v] [
--program|
-p]
[
--numeric|
-n]
[
--numeric-hosts]
[--numeric-ports
][
--numeric-ports]
[
--continuous|
-c]
netstat {
--groups|
-g} [
--numeric|
-n]
[
--numeric-hosts]
[--numeric-ports
][
--numeric-ports]
[
--continuous|
-c]
netstat {
--masquerade|
-M} [
--extend|
-e]
[
--numeric|
-n]
[
--numeric-hosts]
[--numeric-ports
][
--numeric-ports]
[
--continuous|
-c]
netstat {
--statistics|
-s} [
--tcp|
-t]
[
--udp|
-u] [
--raw|
-w]
netstat {
--version|
-V}
netstat {
--help|
-h}
address_family_options:
[
--protocol={
inet,
unix,
ipx,
ax25,
netrom,
ddp}[,
...]]
[
--unix|
-x] [
--inet|
--ip] [
--ax25]
[
--ipx] [
--netrom] [
--ddp]
netstat は Linux
のネットワークシステムに関する情報を表示する。
表示される情報のタイプは、最初の引き数で以下のように制御される。
デフォルトでは、
netstat
はオープンされているソケットの一覧を表示する。
アドレスファミリーが指定されていなければ、
設定されている全てのアドレスファミリーに関して、
アクティブなソケットが表示される。
カーネルの経路テーブルを表示する。
IPv4 と IPv6
のマルチキャストグループメンバーシップ情報を表示する。
全ての (あるいは
iface
で指定した)
ネットワークインターフェースの状態テーブルを表示する。
マスカレードされた接続を表示する。
各プロトコルの統計情報の一覧を表示する。
詳細表示モードになり、起こっていることをユーザーに知らせる。
特に、設定されていないアドレスファミリー関する有用な情報をいくつか表示する。
ホスト・ポート・ユーザーなどの名前を解決せずに、数字のアドレスで表示する。
ホストアドレスを数値で表示する。
ただし、ポート名とユーザー名の解決は行う。
ポート番号を数値で表示する。
ただし、ホスト名とユーザー名の解決は行う。
ユーザー ID
を数値で表示する。
ただし、ホスト名とポート名の解決は行う。
接続状態を表示するアドレスファミリーを指定する
(低レベルのプロトコルを指定すれば、
アドレスファミリーをうまく記述できるだろう)。
family はコンマ (',')
で区切られたリストで、
アドレスファミリーのキーワードを指定する。
キーワードとして
inet,
unix,
ipx,
ax25,
netrom,
ddp
が指定できる。
これは、
--inet,
--unix (
-x),
--ipx,
--ax25,
--netrom,
--ddp
オプションを使った場合と同じ効果がある。
アドレスファミリー
inet には raw, udp, tcp
プロトコルソケットが含まれる。
指定された情報を 1
秒ごとに表示し続ける。
さらに詳しい情報を表示する。
このオプションを 2
個指定すれば最も詳しい表示が得られる。
ネットワーキングタイマーに関する情報が追加される。
各ソケットが属しているプログラムの
PID
と名前が表示される。
接続待ち (listen)
状態にあるソケットのみを表示する
(このオプションはデフォルトでは省略される)。
接続待ち状態にあるソケットも、接続待ち状態にないソケットも表示する。
--interfaces
オプションが指定された場合、
マークされていないインターフェースを表示する。
FIB
からの経路情報を表示する
(これはデフォルトである)。
経路キャッシュからの経路情報を表示する。
ソケットで用いられているプロトコル
(tcp, udp, raw のいずれか)。
このソケットに接続されたユーザープログラムに渡されなかったデータのバイト数。
リモートホストに受け入れられなかったデータのバイト数。
ローカル側ソケットのアドレスとポート番号。
--numeric (
-n)
オプションが指定されない限り、
ソケットアドレスは正式なホスト名
(FQDN) になり、
ポート番号は対応するサービス名に変換される。
リモート側ソケットのアドレスとポート番号。
その他は "Local Address"
と同様である。
ソケットの状態 (state)。 raw
モードには状態がなく、また
UDP
も通常状態を使用しないため、
この項目は空白になっている。
普通は以下の値のどれか:
- ESTABLISHED
- ソケットは確立した接続状態にある。
- SYN_SENT
- ソケットは接続を確立しようと試みている。
- SYN_RECV
- 接続要求をネットワークから受信している。
- FIN_WAIT1
- ソケットはクローズされており、接続は切断中である。
- FIN_WAIT2
- 接続はクローズされ、ソケットはリモート側からの切断を待っている。
- TIME_WAIT
- ソケットは、クローズ後にリモートからの切断が再送されるのを待っている。
- CLOSED
- ソケットは使用されていない。
- CLOSE_WAIT
- リモート側は既に切断され、ソケットがクローズされるのを待っている。
- LAST_ACK
- リモート側は既に切断され、ソケットもクローズされている。
確認 (acknowledgement)
を待っている。
- LISTEN
- ソケットは接続待ち
(listen) である。
このようなソケットは、
--listening (-l) または --all
(-a)
オプションを指定しない限り、出力には含まれない。
- CLOSING
- 両方のソケットが切断されているが、まだ全てのデータが送られていない。
- UNKNOWN
- ソケットの状態は不明である。
ソケットのオーナーの、名前またはユーザー
ID (UID)。
このソケットを所有しているプログラムの
プロセス ID (PID)
とプログラム名の対
(スラッシュで区切られる)。
--program
オプションによってこの項目が現れる。
自分が所有していないソケットの情報を見るためには、
スーパーユーザー
特権が必要である。
この識別情報は IPX
ソケットに対してはまだ利用できない。
(まだ書いていない)
ソケットで用いられているプロトコル
(通常は unix)。
参照カウント
(このソケットに接続されているプロセス数)。
表示されるフラグは
SO_ACCEPTON (
ACC
と表示される)、 SO_WAITDATA (
W)、 SO_NOSPACE (
N) である。
SO_ACCEPTON
は、ソケットが接続されておらず、
かつそれを用いているプログラムが接続要求を待っている場合に用いられる。
他のフラグは通常は重要ではない。
ソケットアクセスのタイプ。何種類かある:
- SOCK_DGRAM
- データグラム
(connectionless)
モードのソケットである。
- SOCK_STREAM
- ストリーム (connection)
ソケットである。
- SOCK_RAW
- raw
ソケットである。
- SOCK_RDM
- 信頼性の高いメッセージを届けるソケットである。
- SOCK_SEQPACKET
- シーケンシャルパケットのソケットである。
- SOCK_PACKET
- raw
インターフェースアクセスのソケットである。
- UNKNOWN
- 将来なにが起こるか誰が知ろうか
- ここに書いて下さい
:-)
このフィールドには、以下のキーワードのいずれかが入る:
- FREE
- ソケットは割り当てられていない。
- LISTENING
- ソケットは接続要求の待ち状態である。
これらのソケットは、
--listening (-l) または --all
(-a)
オプションが指定されない限り、出力されない。
- CONNECTING
- ソケットは接続中である。
- CONNECTED
- ソケットは接続されている。
- DISCONNECTING
- ソケットは切断中である。
- (空白)
- ソケットは他のソケットに接続されていない。
- UNKNOWN
- このステートは現われないはずである。
このソケットをオープンしているプログラムのプロセス
ID (PID) とプロセス名。
より詳しい情報は上記の
アクティブなインターネット接続
の項を参照のこと。
ソケットに結び付けられているプロセスのパス名。
(知識を持っている人が記述してほしい)
(知識を持っている人が記述してほしい)
(知識を持っている人が記述してほしい)
カーネルリリース 2.2
から、
netstat -i
では別名インターフェースの
インターフェース統計を表示しなくなった。
別名インターフェース毎の統計を得るためには、
ipchains(8)
コマンドを用いて明示的にルールを設定する必要がある。
/etc/services --
サービス名と番号の変換表が入ったファイル
/proc -- proc
ファイルシステムのマウントポイント。
このファイルシステムにより、
以下のファイルを使ってカーネルの統計情報にアクセスできる。
/proc/net/dev -- デバイスの情報
/proc/net/raw raw
ソケットの情報
/proc/net/tcp -- TCP
ソケットの情報
/proc/net/udp -- UDP
ソケットの情報
/proc/net/igmp -- IGMP
マルチキャストの情報
/proc/net/unix -- Unix
ドメインソケットの情報
/proc/net/ipx -- IPX
ソケットの情報
/proc/net/ax25 -- AX25
ソケットの情報
/proc/net/appletalk -- DDP (appletalk)
ソケットの情報
/proc/net/nr -- NET/ROM
ソケットの情報
/proc/net/route -- IP 経路情報
/proc/net/ax25_route -- AX25 経路情報
/proc/net/ipx_route -- IPX 経路情報
/proc/net/nr_nodes -- NET/ROM
ノードリスト
/proc/net/nr_neigh -- NET/ROM ネイバー
(neighbour)
/proc/net/ip_masquerade --
マスカレード接続
/proc/net/snmp -- 統計情報
route(8),
ifconfig(8),
ipchains(8),
iptables(8),
proc(5)
ソケットが表示中に変更されると、たまに妙な情報が表示されることがある。
あまり起こらないとは思うが。
netstat
のユーザーインターフェースは
Fred Baumgarten <
[email protected]>
が書いた。
マニュアルページは主に
Matt Welsh <
[email protected]> が書き Alan Cox
<
[email protected]> が更新した。
しかし、作業はあまり多くなかった。
そしてさらに Tuan Hoang
<
[email protected]> が更新した。
net-tools
パッケージに入っているマニュアルページとコマンドは、
Bernd Eckenfels <
[email protected]>
が全体的に書き直した。