cómo cerrar una conexión de red establecida en Linux y OSX

cómo cerrar una conexión de red establecida en Linux y OSX

Solía ​​hacer esto en el mundo de Windows con una herramienta llamada TCPView: simplemente seleccione una conexión establecida (ESTABLECIDA), luego seleccione "Cerrar conexión". No puedo encontrar una manera de hacer esto en Mac OSX o Linux (necesito ambos). La única forma que conozco es finalizar el proceso que tiene el puerto abierto.

Mi principal caso de uso es simular interrupciones en la conectividad para probar la conmutación por error, como desconectar un cable o perder un enrutador o situaciones de middleware.

Respuesta1

Puede adjuntarlo a su proceso usando gdb y close()el descriptor de archivo correspondiente a la conexión. Puede encontrar el número del descriptor del archivo usando lsof -a -i4 -p $PID.

Respuesta2

  • tcpkill -i eth0 { expression }
    (comando/opciones básicas)

  • tcpkill -i eth0 port 21
    (Elimine todas las conexiones ftp (puerto 21) salientes)

  • tcpkill host 192.168.1.2
    o
    tcpkill host hostname.domainname.com
    (Elimine todos los paquetes que lleguen o salgan del host 192.168.1.2)

  • tcpkill ip host 192.168.1.2 and not 192.168.1.111
    (Para eliminar todos los paquetes IP entre 192.168.1.2 y cualquier host excepto 192.168.1.111)

información relacionada