Netstat
netstatは、ネットワーク接続、ルーティングテーブル、各種ネットワークインタフェースの統計情報などを表示するコマ…
|
| |
| 最新版 |
1.60
/ 2001年4月15日 |
|---|---|
| プログラミング 言語 | C |
| ライセンス | GPL |
| 公式サイト |
net-tools |
netstatは、ネットワーク接続、ルーティングテーブル、各種ネットワークインタフェースの統計情報などを表示するコマンド行ツール。UNIX、Unix系、Windows NT系オペレーティングシステムで利用可能。"network statistics" の略。
ネットワークに関わる問題を探したり、トラフィック量を調べて性能を測定するといった用途に使う[1]。
パラメータ
このコマンドのパラメータには、スラッシュ (/) ではなくハイフン (-) を前置する。
- -a : 全てのアクティブなTCPコネクションと、そのマシンがlistenしているTCPポートおよびUDPポートを表示する。
- -b : 各コネクションやlistenポートに対応したプログラム名を表示する(Windows XPと2003 Server以降のみ)。
- -e : イーサネットの統計情報を表示する(受信した総バイト数やパケット数など)。-s と組み合わせて使うことができる。
- -f : 外部のアドレスについて完全修飾ドメイン名 <FQDN> を表示する(Windowsでは使えない)。
- -i : ネットワークインタフェースとそれらの統計情報を表示する(Windowsでは使えない)。
- -n : アクティブなTCPコネクションを表示するが、アドレスやポート番号は数値的に表示され、名前への変換は行わない。
- -o : アクティブなTCPコネクションと対応するプロセスID (PID) を表示する。Windowsタスクマネージャを併用するとPIDからどのアプリケーションかがわかる。-a, -n,および-pと共に指定できる。Windows XPと2003 Server以降で利用可能(Windows 2000ではホットフィックスがある[2])。
- -p Windows: Protocol : Protocolで指定したプロトコルのコネクションを表示する。Protocolに指定できるのはtcp, udp, tcpv6, udpv6のいずれかである。-sと組み合わせてプロトコルの統計情報を表示する場合はtcp, udp, icmp, ip, tcpv6, udpv6, icmpv6, ipv6のいずれかを指定できる。
- -p Linux: Process : ソケットごとのプロセスの対応を表示する(Windowsの-bに相当)。root権限が必要。
- -P Solaris: Protocol : Protocolで指定したプロトコルのコネクションを表示する。Protocolにはip, ipv6, icmp, icmpv6, igmp, udp, tcp, rawipが指定できる。
- -r : ルーティングテーブルの内容を表示する。Windowsでのroute printコマンドに相当。
- -s : プロトコル毎の統計情報を表示する。デフォルトでは、TCP、UDP、ICMP、IPの統計情報を表示する。Windows XP以降でIPv6をインストールしている場合、TCP over IPv6、UDP over IPv6、ICMPv6、IPv6についての統計情報も表示する。-pを併用すると、指定したプロトコルの情報を表示できる。
- -v : -bと組み合わせると、コネクション作成やlistenポートに関わるコンポーネントを羅列する。
- Interval : 指定された情報をInternal秒ごとに表示する。CTRL+Cで表示が停止する。これを省略すると1回だけ表示する。
- /? : ヘルプ情報を表示する(Windowsのみ)。
netstatで得られる情報
- Proto(プロトコル) - プロトコル名(TCPまたはUDP)
- Local Address(ローカルアドレス) - ローカルコンピュータで使われているIPアドレスとポート番号。-nパラメータを指定しない場合、対応する名前が表示される。
- Foreign Address(外部アドレス) - ソケットが接続されているリモートコンピュータのIPアドレスとポート番号。-nパラメータを指定しない場合、対応する名前が表示される。コネクションが確立していない場合、ポート番号はアスタリスク (*) で表示される。
- State(状態) - TCPコネクションの状態を表示。とりうる状態はCLOSE_WAIT, CLOSED, ESTABLISHED, FIN_WAIT_1, FIN_WAIT_2, LAST_ACK, LISTEN, SYN_RECEIVED, SYN_SEND, TIME_WAITである。TCPコネクションの状態について詳しくはRFC 793を参照。
例
TCPまたはUDPプロトコルの統計情報を表示する場合、次のようなコマンド行となる。
netstat -sp tcp
netstat -sp udp
アクティブなTCPコネクションと対応するプロセスIDを5秒間隔で表示する場合、次のようなコマンド行となる(Windows XP、2003、2000(ホットフィックス)以降のみ)。
netstat -o 5
macOSでは次の通り。
netstat -w 5
アクティブなTCPコネクションと対応するプロセスIDを数値として表示する場合、次のようなコマンド行になる(Windows XP、2003、2000(ホットフィックス)以降)。
netstat -no
特定のプロセスIDのプロセスがオープンした全ポートを表示する場合は、次の通り。
netstat -ao | find "pid"
注意
一部のバージョンでは、printf出力に明確なフィールド区切り文字が指定されていないため、フィールドが重なってしまい、データが読み取れなくなる場合がある。
プラットフォーム固有の注意点
Linuxでは、netstatでは上述のprintf問題で表示が壊れることがあるため、/proc/net/devからデータを得る場合がある。
Windowsでは、netstatはIP Helper APIまたはIPHLPAPI.DLLのGetTcpTableおよびGetUdpTableという関数を呼び出して情報を収集している。これらで得られる情報は、ローカルおよびリモートのIPアドレスとポート番号、TCP状態コードである。また、TCP/IPがインストールされていない場合は使えない。
Mac OS X v10.5では、 /Applications/UtilitiesフォルダにNetwork Utilityというユーティリティがあり、そのNetstatタブで同等の情報を表示できる。
関連項目
脚注
外部リンク
- Net Statistics (NetStats) home page – フリーウェアのネットワーク監視ツール
- Microsoft TechNet Netstat article
- The netstat Command (Linux)
- Security Now #49 - The NETSTAT Command – Security Now!のポッドキャスト
- From linux-ip.net 表示内容に関する詳細な説明
- netstat(8) man page (JM Project)
- netstat(1M) man page (Solaris 10 Reference Manua)
- netstat(1) man page(HP-UX リファレンス)
- netstat コマンド Solaris のシステム管理(IP サービス)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.