Skip to main content

Netstatコマンドの使用方法

使用netstat监控网络连接信息 [LinuxCast IT播客] (四月 2024)

使用netstat监控网络连接信息 [LinuxCast IT播客] (四月 2024)
Anonim

netstatコマンドは、表示に使用されるコマンドプロンプトコマンドです 非常に お使いのコンピュータが他のコンピュータやネットワークデバイスとどのように通信しているかについての詳細情報。

具体的には、netstatコマンドは個々のネットワーク接続、全体的およびプロトコル固有のネットワーキング統計などの詳細を表示することができ、これらのすべてが特定の種類のネットワーク問題のトラブルシューティングに役立ちます。

Netstatコマンドの可用性

netstatコマンドは、Windows 10、Windows 8、Windows 7、Windows Vista、Windows XP、Windows Serverオペレーティングシステム、および一部の古いバージョンのWindowsなど、ほとんどのWindowsのコマンドプロンプトから使用できます。

特定のnetstatコマンドスイッチと他のnetstatコマンド構文の利用可能性は、オペレーティングシステムによって異なる場合があります。

Netstatコマンドの構文

netstat -a -b -e -f -n -o -p プロトコル -r -s -t -バツ -y 時間間隔 /?

コマンド構文の読み方

netstatコマンドだけを実行すると、ローカルIPアドレス(コンピュータ)、外部IPアドレス(他のコンピュータまたはネットワークデバイス)、およびそれぞれのローカルIPアドレスとそれぞれのアクティブなTCP接続の比較的単純なリストが表示されますポート番号、およびTCP状態を表示します。

-a =このスイッチは、アクティブなTCP接続、リスニング状態のTCP接続、およびリッスンされているUDPポートを表示します。

-b =このnetstatスイッチは、 -o スイッチを表示しますが、PIDを表示する代わりに、プロセスの実際のファイル名が表示されます。使用 -b 以上 -o それはあなたが1つまたは2つのステップを節約しているように思えるかもしれませんが、それを使用するとnetstatが完全に実行されるまでの時間が大幅に延長されることがあります。

-e =このスイッチをnetstatコマンドとともに使用すると、ネットワーク接続に関する統計情報を表示できます。このデータには、接続が確立された後に送受信されたバイト、ユニキャストパケット、非ユニキャストパケット、破棄、エラー、および未知のプロトコルが含まれます。

-f = -f スイッチは、可能であれば、各外部IPアドレスのFQDN(Fully Qualified Domain Name)を表示するようにnetstatコマンドを強制します。

-n =を使用する -n netstatが外部IPアドレスのホスト名を決定しようとしないようにスイッチを切り替えます。現在のネットワーク接続に応じて、このスイッチを使用すると、netstatが完全に実行されるまでの時間が大幅に短縮されます。

-o =多くのトラブルシューティングタスクの便利なオプション、 -o スイッチは、表示されている各接続に関連付けられているプロセス識別子(PID)を表示します。使用方法の詳細については、以下の例を参照してください。 netstat -o.

-p =を使用する -p 特定の接続または統計のみを表示するように切り替える プロトコル 。複数を定義することはできません プロトコル 一度にnetstatを実行することはできません -p を定義することなく プロトコル .

プロトコル =を指定するとき プロトコル とともに -p オプションを使用すると、 tcp, udp, tcpv6、または udpv6。使用する場合 -s 〜と -p プロトコル別に統計情報を表示するには、 icmp, ip, icmpv6、または ipv6 私が言及した最初の4つに加えて。

-r =でnetstatを実行 -r IPルーティングテーブルを表示します。これはrouteコマンドを使用して実行するのと同じです 経路印刷.

-s = -s オプションをnetstatコマンドとともに使用すると、プロトコル別の詳細な統計情報を表示できます。表示される統計を特定のプロトコルに制限するには、 -s オプションを指定して プロトコル ただし、必ず使用してください -s-p プロトコル スイッチを一緒に使用するとき。

-t =を使用する -t 現在のTCPチムニーオフロード状態を、通常表示されるTCP状態の代わりに表示します。

-バツ =を使用する -バツ すべてのNetworkDirectリスナー、接続、および共有エンドポイントを表示するオプション。

-y = -y スイッチを使用して、すべての接続のTCP接続テンプレートを表示できます。あなたは使用できません -y 他のnetstatオプションを使用します。

時間間隔 =これはnetstatコマンドを自動的に再実行し、Ctrl-Cを使用してループを終了した場合にのみ停止する時間を秒単位で表したものです。

/? =ヘルプスイッチを使用して、netstatコマンドのいくつかのオプションに関する詳細を表示します。

リダイレクション演算子を使用して、画面に表示されている内容をテキストファイルに出力することで、コマンドラインのnetstat情報をすべて使いやすくすることができます。詳細な手順は、コマンド出力をファイルにリダイレクトする方法を参照してください。

Netstatコマンドの例

netstat -f

この最初の例では、すべてのアクティブなTCP接続を表示するためにnetstatを実行します。しかし、私はFQDN形式で接続しているコンピュータを見たいと思います-fを単純なIPアドレスの代わりに使用します。

表示される内容の例を次に示します。

アクティブな接続 Protoローカルアドレス外部アドレス状態 TCP 127.0.0.1:5357 VM-Windows-7:49229 TIME_WAIT TCP 127.0.0.1:49225 VM-Windows-7:12080 TIME_WAIT TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49230 TIM-PC:wsd TIME_WAIT TCP 192.168.1.14:49231 TIM-PC:icslap ESTABLISHED TCP 192.168.1.14:49232 TIM-PC:netbios-ssn TIME_WAIT TCP 192.168.1.14:49233 TIM-PC:netbios-ssn TIME_WAIT TCP :: 1:2869 VM-Windows-7:49226 ESTABLISHED TCP :: 1:49226 VM-Windows-7:icslap ESTABLISHED

ご覧のとおり、この例ではnetstatが実行された時点で11のアクティブなTCP接続がありました。唯一のプロトコル( プロト 列に記載されている)はTCPです。私は使用しなかったので期待されていました -a.

また、IPアドレスの3つのセットを見ることができます ローカルアドレス column-私の実際のIPアドレス 192.168.1.14 私のループバックアドレスのIPv4とIPv6の両方のバージョンと、それぞれの接続が使用しているポート番号が含まれています。ザ 外国の住所 列にFQDN( 75.125.212.75 何らかの理由で解決されなかった)と同様にポート。

最後に、 状態 列には、その特定の接続のTCP状態が表示されます。

netstat -o

この例では、netstatは正常に実行されるため、アクティブなTCP接続のみが表示されますが、対応するプロセス識別子-oを使用して、コンピュータ上のどのプログラムがそれぞれのプログラムを起動するかを判断することができます。

コンピュータの表示内容は次のとおりです。

アクティブな接続 Protoローカルアドレス外部アドレス状態PID TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT 2948 TCP 192.168.1.14:49196 a795sm:http CLOSE_WAIT 2948 TCP 192.168.1.14:49197 a795sm:http CLOSE_WAIT 2948

おそらくあなたは新しい PID カラム。この場合、PIDはすべて同じです。つまり、コンピュータ上の同じプログラムがこれらの接続を開いたことを意味します。

どのプログラムがPIDで表されているかを判断するには 2948 コンピュータ上で、あなたがしなければならないことは、タスクマネージャを開いて、 プロセス タブをクリックし、 イメージ名 私が探しているPIDの隣にリストされています PID カラム。1

netstatコマンドを -o オプションは、どのプログラムがあなたの帯域幅の大きすぎるシェアを使用しているかを追跡する際に非常に役立ちます。また、何らかの種類のマルウェアや正当なソフトウェアであっても、あなたの許可なしに情報を送信している場所を特定するのに役立ちます。

これと前の例は両方とも同じコンピュータ上で実行され、1分以内にアクティブなTCP接続のリストがかなり異なることがわかります。これは、お使いのコンピュータが、ネットワーク上のさまざまな他のデバイスに常時接続しているか、インターネットから切断しているためです。

netstat -s -p tcp -f

この3番目の例では、プロトコル固有の統計情報-sしかしそれらのすべてではなく、単にTCP統計-p tcp 。我々はまた、FQDN形式で表示される外国のアドレス-f.

上記のように、exampleコンピュータで生成されたnetstatコマンドは次のようになります。

IPv4のTCP統計 アクティブオープン= 77 パッシブオープン= 21 失敗した接続試行= 2 リセット接続= 25 現在の接続= 5 受信セグメント= 7313 送信セグメント数= 4824 再送されたセグメント= 5 アクティブな接続 Protoローカルアドレス外部アドレス状態 TCP 127.0.0.1:2869 VM-Windows-7:49235 TIME_WAIT TCP 127.0.0.1:2869 VM-Windows-7:49238 ESTABLISHED TCP 127.0.0.1:49238 VM-Windows-7:icslap ESTABLISHED TCP 192.168.1.14:49194 75.125.212.75:http CLOSE_WAIT TCP 192.168.1.14:49196 a795sm.avast.com:http CLOSE_WAIT TCP 192.168.1.14:49197 a795sm.avast.com:http CLOSE_WAIT

ご覧のとおり、TCPプロトコルのさまざまな統計情報が表示されます。そのときのすべてのアクティブなTCP接続も表示されます。

netstat -e -t 5

この最後の例では、netstatコマンドを実行して、いくつかの基本的なネットワークインターフェイスの統計情報を表示します-eこれらの統計情報はコマンドウィンドウで5秒ごとに継続的に更新されます-t 5 .

ここでは、画面上で何が生成されます:

インタフェース統計 受信済み バイト22132338 1846834 ユニキャストパケット19113 9869 非ユニキャストパケット0 0 0 0を破棄する エラー0 0 未知のプロトコル0 インタフェース統計 受信済み バイト22134630 1846834 ユニキャストパケット19128 9869 非ユニキャストパケット0 0 0 0を破棄する エラー0 0 未知のプロトコル0 ^ C

あなたがここで見ることができる、そして私が -e 上記の構文が表示されます。

netstatコマンドは、結果内の2つのテーブルからわかるように、1つの余分な時間だけを自動的に実行しました。注意してください ^ C 下部には、コマンドの再実行を停止するためにCtrl-C abortコマンドが使用されたことを示しています。

Netstat関連コマンド

netstatコマンドは、nslookup、ping、tracert、ipconfigなどのネットワーク関連のコマンドプロンプトコマンドでよく使用されます。

1 PID列をタスクマネージャに手動で追加する必要があるかもしれません。これを行うには、タスクマネージャの「表示」 - >「列の選択」から「PID(プロセス識別子)」チェックボックスを選択します。また、探しているPIDがリストされていない場合は、プロセスタブのすべてのユーザーからプロセスを表示ボタンをクリックする必要があります。