tcpkill 유틸리티를 사용하여 TCP 연결을 종료하는 방법

를 사용하여 ESTABLISHED TCP 연결을 종료하려고합니다 tcpkill. 연결은 개방형 HTTPS 연결입니다. netstat에 다음과 같이 나타납니다.

tcp        0      0 X.X.X.X:55601         X.X.X.X:https    ESTABLISHED

따라서 man page에 따라 다음을 입력하십시오.

$ tcpkill -i eth1 -9 port 443

tcpkill 유틸리티는 다음을 출력합니다.

tcpkill: listening on eth1 [port 443]

… 그냥 매달립니다. 약 15 분 동안 기다린 후에는 무슨 일인지 잘 모르겠습니다.

내가 뭔가 잘못하고 있습니까?



답변

tcpkill이 작동하려면 (즉, 올바른 순서 번호와 소스 포트가있는 재설정 패킷을 작성) 트래픽이 있어야합니다. 더 이상 인쇄되지 않으면 트래픽이없는 것입니다. 실행할 수 있는지 확인하십시오 tcpdump -i eth1 port 443.


답변

트래픽이없는 확립 된 연결 (JVM의 디버그 세션)을 종료해야했습니다.

tcpkill@ Mark Wagner에서 설명했듯이 대답은 할 수 없지만 killcx1.0.3 ( link )은 (Ubuntu 10.04)했습니다.

몇몇 라이브러리에 의존하는 perl 스크립트입니다.

편집하다

로 살해 할 수없는 연결에 killcx모두의 조합 tcpkillkillcx그것을했다 :

경우에서 연결 말 LOCAL:PORTL 까지를REMOTE:PORTR

  • 터미널에서 tcpkill을 시작하십시오 tcpkill port PORTL. Tcpkill은 트래픽 수신을 시작합니다
  • 두 번째 터미널 실행 killcx에서 : killcx REMOTE:PORTR