Linux 및 osx에서 설정된 네트워크 연결을 닫는 방법

Linux 및 osx에서 설정된 네트워크 연결을 닫는 방법

나는 Windows 세계에서 TCPView라는 도구를 사용하여 이 작업을 수행하곤 했습니다. 설정된 연결(ESTABLISHED)을 선택한 다음 "연결 닫기"를 선택하면 됩니다. Mac OSX나 Linux에서는 이에 대한 방법을 찾을 수 없습니다(둘 다 필요함). 내가 아는 유일한 방법은 포트가 열려 있는 프로세스를 종료하는 것입니다.

나의 주요 사용 사례는 케이블 분리, 라우터 또는 미들웨어 손실 상황과 같은 장애 조치를 테스트하기 위해 연결 중단을 시뮬레이션하는 것입니다.

답변1

close()gdb와 연결에 해당하는 파일 설명자를 사용하여 프로세스에 연결할 수 있습니다 . 를 사용하여 파일 설명자 번호를 찾을 수 있습니다 lsof -a -i4 -p $PID.

답변2

  • tcpkill -i eth0 { expression }
    (기본 명령/옵션)

  • tcpkill -i eth0 port 21
    (나가는 모든 FTP(포트 21) 연결을 종료합니다)

  • tcpkill host 192.168.1.2
    또는
    tcpkill host hostname.domainname.com
    (호스트 192.168.1.2에 도착하거나 호스트에서 출발하는 모든 패킷을 종료합니다)

  • tcpkill ip host 192.168.1.2 and not 192.168.1.111
    (192.168.1.2와 192.168.1.111을 제외한 모든 호스트 사이의 모든 IP 패킷을 종료하려면)

관련 정보