Zabij połączenia TCP na komputerze Mac w terminalu


9

Chcę tylko zabić określone połączenie tcp na moim komputerze Mac (podobnie jak tcpkill na Linuksie). Według portu lub adresu IP, najlepiej portu, ale rozliczę się. Nie chcę płacić za usługę ani pobierać innego oprogramowania, chcę proste polecenie terminalu, które pozwoli mi to zrobić jak tcpkill.

Próbowałem naprawić reguły w mojej zaporze ogniowej i próbowałem utworzyć skrypt bash, aby działał, ale bez powodzenia, ponieważ samouczek, który znalazłem, był bardzo stary.

Dlaczego wydaje się to tak trudne zadanie, aby znaleźć informacje lub zrobić?

Odpowiedzi:


5

opcja 1

Możesz zainstalować tcpkill. Jest to część pakietu dsniff, który znajduje się w MacPorts . Powiedziałeś, że nie chcesz instalować innego oprogramowania. Niemniej jednak MacPorts jest naprawdę przydatny, jeśli pracujesz z wiersza poleceń. Proponuję to sprawdzić.

Opcja 2

Na StackOverflow jest powiązany post: Znajdź (i zabij) proces blokowania portu 3000 na Macu . Sugerowanym rozwiązaniem jest utworzenie funkcji, która zabija wszystkie połączenia na określonym porcie:

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

Jeśli zmienisz funkcję, usuwając argument, funkcja powinna zabić wszystkie aplikacje, które mają otwarte połączenie TCP.

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

Oświadczenie: Nie testowałem tego.

Zastrzeżenie 2: Jest to metoda brutalnej siły i może mieć poważne skutki uboczne. Odradzałbym to podejście.


Znalazłem tutaj kilka plików binarnych OS X dla dsniff (w przypadku, gdy nie jesteś użytkownikiem MacPorts): FWIW packages.macports.org/dsniff (najwyraźniej homebrew nie ma już na to przepisu na dziś)
rogerdpack

W homebrew/boneyardkranie jest przepis na homebrew .
D_4_ni

Istnieje widelec dsniff, który zawiera działającą tcpkillwersję: github.com/ggreer/dsniff
Michael Böckling
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.