Uccidi le connessioni TCP su un Mac nel Terminale

8

Voglio solo uccidere una specifica connessione tcp sul mio mac (simile a tcpkill su linux). Per porto o ip, preferibilmente porto ma mi accontento. Non voglio pagare per un servizio o scaricare un altro software, voglio il semplice comando del terminale che mi consentirà di farlo come tcpkill.

Ho provato a sistemare le regole sul mio firewall e ho cercato di creare uno script bash in modo che fosse eseguito senza successo perché il tutorial che ho trovato era molto vecchio.

Perché sembra essere un compito così difficile trovare informazioni o fare?

    
posta Aj Blank 11.06.2014 - 19:16
fonte

1 risposta

4

Opzione 1

Puoi installare tcpkill. Fa parte del pacchetto dsniff che si trova in MacPorts . Hai detto che non vuoi installare altro software. Tuttavia MacPorts è davvero utile se lavori dalla riga di comando. Ti suggerisco di dargli un'occhiata.

Opzione 2

Su StackOverflow c'è un post correlato: Trova (e kill) process lock port 3000 su Mac . La soluzione suggerita è quella di creare una funzione che uccida tutte le connessioni su una porta specifica:

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

Se cambi la funzione togliendo l'argomento la funzione dovrebbe uccidere tutte le applicazioni che hanno una connessione TCP aperta.

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

Dichiarazione di non responsabilità: non l'ho provato.

Disclaimer 2: è un metodo di forza bruta e può avere alcuni effetti collaterali seri. Vorrei raccomandare contro questo approccio.

    
risposta data 11.06.2014 - 22:15
fonte

Leggi altre domande sui tag