在终端机中的Mac上终止TCP连接


9

我只想在我的Mac上终止特定的tcp连接(类似于linux上的tcpkill)。通过端口或IP,最好是端口,但我会解决。我不想为服务付费或下载其他软件,我想要简单的终端命令,该命令将允许我像tcpkill一样执行此操作。

我尝试修正防火墙上的规则,并尝试制作一个bash脚本,使其能够运行,但没有成功,因为我发现的教程很旧。

为什么这看起来很难找到信息,或做到呢?

Answers:


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(显然是自制不会有这方面的菜谱了,因为今天的)
rogerdpack

homebrew/boneyard水龙头里有自制的配方。
D_4_ni 2015年

有一个包含工作tcpkill版本的dsniff分支:github.com/ggreer/dsniff
MichaelBöckling,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.