netstat

Autres langues

Langue: ja

Version: 19 December 2000 (fedora - 25/11/07)

Section: 8 (Commandes administrateur)

名前

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 はオープンされているソケットの一覧を表示する。 アドレスファミリーが指定されていなければ、 設定されている全てのアドレスファミリーに関して、 アクティブなソケットが表示される。

--route , -r

カーネルの経路テーブルを表示する。

--groups , -g

IPv4 と IPv6 のマルチキャストグループメンバーシップ情報を表示する。

--interface=iface , -i

全ての (あるいは iface で指定した) ネットワークインターフェースの状態テーブルを表示する。

--masquerade , -M

マスカレードされた接続を表示する。

--statistics , -s

各プロトコルの統計情報の一覧を表示する。

オプション

--verbose , -v

詳細表示モードになり、起こっていることをユーザーに知らせる。 特に、設定されていないアドレスファミリー関する有用な情報をいくつか表示する。

--numeric , -n

ホスト・ポート・ユーザーなどの名前を解決せずに、数字のアドレスで表示する。

--numeric-hosts

ホストアドレスを数値で表示する。 ただし、ポート名とユーザー名の解決は行う。

--numeric-ports

ポート番号を数値で表示する。 ただし、ホスト名とユーザー名の解決は行う。

--numeric-users

ユーザー ID を数値で表示する。 ただし、ホスト名とポート名の解決は行う。

--protocol=family , -A

接続状態を表示するアドレスファミリーを指定する (低レベルのプロトコルを指定すれば、 アドレスファミリーをうまく記述できるだろう)。 family はコンマ (',') で区切られたリストで、 アドレスファミリーのキーワードを指定する。 キーワードとして inet, unix, ipx, ax25, netrom, ddp が指定できる。 これは、 --inet, --unix (-x), --ipx, --ax25, --netrom, --ddp オプションを使った場合と同じ効果がある。

アドレスファミリー inet には raw, udp, tcp プロトコルソケットが含まれる。

-c, --continuous

指定された情報を 1 秒ごとに表示し続ける。

-e, --extend

さらに詳しい情報を表示する。 このオプションを 2 個指定すれば最も詳しい表示が得られる。

-o, --timers

ネットワーキングタイマーに関する情報が追加される。

-p, --program

各ソケットが属しているプログラムの PID と名前が表示される。

-l, --listening

接続待ち (listen) 状態にあるソケットのみを表示する (このオプションはデフォルトでは省略される)。

-a, --all

接続待ち状態にあるソケットも、接続待ち状態にないソケットも表示する。 --interfaces オプションが指定された場合、 マークされていないインターフェースを表示する。

-F

FIB からの経路情報を表示する (これはデフォルトである)。

-C

経路キャッシュからの経路情報を表示する。

出力

アクティブなインターネット接続 (TCP, UDP, raw)

Proto

ソケットで用いられているプロトコル (tcp, udp, raw のいずれか)。

Recv-Q

このソケットに接続されたユーザープログラムに渡されなかったデータのバイト数。

Send-Q

リモートホストに受け入れられなかったデータのバイト数。

Local Address

ローカル側ソケットのアドレスとポート番号。 --numeric (-n) オプションが指定されない限り、 ソケットアドレスは正式なホスト名 (FQDN) になり、 ポート番号は対応するサービス名に変換される。

Foreign Address

リモート側ソケットのアドレスとポート番号。 その他は "Local Address" と同様である。

State

ソケットの状態 (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
ソケットの状態は不明である。

User

ソケットのオーナーの、名前またはユーザー ID (UID)。

PID/Program name

このソケットを所有しているプログラムの プロセス ID (PID) とプログラム名の対 (スラッシュで区切られる)。 --program オプションによってこの項目が現れる。 自分が所有していないソケットの情報を見るためには、 スーパーユーザー 特権が必要である。 この識別情報は IPX ソケットに対してはまだ利用できない。

Timer

(まだ書いていない)

アクティブな UNIX ドメインソケット

Proto

ソケットで用いられているプロトコル (通常は unix)。

RefCnt

参照カウント (このソケットに接続されているプロセス数)。

Flags

表示されるフラグは SO_ACCEPTON (ACC と表示される)、 SO_WAITDATA (W)、 SO_NOSPACE (N) である。 SO_ACCEPTON は、ソケットが接続されておらず、 かつそれを用いているプログラムが接続要求を待っている場合に用いられる。 他のフラグは通常は重要ではない。

Type

ソケットアクセスのタイプ。何種類かある:
SOCK_DGRAM
データグラム (connectionless) モードのソケットである。
SOCK_STREAM
ストリーム (connection) ソケットである。
SOCK_RAW
raw ソケットである。
SOCK_RDM
信頼性の高いメッセージを届けるソケットである。
SOCK_SEQPACKET
シーケンシャルパケットのソケットである。
SOCK_PACKET
raw インターフェースアクセスのソケットである。
UNKNOWN
将来なにが起こるか誰が知ろうか - ここに書いて下さい :-)

State

このフィールドには、以下のキーワードのいずれかが入る:
FREE
ソケットは割り当てられていない。
LISTENING
ソケットは接続要求の待ち状態である。 これらのソケットは、 --listening (-l) または --all (-a) オプションが指定されない限り、出力されない。
CONNECTING
ソケットは接続中である。
CONNECTED
ソケットは接続されている。
DISCONNECTING
ソケットは切断中である。
(空白)
ソケットは他のソケットに接続されていない。
UNKNOWN
このステートは現われないはずである。

PID/Program name

このソケットをオープンしているプログラムのプロセス ID (PID) とプロセス名。 より詳しい情報は上記の アクティブなインターネット接続 の項を参照のこと。

Path

ソケットに結び付けられているプロセスのパス名。

アクティブな IPX ソケット

(知識を持っている人が記述してほしい)

アクティブな NET/ROM ソケット

(知識を持っている人が記述してほしい)

アクティブな AX.25 ソケット

(知識を持っている人が記述してほしい)

注意

カーネルリリース 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 <dc6iq@insu1.etec.uni-karlsruhe.de> が書いた。 マニュアルページは主に Matt Welsh <mdw@tc.cornell.edu> が書き Alan Cox <Alan.Cox@linux.org> が更新した。 しかし、作業はあまり多くなかった。 そしてさらに Tuan Hoang <tqhoang@bigfoot.com> が更新した。
net-tools パッケージに入っているマニュアルページとコマンドは、 Bernd Eckenfels <ecki@linux.de> が全体的に書き直した。