2009-10-30 3 views
0

대상 Windows 컴퓨터에서 수신 ping 결과를 확인하려고합니다. 이것은 배경 스레드에서 실행중인 ping이 송신자로부터 전송되고 있는지 확인하는 데 필요합니다.Windows 서버에서 수신 ping보기

나는 netstat을 사용하지 않으려 고 노력했다. 시도 할 수있는 다른 방법이 있습니까?

감사합니다.

답변

0

핑은 ICMP 패킷이며 TCP 연결을 생성하지 않습니다 (따라서 netstat에는 표시되지 않습니다). 리눅스에서는 방화벽에 규칙을 추가했습니다.

가장 간단한 해결책은 연결을 열고 닫는 것입니다. 그러면 netstat의 출력에 WAIT_CLOSE이 추가됩니다.

0

이미 Aaron Digulla가 지적했듯이 ping은 ICMP입니다. 이것은 또한 발신자가 TCP보다 덜 신뢰할 수 있음을 의미합니다. SYN/ACK 핸드 셰이크가 없습니다. 호스트에서 IP 패킷 만 얻으면 헤더 필드를 신뢰해야합니다. 누구나 거의 제한없이 이러한 헤더 필드를 스푸핑 할 수 있습니다 (라우터를지나 127.0.0.1에서 IP를 가져 오는 것이 쉽지 않을 수 있습니다).

따라서 ICMP는 확인 작업에 적합하지 않습니다. 챌린지/응답 프로토콜이 필요합니다. TCP는 네트워크를 신뢰할 수 있지만 네트워크의 모든 호스트가 신뢰할 수있는 한 반복적으로 작동합니다 (인터넷에 대한 합리적인 가정. 금융 거래에 충분하지 않아 SSL을 사용하는 이유가 없음)

관련 문제