Windows 좀비 TCP 연결을 끊는 방법?


11

XP에서 tv를 넘어서 tv 호스트를 연결하고 있습니다. 약 20 분 후에 링크 프로그램이 정지되며 이에 대한 해결책이 없습니다. 이 일이 발생하면 tcpview를 사용하여 호스트에 약 200 개의 좀비 TCP 연결이 링크 연결에서 남은 것을 알 수 있습니다. 나는 그들이 존재하지 않는 동일한 프로세스에서 온 것입니다. 호스트를 재부팅 할 때까지 연결이 끊어집니다. 재부팅은 내가 TV 링크를 넘어서 다시 연결하는 유일한 방법입니다. 나는 tv를 넘어서서 이것을 일으키는 버그가 있다고 생각하지만, 포럼에서 답을 얻을 수는 없습니다. 그러나 어쨌든, 나는 그 모든 연결을 죽일 수있는 방법이 있는지 알고 싶습니다.

편집 : 약 40 분 후에 실제로 약 3000 WAIT_CLOSE 연결이 누적되고 클라이언트가 죽습니다. 서버 응용 프로그램을 닫으면이 모든 소켓이 tcpview의 존재하지 않는 프로세스가 소유 한 것으로 표시됩니다. 이해할 수 있는. 그러나 재부팅하지 않고 닫을 수있는 방법이 없습니까?


질문에 대한 현상금을 시작하는 방법이 없습니까? 버튼이 보이지 않습니다.
P aul

질문이 2 일 동안 지속 된 후에 현상금을 제공 할 수 있습니다. superuser.com/faq
quack quixote

3
불. 화재 또는 산탄 총.
Phoshi

1
@phoshi : 또는 궤도에서 핵무기. 확실한 유일한 방법입니다.
quack quixote

1
나는 나의 운명의 길을 살해 할 것을 선호 : superuser.com/questions/54937/3d-windows-managers/55130#55130
DaveParillo

답변:


10

Nirsoft의 Currports 를 사용 하여 연결을 모니터링하고 종료 할 수 있습니다 .

AutoHotKey를 사용하여 연결 패턴 종료를 자동화 할 수 있습니다.


7

CLOSE_WAIT는 다른 쪽 끝에서 연결이 끊어 졌음을 의미합니다.

분명히 beyondtv는이 조건을 감지하지 못하고 다른 쪽 끝에서 계속 응용 프로그램으로 데이터를 보냅니다. 다른 쪽 끝은 연결 끝을 닫았으므로이 연결을 통해 어떤 것도 다시 보낼 수 없습니다.

해결책은 TcpTimedWaitDelay 항목 을 설정하는 것입니다.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters

이 항목은 TCP가 닫힌 연결을 해제하고 해당 자원을 재사용하기 전에 경과해야하는 시간을 결정합니다. 폐쇄와 릴리스 사이의이 간격을 TIME_WAIT 상태 또는 2MSL 상태라고합니다. 이 시간 동안 새 연결을 설정하는 것보다 클라이언트와 서버에 훨씬 적은 비용으로 연결을 다시 열 수 있습니다.

내 컴퓨터에서 기본적으로 여기에는 -1 값이 포함되어 있는데, 이는 닫힌 연결이 해제되지 않는다는 것을 의미합니다. 이것은 정확히 관찰중인 동작입니다.

이 항목의 값을 30–300 초의 허용 범위로 설정하는 것이 좋습니다. 귀하의 경우에는 300 초 = 5 분이면 충분하며 컴퓨터를 정지시키는 데 40 분이 걸립니다.


검색 TIME_WAIT으로 나를 여기 로 데려 왔습니다. 설명과 링크에 감사드립니다.
Technext

안녕하세요, 설명 주셔서 감사합니다. 여전히 TCP 연결을 닫지 않습니다. CLOSE_WAIT 증가 시간 초과를 30 초로 설정했습니다
aadi1295

1

1) 비활성화 한 다음 2) 네트워크 인터페이스를 다시 활성화 하여 Windows가 모든 TCP 연결을 강제로 닫을 있습니다. 작동하면 필요할 때 실행할 단계를 배치 스크립트로 작성할 수 있습니다.

netsh유틸리티 (또는 이와 유사한 것) 에서 명령 줄을 통해이 작업을 수행 할 수있는 방법을 찾았 지만 지금까지 운이 없었습니다.

물론이 문제를 해결하는 가장 좋은 방법은 손상된 응용 프로그램을 수정하는 것입니다. 최신 버전의 응용 프로그램을 사용하고 있는지 확인하십시오. 개발자를 계속 괴롭 히십시오. 최신 버전 인 경우 프로그램의 이전 버전을 찾으십시오.


앱을 최신 버전으로 업데이트했지만 도움이되지 않았으며 지원 티켓이 있습니다. 네트워크 속성을 비활성화하고 장치 관리자에서도 제거했지만 WAIT_CLOSE 연결 목록에는 영향을 미치지 않았습니다. 이것은 내가 만질 수없는 OS의 어딘가에있는 목록입니다.
P aul

1

프로그램 중단으로 인해 CLOSE_WAIT 세션이 발생했을 수 있습니다. 원인으로 의심되는 경우 알 수 없으므로 명확하게 설명하고 싶었습니다.

내 생각 엔 그들이 영원히 돌아 다니지 않을 것입니다. 아마 2 시간 5 초 동안 만. 영원히 보일 수 있습니다. 네트워크 연결에 대한 KeepAliveTime (최종 재부팅 한 번 필요)을 5 분과 같은 작은 것으로 조정 해보 십시오. 프로그램이 중단 된 더 빨리 사라지는 데 도움이 될 수 있습니다.

또는 한 번에 10 분 동안 프로그램을 안정적으로 실행할 수 있다는 것을 알고 있다면 주기적으로 다시 시작하면됩니다. 이러한 솔루션 중 어느 것이 귀하의 특정 상황에 유용한 지 모릅니다. 문제가있는 앱 버전을 가능한 빨리 버려야한다는 ~ quack에 동의합니다.


프로그램이 KeepAliveTime 매개 변수의 시스템 설정을 재정의 할 수 있다고 생각하므로 도움이되지 않을 수 있지만 시도해 볼 가치가 있음에 동의합니다. 그러나이를 조정하면 다른 응용 프로그램에 문제가 발생할 수 있습니다.
quack quixote

0

beyondtv가 연결을 열어 놓은 다른 프로세스를 생성하는지 확인하십시오. 이런 일이 발생하면 프로세스 탐색기가 표시됩니다.


추가 프로세스를 찾을 수 없습니다. tv를 넘어서서 닫는 것과 관련된 모든 프로세스는 영향을 미치지 않습니다. 이 연결은 프로세스에 대해 <존재하지 않음>으로 나타납니다. 프로세스가 종료되었지만 연결이 닫히지 않습니다.
P aul

나는 대답 등급 위 / 아래 버튼으로 놀고 있었고 0으로 돌아갈 수있는 방법이 없습니다 .-1 또는 1이므로 1로 남겨 두었습니다. 이 답변은 도움이되지 않습니다-이 질문을 게시하기 전에 한동안 프로세스 탐색기와 tcpview를 사용했습니다.
P aul

0

방화벽 문제가있을 수 있습니까? 불완전한 연결이 시도되고 재 시도 될 수 있습니다.

두 시스템에서 모든 방화벽을 비활성화하고 라우터가 있으면 내부 방화벽도 있습니다.


나도 전에 그랬어. 시나리오를 다시 실행해도 아무런 효과가 없으며 문제가 남아 있습니다. 그러나 linksys 라우터를보고 있지만 조사 할 것입니다.
P aul

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.