Вбийте TCP-з'єднання на Mac у терміналі


9

Я просто хочу вбити певне з'єднання tcp на своєму mac (подібне до tcpkill на Linux). Через порт або ip, бажано порт, але я влаштуюся. Я не хочу платити за послугу чи завантажувати інше програмне забезпечення, я хочу просту команду терміналу, яка дозволить мені робити це, як tcpkill.

Я спробував виправити правила на моєму брандмауері та спробував зробити скрипт bash, щоб він запустився, але не мав успіху, тому що підручник, який я знайшов, був дуже старим.

Чому це здається настільки важким завданням знайти або зробити інформацію про це?

Відповіді:


5

Варіант 1

Ви можете встановити tcpkill. Це частина пакету dsniff, який знаходиться в MacPorts . Ви сказали, що не хочете встановлювати інше програмне забезпечення. Проте MacPorts дуже корисний, якщо ви працюєте з командного рядка. Я пропоную вам перевірити це.

Варіант 2

У StackOverflow є пов’язана публікація: Знайти (і вбити) порт блокування процесу 3000 на Mac . Пропоноване рішення полягає в створенні функції, яка вбиває все з'єднання на певному порту:

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: Це метод грубої сили і може мати серйозні побічні ефекти. Я б рекомендував проти такого підходу.


Я знайшов деякі OS X виконавчі файли для dsniff тут (в разі , якщо ви не є користувачем MacPorts) тут: FWIW packages.macports.org/dsniff ( по- видимому доморощеного не має рецепт для нього більше, станом на сьогоднішній день)
rogerdpack

У homebrew/boneyardкрані є його рецепт домашнього домашнього приготування .
D_4_ni

Є виделка для dsniff, яка містить робочу tcpkillверсію: github.com/ggreer/dsniff
Michael Böckling
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.