質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

WebSocket

WebSocketとは双方向・全二重コミュニケーションのためのAPIでありプロトコルのことを指します。WebSocketはHTML5に密接に結びついており、多くのウェブブラウザの最新版に導入されています。

Q&A

0回答

1569閲覧

(追記あり11/14)netstat -aで”Established”という接続が大量に発生。強制切断するコマンドはありますか?

MaeharaKenji

総合スコア86

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

WebSocket

WebSocketとは双方向・全二重コミュニケーションのためのAPIでありプロトコルのことを指します。WebSocketはHTML5に密接に結びついており、多くのウェブブラウザの最新版に導入されています。

0グッド

0クリップ

投稿2022/10/30 00:22

編集2022/11/14 01:05

追記 11/14

お世話になっております。
現在も、こちらの現象について調査中です。調査の中でわかってきた現象は以下の通りです。

1番:1時間毎に数件づつEstablishedが増えていく。
2番:そのEstablishedになっているIPアドレスと送信元番号をWiresharkで調べてみると、そのパケットが見つからない。

この2番目の現象の”外部のIPアドレスからのパケットが見つからない”ことから、”サーバソフトが勝手サーバソケットを作ってる?”という疑いが出てきました。

しかし、netstatで表示されているEstablishedの結果は、外部からのパケット通信がなくても表示されてしまうものなんでしょうか?

もしよければ、ご教示よろしくお願いします。

前提

現在、windowsのPCで起動しているサーバソフト(TCP 8000番ポートをサーバとして使用)があるのですが、数か月程度に1度、接続されているクライアントPCとの通信が不安定状態になるという警告が出ることが多発したりします

(*サーバークライアント端末間は1分間に1kbyte程度のパケットの送受信で通信正常かを判定)。

この時に、netstat -aコマンドを実行すると、40台程度しか接続されていないはずのクライアント端末が1000台近く接続されていると表示が出てきます。

実現したいこと

一応、緊急対応でサーバソフトを再起動すれば不具合現象も解消することは確認できたのですが、現在不具合が出ている時は、このEstablished状態の接続が大量に発生している時が確認できているので、windowsコマンドなどで、これらの接続を強制切断させたいです。
そのような方法やコマンドはありますでしょうか?

発生している問題・エラーメッセージ

(省略) 127.0.0.1:8000 ---.---.---.---:27024 ESTABLISHED 127.0.0.1:8000 ---.---.---.---:27025 ESTABLISHED 127.0.0.1:8000 ---.---.---.---:27026 ESTABLISHED (省略)

このようなログ内容が1000個近く表示されていました。

このサーバソフトを一旦終了すると、このログはなくなり、40個程度のEstablished表示に戻ります。

また、今後、サーバソフト自体も修正を加えていきたいと思っています。
現在原因を調べているのですが、なんとなく、インターネット側から大量にパケットを送り付けられたりしてないかと思ったりするのですが、確認する方法などもありましたら教えて下さい。

Establishedに対する根本的な疑問

現在、想像で、何か大量の接続やデータをサーバーポートの8000番に対してやられていると思っているのですが、サーバソフトを一旦再起動することで1400--->40個程度の接続に減少することから、空の接続が大量に接続されてるのかなと思っています。

そこで、疑問なのですが、接続がEstablished状態なのに、特に何のデータもやり取りもない空の状態ならば、Establishedは自動的に消滅しないのでしょうか?
Established状態ならば、どこかのグローバルIPから接続されて、何らかのデータやり取りが発生しているということなのでしょうか?
これも想像ですが、close信号なり端末から来ないとEstablished状態は消滅するようなことではないのでしょうか?

また、このような現象は、

”サーバーソフト側の不具合で、ソケットを大量に作成してメモリを占有させてしまう現象だ”

という推測をする人ががいるのですが、そのような可能性はありますでしょうか?
netstatで表示される外部のIPアドレスからの通信のEstablishedというのは、外部IPからアクセスがなかったとしても、メモリの不具合等で表示されることもありますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MaeharaKenji

2022/11/01 01:54

回答頂きありがとうございます。 ソフト紹介頂き助かります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問