http://www.now163.net/2011/04/460.html Netstat コマンドでは、TIME_WAIT 接続を閉じる方法と nginx アクセス トラフィックを表示する方法について詳しく説明しています
http://kerry.blog.51cto.com/ 172631/105233 / 多数の TIME_WAIT ソリューションが見つかりました
================================ Netstat モニタリングストレス テスト中
同時実行ステータスの表示
# netstat -n | '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
これステートメントは次の結果を返します
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
ここで、SYN_RECV は処理を待機しているリクエストの数を表し、TIME_WAIT は通常のデータ送信ステータスを表します。リクエストの数処理され、タイムアウトが終了するのを待っているもの。
mysql 接続を表示
#netstat -anp | wc -l
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}'
次のような結果が得られますが、具体的な数値は異なります:
LAST_ACK 1
SYN_RECV 14
ESTABLISHED 79
FIN_WAIT1 28
FIN_WAIT2 3
CLOSING 5
TIME_WAIT 1669
ステータス: 説明
CLOSED: アクティブまたは進行中の接続はありません
LISTEN: サーバーは着信を待機しています
SYN_RECV: 接続要求が到着し、確認を待機しています
SYN_SENT: アプリケーションが開始されました、接続を開始しています
ESTABLISHED: OK データ転送ステータス
FIN_WAIT1: アプリケーションが完了したことを示しています
FIN_WAIT2: 相手側が解放に同意しました
ITMED_WAIT: すべてのパケットが終了するまで待機します
CLOSING: 両側が同時に閉じようとします
TIME_WAIT: 相手側がリリースを初期化しました
LAST_ACK: すべてのパケットが終了するまで待機します つまり、このコマンドは、現在のシステムのネットワーク接続状態を分類して要約することができます。
TIME_WAIT 接続数を確認する
netstat -ae|grep "TIME_WAIT" |wc -l
netstat -n awk '/^tcp/ {++state[$NF]} END {for(key in | state) print key,"t",state[key]}'
さらに time_wait 接続を検索
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20
netstat + awk 接続数をクエリするには、同じ意味で 2 つの方法があります
2: netstat -pnt | '/^tcp/{s=split($5,N,":");A[N[s-1]]++} END{ (k in A) print k ,A[k]}'
netstat -ntlp
netstat -tlnは、Linuxのポート使用状況を表示するために使用されます
netstat -- ip -an# netstat -tulpn
または # netstat -npl
パラメータ:
--------------------- ---- ----------
サーバー、ポートのステータス変更
まず、このマシン(IPアドレス:192.168.1.10)でFTPサービスを設定し、次に他のコンピュータ(IPアドレス:192.168.1.1)のFTPサービスにアクセスし、TCPViewからポートを確認しますステータスの変更。
以下の太字のテキストは、TCPView からインターセプトされた部分を示しています。
1. LISTENING 状態
FTP サービスが開始されると、最初はリッスン (LISTENING) 状態になります。
状態が LISTENING と表示されている場合は、リスニング状態であることを意味します。これは、ポートが開いていて接続を待機していますが、まだ接続されていないことを意味します。家のドアは開いているのに、まだ誰も入っていないようなものです。
TCPView から、このマシンで FTP が開かれていることがわかります。これが意味するのは、プログラム inetinfo.exe がポート 21 を開き、FTP のデフォルトのポートは 21 であるということです。このマシン上で FTP サービスが開かれていることがわかります。現在リスニング状態です。
inetinfo.exe:1260 TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
2. ESTABLISHED ステータス
次に、コンピュータ 192.168.1.1 から 192.168.1.10 の FTP サービスにアクセスします。本機の TCPView でポートの状態が ESTABLISHED に変わっていることが確認できます。
ESTABLISHED は接続を確立することを意味します。 2 つのマシンが通信していることを示します。
以下に示されているのは、本機の FTP サービスがコンピューター 192.168.1.1 によってアクセスされていることを示しています。
inetinfo.exe:1260 TCP 192.168.1.10:21 192.168.1.1:3009 ESTABLISHED
注: ESTABLISHED 状態の接続は通常の接続ではない可能性があるため、特に注意する必要があります。この問題については後で説明します。
3. TIME_WAIT ステータス
これで、コンピューター 192.168.1.1 は 192.168.1.10 の FTP サービスへのアクセスを終了します。本機の TCPView でポートの状態が TIME_WAIT に変化しているのが確認できます。
TIME_WAIT は、この接続を終了することを意味します。これは、ポート 21 に以前にアクセスがありましたが、アクセスが終了したことを意味します。
[システム プロセス]:0 TCP 192.168.1.10:21 192.168.1.1:3009 TIME_WAIT
4. ヒント
a. 開いているポートに Telnet を実行して、ポートの変化を観察できます。たとえば、ポート 1025 が開いている場合は、次のコマンド状態で実行します (図 1 に示すように cmd を実行します):
telnet 192.168.1.10 1025
b このマシンからテストすることもできますが、表示されるのは次のとおりです。マシンはこのマシンに接続されています
c. Tcpview で接続をダブルクリックして、プログラムの場所を確認し、[プロセスの終了] を選択して接続を終了します
クライアントとポートのステータスが変更されます
。