ターミナルのMacでTCP接続を強制終了する


9

Macで特定のTCP接続を強制終了したい(Linuxのtcpkillと同様)。ポートまたはIPで、できればポートですが、解決します。サービスの支払いや別のソフトウェアのダウンロードはしたくありません。tcpkillのようにこれを実行できるようにする簡単なターミナルコマンドが必要です。

私はファイアウォールのルールを修正して、実行できるようにbashスクリプトを作成しようとしましたが、見つけたチュートリアルが非常に古いため、成功しませんでした。

なぜこれが情報を見つけるのが難しい作業のように見えるのでしょうか?

回答:


5

オプション1

tcpkillをインストールできます。これはMacPortsにあるdsniffパッケージの一部です。他のソフトウェアをインストールしたくないと言っていました。それにもかかわらず、MacPortsはコマンドラインから作業する場合に非常に便利です。ぜひチェックしてみてください。

オプション2

StackOverflowに関連する投稿があります。Macでポート3000をロックするプロセスを検索(および強制終了)します。提案された解決策は、特定のポート上のすべての接続を強制終了する関数を作成することです:

function killport() { lsof -i TCP:$1 | awk '/LISTEN/ {print $2}' | xargs kill -9 }

引数を削除して関数を変更すると、関数は開いているTCP接続を持つすべてのアプリケーションを強制終了します。

function killport() { lsof -i TCP | awk '/LISTEN/ {print $2}' | xargs kill -9 }

免責事項:私はこれをテストしていません。

免責事項2:これはブルートフォース方式であり、深刻な副作用を引き起こす可能性があります。このアプローチはお勧めしません。


ここでdsniffのいくつかのOS Xバイナリを見つけました(MacPortsユーザーでない場合):FWIW packages.macports.org/dsniff(今日のところ、Homebrewにはレシピがないようです)
— rogerdpack

homebrew/boneyardタップで自作のレシピがあります。
— D_4_ni 2015

動作するtcpkillバージョンを含むdsniffフォークがあります:github.com/ggreer/dsniff
— MichaelBöcklingJun
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.