2012-03-19 4 views
0

TCP 연결을 허용 한 C++ 응용 프로그램을 가지고 있으며이 응용 프로그램에 전송 된 트래픽을 읽습니다. 나는 그것을 새로운 기계로 옮길 때까지 아주 잘 돌아갔다. winsock이 인바운드 TCP 연결을 허용하지 않는 것 같습니다. 내 코드에서는 select 문에서 결코 반환하지 않습니다. 응용 프로그램이 포트 14005에서 수신 대기중인 netstat/tcpview를 사용할 수 있습니다.TCP 세 방향 핸드 셰이크가 실패합니다.

로컬로 텔넷 연결 만하면이 포트에 연결할 수 있습니다. 그러나 누군가가 외부 IP 주소를 통해 연결을 시도하면 TCP 3 방향 핸드 셰이크가 끝나지 않습니다. wireshark에서 인바운드 SYN 패킷을 볼 수 있습니다. 올바른 포트 인 14005로 갈 것입니다. 그러나 시스템은 SYN-ACK를 되돌려 보내지 않습니다. 이것은 winsock이 올바르게 처리한다고 가정합니다. 기계에는 여러 개의 NIC 카드가 있지만 INADDR_ANY와 바인딩되어있어 중요하지 않습니다. 이 핸드 쉐이크가 발생하지 않는 이유를 더 깊게 파헤칠 수있는 방법이 있습니까? 깊이 파고없는 방법에 따라

+1

방화벽 설정을 확인 했습니까? 작동중인 Windows 방화벽과 비슷합니다. – littleadv

+0

은 방화벽 문제처럼 들립니다. 방화벽 설정은 무엇입니까? –

+0

예, 확인했습니다. 창문 방화벽이 꺼져있어 괜찮아. 나는 방화벽에있는 다른 소프트웨어도 본 적이 없다. 무언가가 미끄러질 수도 있지만 어디에서나 보았습니다. – JonF

답변

0

: (당신은, 패킷과 재생 scapy보고 싶을 그러나 경우 이미 사용) 와이어 샤크/tshark를보다 더 아무것도 당신이 두통을 줄일 경우 발생하는

- 하나의 NIC를 사용 및 네트워크, 같은 네트워크 (즉, 사이에 라우터 또는 스마트 스위치)에 클라이언트를 넣어, (최후의 수단) 불필요한 네트워크 서비스를 해제합니다.

관련 문제