[解決済み】WindowsのコマンドラインからTCPとUDPのポートを閉じる方法
質問
Windowsのコマンドラインを使用して、単一の接続のためにTCPまたはUDPソケットを閉じる方法を知っている人はいますか?
この件についてググってみると、何人かの人が同じことを聞いているのを見かけました。しかし、その回答は、ポートを監視する方法に焦点を当てたnetstatやnetshコマンドのマニュアルページのように見えました。私は、ポートを監視する方法についての回答は求めていません(私はすでにこれをやっています)。私はそれらを閉じたり殺したりしたいのです。
EDIT、わかりやすくするために。私のサーバーがTCPポート80をリッスンしているとします。クライアントが接続を行い、そのためにポート56789が割り当てられたとします。そして、この接続が望ましくないものであることがわかりました(たとえば、このユーザーは悪いことをしているので、やめるように頼んだのですが、途中で接続が切れなかったのです)。通常であれば、ファイアウォールを追加して対処するのですが、これには時間がかかり、緊急事態に陥ってしまいました。接続を所有するプロセスを殺すことは、サーバーをダウンさせてしまうので、ここでは本当に悪い考えです(この1つの接続を選択的かつ一時的に落としたいだけなのに、すべてのユーザーが機能を失ってしまうのです)。
解決方法は?
はい、これは可能です。ソケットを閉じるには、そのソケットを所有している現在のプロセスである必要はないのです。リモートマシン、ネットワークカード、ネットワークケーブル、OSのすべてがソケットをクローズさせることができると考えてみてください。
また、FiddlerやDesktop VPNソフトウェアがネットワークスタックに挿入し、すべてのトラフィックを表示したり、すべてのトラフィックを迂回させることができることも考えてみてください。
つまり、Windowsが直接これを可能にするAPIを提供するか、誰かがVPNやFiddlerのように動作するプログラムを書き、それを通過するソケットを閉じる方法を提供する必要があるのです。
少なくとも1つのプログラム( カーポート 今日、CurrPortsが起動する前に起動したプロセス上の特定のソケットを閉じる目的で使用しました。これを行うには、もちろん管理者として実行する必要があります。
なお、あるポートでプログラムをリッスンしないようにすることは、おそらく簡単にはできませんが(まあ、可能ですが、その機能をファイアウォールと呼んでいます...)、ここではそれを質問されていないように思います。質問は、「プログラムがリッスンしているポートへのアクティブな接続(ソケット)を選択的に閉じるにはどうすればよいですか」というものだと思います。 質問の文言は、望ましくない受信クライアント接続のポート番号が指定され、それが "port" と言及されているので、少しずれていますが、それがその1つのソケットへの言及であって、リスニングポートでないことは明らかです。
関連
-
[解決済み] 複数のdocker-composeプロジェクト間の通信
-
[解決済み】WindowsでTCPまたはUDPポートをリッスンしているプロセスを見つけるにはどうすればよいですか?
-
[解決済み】WindowsのコマンドラインからTCPとUDPのポートを閉じる方法
-
[解決済み] Go で HTTP レスポンスに文字列としてアクセスする
-
[解決済み] Centos 7でiptablesを使うにはどうしたらいいですか?[クローズド]
-
[解決済み] protobufとgRPCの比較
-
[解決済み] ソケットAPIのaccept()関数はどのように動作するのですか?
-
[解決済み] Wireshark localhostのトラフィックキャプチャ [終了しました]。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Windowsでlocalhostのポートを使用中のプロセスを強制終了するにはどうすればよいですか?
-
[解決済み] 複数のdocker-composeプロジェクト間の通信
-
[解決済み】WindowsのコマンドラインからTCPとUDPのポートを閉じる方法
-
[解決済み] Go で HTTP レスポンスに文字列としてアクセスする
-
[解決済み] Centos 7でiptablesを使うにはどうしたらいいですか?[クローズド]
-
[解決済み] protobufとgRPCの比較
-
[解決済み] ソケットAPIのaccept()関数はどのように動作するのですか?
-
[解決済み] Wireshark localhostのトラフィックキャプチャ [終了しました]。