「netstat -a」出力を解釈するにはどうすればよいですか
-
09-06-2019 - |
質問
私にはいくつかのことが奇妙に見えます:
- 0.0.0.0、127.0.0.1、[::]の違いは何ですか?
- 外部アドレスの各部分 (part1:part2) はどのように読めばよいですか?
- Time_Wait、Close_Wait 状態は何を意味しますか?
- 等
誰かがこれらの結果を解釈する方法について簡単に説明してもらえますか?
解決
0.0.0.0 は通常、すべてのインターフェイスでリッスンしているものを指します。127.0.0.1 = localhost(ローカルインターフェイスのみ)私は確信がありません[::
Time_Waitとは、双方が閉鎖することに同意し、TCPは接続を下げる前に処方時間を待たなければならないことを意味します。
Close_Waitとは、リモートシステムが送信が終了し、システムがまだ終了していないと言っていることを意味します。
他のヒント
回答が受け入れられたことは理解していますが、追加情報がいくつかあります。
- それが言うなら
0.0.0.0
[ローカル アドレス] 列では、ポートがすべての「ネットワーク インターフェイス」 (つまり、コンピュータ、モデム、ネットワーク カード)。 - それが言うなら
127.0.0.1
[ローカル アドレス] 列では、ポートがインターネットやネットワークからではなく、PC 自体からの接続のみをリッスンしていることを意味します。そこには危険はありません。 - 表示されている場合は、
online IP
[ローカル アドレス] 列では、ポートがインターネットからの接続のみをリッスンしていることを意味します。 - 表示されている場合は、
local network IP
[ローカル アドレス] 列では、ポートがローカル ネットワークからの接続のみをリッスンしていることを意味します。 - 外部アドレス - ソケットが接続されているリモート コンピューターの IP アドレスとポート番号。-n パラメーターが指定されていない場合、IP アドレスとポートに対応する名前が表示されます。ポートがまだ確立されていない場合、ポート番号はアスタリスク (*) で表示されます。(ウィキペディアより)
127.0.0.1 は、HOSTS ファイルに設定されている場合は「localhost」としても知られるループバック アドレスです。詳細については、ここを参照してください。 http://en.wikipedia.org/wiki/Localhost
0.0.0.0 は、アプリが特定のポートを使用してすべての IP アドレスにバインドされていることを意味します。MS情報はこちら: http://support.microsoft.com/default.aspx?scid=kb;en-us;175952
「::」は、ipv4 0.0.0.0 の ipv6 の短縮形です。
0.0.0.0、127.0.0.1、[::]の違いは何ですか?
- 0.0.0.0 は、マシン上のすべてのインターフェイスでリッスンしているものを示します。
- 127.0.0.1 は自分のマシンを示します。
- [::] は IPv6 バージョン 0.0.0.0 です。
- 私のマシンには UDP の *:\* も表示されます。これは、UDP 接続が実際には外部アドレスを持たず、どこからでもパケットを受信することを示しています。それが UDP の性質です。
外部アドレスの各部分 (part1:part2) はどのように読めばよいですか?
Send-Q は、アプリケーションによって送信されたが、ソケットの反対側によってまだ確認されていないデータの量です。
Recv-Q は、NIC から受信したが、アプリケーションによってまだ消費されていないデータの量です。
これらのキューは両方ともカーネル メモリに常駐します。がある ガイド 必要に応じて、これらのカーネル バッファを微調整するのに役立ちます。ただし、デフォルトのパラメータが非常にうまく機能することがわかるかもしれません。
このリンクは netstat -a を解釈するのに非常に役立ちました
そこからのコピー -
TCP Connection States
以下に、このハンドシェイクについて簡単に説明します。このコンテキストでは、「クライアント」は接続を要求するピアであり、「サーバー」は接続を受け入れるピアです。この表記は、アーキテクチャ上の原則としてのクライアント/サーバー関係を反映していないことに注意してください。
接続の確立
クライアントは、サーバーのポートとクライアントの初期シーケンス番号 (ISN) を含む SYN メッセージをサーバーに送信します (アクティブ オープン)。
サーバーは独自の SYN と ACK (クライアントの ISN + 1 で構成される) を送り返します。
クライアントは ACK (サーバーの ISN + 1 で構成される) を送信します。
接続のティアダウン (変更された 3 ウェイ ハンドシェイク)。
クライアントは FIN (アクティブ クローズ) を送信します。これは半分閉じた接続になります。クライアントはデータを送信しなくなりましたが、サーバーからデータを受信することはできます。この FIN を受信すると、サーバーはパッシブ クローズ状態に入ります。
サーバーは ACK (クライアントの FIN シーケンス + 1) を送信します。
サーバーは独自の FIN を送信します。
クライアントは ACK (サーバーの FIN シーケンス + 1) を送信します。この ACK を受信すると、サーバーは接続を閉じます。
ハーフクローズド接続を使用すると、データの受信中にデータの送信を終了できます。ソケット アプリケーションは、2 番目の引数を 1 に設定して shutdown を呼び出して、この状態に入ることができます。
Netstat に示されているように説明を記述します。
状態の説明
SYN_SEND
アクティブオープンを示します。
SYN_RECEIVED
サーバーはクライアントから SYN を受信しました。
ESTABLISHED
クライアントがサーバーの SYN を受信し、セッションが確立されます。
LISTEN
サーバーは接続を受け入れる準備ができています。
注記:listen() ソケット呼び出しのドキュメントを参照してください。リスニング状態の TCP ソケットは表示されません。これは NETSTAT の制限です。詳細については、Microsoft サポート技術情報の次の記事を参照してください。134404 netstat.exeにはTCPを表示しないSockets fin_wait_1はアクティブな閉鎖を示します。
TIMED_WAIT
クライアントは、アクティブなクローズ後にこの状態に入ります。
CLOSE_WAIT
パッシブクローズを示します。サーバーはクライアントから最初の FIN を受信したところです。
FIN_WAIT_2
クライアントはサーバーから最初の FIN の確認応答を受信しました。
LAST_ACK
サーバーは、独自の FIN を送信するときにこの状態になります。
CLOSED
サーバーがクライアントから ACK を受信し、接続が閉じられました。
netstat の出力に [::] が表示されている場合、あなたのマシンは IPv6 を実行していると思います。これは 0.0.0.0 に相当します。つまり、任意の IPv6 アドレスでリッスンします。