netstatは、ネットワーク関連でよく出てくるコマンドの一つです。
さまざまな機器やデバイスがネットワークに接続されている現代では、ネットワーク接続が正常かどうか、正しく情報がやりとりされているか、どのくらいの情報が流れているのかなどネットワーク状態を確認することはとても大切です。
netstatは、こうしたときに使われているコマンドの一つで、ネットワークエンジニアが覚えるべき基本の一つでもあります。
今回は、netstatコマンドの概要やその他のコマンドとの使い分け、実際の使い方などを解説していきます。
netstatコマンドは、WindowsでもUnix系OSでも利用可能ですが、この記事ではWindowsでの利用を前提とします。
Windows VPSならWinserver!
★丁寧な電話サポートで安心★
\2週間無料トライアル実施中/
2週間無料で試す
目次
netstatは、どのようなコマンド?
netstatは、ネットワーク関連の調査や確認でよく使われるコマンドの一つです。
netstatコマンドは実際にどのようなものなのでしょうか。
ネットワークで重要なことの一つに「接続状態を把握する」ということがあります。
接続されているべき機器が正常に接続され、通信が行われているかどうか、どのくらいの情報が流されているのかといったことを確認するということがそれです。
こうした役割を果たしているのがnetstatコマンドです。
そうした意味では、ネットワークを扱う場合の基本的なコマンドの一つであると言えます。
netstatで得られる情報はどのようなもの?
ネットワーク関連の調査などで、netstatを実行することは多いと思いますが、このコマンドを実行することで得られる情報にはどのようなものがあるのでしょうか。
以下で、得られる情報を表にして整理しました。
項目 | 内容 |
---|---|
現在のソケットの状況 | ネットワーク接続やソケットの状況を表示 |
ルーティング情報 | ルーティングの設定や状況などの情報を表示 |
各種プロトコルの状況 | プロトコルごとの通信やエラーなど統計情報の表示 |
なお、ソケットとはIPアドレスとポート番号を組み合わせて指定したものです。
netstatを含むネットワークエンジニアが使うさまざまなコマンド
ネットワークのさまざまな設定や接続状況、流れる情報の確認など、ネットワークエンジニアはnetstat以外にもさまざまなコマンドを使います。
以下では、ネットワークエンジニアが使うさまざまなコマンドを見ていきましょう。
コマンド | 役割 | 使い方 |
---|---|---|
netstat | ネットワークの接続状況や状態の確認 | netstatもしくはnetstat オプション |
ipconfig | ネットワーク設定(IPアドレスなど)の確認 | ipconfig /all |
nslookup | IPアドレスとホスト名の変換 DNSサーバーとの通信確認 | nslookup サーバー名など |
nbtstat | IPアドレスとホスト名の変換 | nbtstat -a ホスト名 |
hostname | ホスト名の確認 | hostname |
ping | ネットワークの疎通確認 | ping 相手先 |
tracert | ネットワークの経路確認 | tracert 相手先 |
arp | IPアドレスとMACアドレスの「一覧を表示(過去に通信したもの) | arp -a |
これら以外にもネットワーク関連のコマンドはいろいろありますが、それぞれできることが違うので、目的に合わせて使い分けることが大切です。
2022.05.26
nslookupコマンドとは。名前解決の方法や、digとの違いを解説
インターネットでさまざまなWebサイトを閲覧するとき、「xxx.co.jp」のようなドメイン名を入力することが多いですよね。...
2022.11.03
PINGとは。回線速度との違いやオンラインゲームへの影響などを解説!
インターネットでウェブサイトの閲覧を行う、オンラインストレージを活用する、YouTubeなどの閲覧をするなど、ネットワークの利用を行う際に気...
2022.11.10
ARPとは。MACアドレスやIPアドレスとの関係、RARPも解説!
皆さんはARPと呼ばれる仕組みを知っていますか?ARPは、IPアドレスからMACアドレスの情報を取得するためのネットワーク通信で使わ...
netstatの使い方
ここまでnetstatについて解説してきましたが、実際にどのように使うのでしょうか。
以下では、netstatコマンドの使い方について見ていきましょう。
netstatの基本的な使い方
基本的にnetstatコマンドは、コマンドラインで使用します。
Windowsではコマンドプロンプトから、以下のように実行します。
これを実行すると、以下のように表示されます。
ここで表示されている各項目については、以下のようになっています。
項目 | 内容 | 備考 |
---|---|---|
Proto | 使われているネットワークプロトコル | 後述のオプションを付けない場合、常にTCP |
Local Address | ローカル側のアドレスとポート番号 | 「:(コロン)」の左側:コンピュータ名/IPアドレス 右側:ポート番号 |
Foreign Address | 相手側アドレスとポート番号 | |
state | 接続の現在のステータス *下記に記載 |
なお、接続の状態(state)に関しては、以下のようになっています。
- CLOSED
:未使用のTCPポート。netstatコマンドを実行してもこれは表示されない。 - ESTABLISHED
:TCPコネクションが確立して通信している状態。netstatコマンドで最もよく見る。 - LISTENING
:待ち受け状態。「-a」オプションを付けると表示される。 - SYN_SENT
:通信開始の要求(SYN:Synchronize)を送信したが、それに対する応答(ACK:Acknowledgement)を受け取っていない状態。ACKを受け取るとESTABLISHEDになる。 - SYN_RECEIVED
:クライアントからSYNを受け取った状態。受け取ったSYNに対してACKを送信するとESTABLISHEDになる。 - FIN_WAIT_1
:自分側から先にFIN(転送終了のパケット)を送信した状態。そのFINに対するACKを受信するとFIN_WAIT_2になるが、先に相手からのFINを受け取るとCLOSINGになる。 - FIN_WAIT_2
:自分側から送信したFINに対するACKを受け取った状態。相手からのFINを受け取り、それに対してACKを返すとTIME_WAITになる。 - TIME_WAIT
:コネクションの終了待ち状態。しばらくしてからCLOSEDになる。(netstatの表示から消える。) - CLOSE_WAIT
:相手からのFINを受け取った状態。FINを送信してからLAST_ACKになる。 - LAST_ACK
:送信したFINに対するACK待ち状態。ACKを受け取ったらCLOSEDになる。(netstatの表示から消える。) - CLOSING
:FINに対するACKを受け取るとTIME_WAITになる。
このように、さまざまな項目にわたる情報を知ることができるだけでなく、接続状態も詳細に把握することができます。
netstatオプションを使いこなそう
netstatコマンドには、先ほど解説した使い方以外にも、さまざまなオプションがあります。
コマンドの形式としては、netstatは以下のようになっています。
それを踏まえて例えば、以下のようなものがそれです。
オプション | できること | 備考 |
---|---|---|
-a | すべての接続を表示 | 接続待ちを含めた全ポートが表示される |
-b | サービス名/実行ファイル名を表示 | |
-f | 外部アドレスをFQDNで表示 | |
-n | 外部アドレスをIPアドレスで表示 プロトコルではなくポート番号で表示 | |
-e | インターフェースの統計情報を表示 | |
-r | ルーティングテーブル(ルーティングキャッシュ)を表示 | |
-s | 各プロトコルの統計情報を表示 | |
-o | プロセスIDを表示 | |
-p | プロトコルを指定して表示 | -ap tcpのように、他オプションと組み合わせて使う |
これらは、目的に合わせてうまく使うことで、自分の知りたい得たい情報を得ることができるようになっています。
netstatの使い方〜応用編
標準的なnetstatの使い方と比べて、オプションを使うと目的に合わせてさまざまな得たい情報を得ることができるようになります。
ここでは、netstatコマンドで具体的に特定のオプションを使う例を見ていきましょう。
<使い方1:ルーティングテーブルの確認>
設計し、設定した通りのネットワーク経路で疎通が取れないとルーティングテーブルを確認します。
それは、以下のように行います。
これを実行すると以下のように、宛先ネットワークやゲートウェイ、インターフェースの情報を確認することができ、正しく設定されているかどうか確認できます。
IPv4 Route Table
==================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 111.222.333.1 111.222.333.2 281
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
==================================================================
Persistent Routes:
Network Address Netmask Gateway Address Metric
0.0.0.0 0.0.0.0 111.222.333.1 Default
==================================================================
<使い方2:ポートを使用しているアプリケーションを特定する>
複数のオプションを組み合わせることにより、目的のポート番号を使用しているアプリケーションを1行のコマンドで特定することができます。
bオプションを使うには、コマンドプロンプトを管理者権限で実行する必要があるので、その点のみ注意が必要です。
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
Can not obtain ownership information
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 996
RpcSs
[svchost.exe]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
Can not obtain ownership information
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 764
TermService
[svchost.exe]
netstatを使うときの注意
netstatは、ネットワーク接続やルーティングテーブルの状態など、ネットワーク関連の情報を確認する際にとても便利なコマンドです。
しかし、netstatを使うときには、いくつか注意すべきことがあります。
netstatを使う際には、以下の点に注意しておきましょう。
- 実行に管理者権限が必要なオプションもある(-bなど)
- OSによって使えるオプションが異なる
特にOSに依存したオプションはいろいろとあるので、実行時には自分が使おうとしているOSで使えるかどうか把握しておくことが大切です。
まとめ
netstatは、ネットワークエンジニアやシステムエンジニアなど、インフラ関連に触れる情報処理技術者にとって基本とも言えるネットワークコマンドの一つです。
今回解説したように、netstatコマンド自体には、基本的な使い方以外にさまざまなオプションを駆使して、得たい情報を得ることでネットワークシステムの運用や障害対応などに幅広く使えるものとなっています。このコマンドは、非常に多くの場面で使えるものなのでぜひ理解して使いこなせるようにしておきましょう。
Winserver紹介資料
Windows Server専門のホスティングサービス「Winserver(ウィンサーバー)」の基本資料です。
各サービスの概要、特徴をまとめています。
Winserver紹介資料
Windows Server専門のホスティングサービス「Winserver(ウィンサーバー)」の基本資料です。
各サービスの概要、特徴をまとめています。