ping이 네트워크 장비 간 연결 상태를 확인하기 위해 사용하는데, ICMP echo 요청을 보내고, echo의 응답을 받는 방식으로 동작한다.
일단 ping이 안 가더라도 정상적으로 브라우저에서 인터넷이 될 수도 있는데,
이유는 웹 브라우저가 http/https 프로토콜을 사용해서 웹 서버와 통신하기 때문이다.
이것이 TCP 위에서 동작하므로 ICMP와는 별도로 동작한다.
ICMP가 주로 네트워크 진단이나 오류 보고 시에 사용하기 때문에 보통 ping 테스트를 하여 네트워크 경로 문제 진단을 하거나, 패킷 손실량을 확인하는 데 사용하지만,
실제 데이터 전송과는 차이가 있다.
그리고 ICMP 차단을 하면 방화벽이나 특정 네트워크 장비에서 설정을 하는데, 보안상 이유로 네트워크 특정 부분에서만 작동할 수도 있고, 나머지 다른 경로를 통해서 데이터를 전송하게 만들 수도 있다.
대부분 TCP/IP를 통해 직접 통신을 하므로 ICMP 차단과 관계없이 데이터 송수신이 가능하다.
따라서 ICMP를 차단하면 네트워크 진단 도구에서 오류가 날 수는 있지만, 애플리케이션 단에서는 오류가 안 날 수도 있다.
그런데 시스템 관리자 등에게 요청하기 전에 정상적으로 네트워크 통신이 되는 것을 확인하기 위해서는 아래와 같은 명령어가 있다.
일단 윈도우에서는 tracert를 통해서 패킷 이동을 볼 수 있는데, tracert도 막힐 수 있다.
그러면 nslookup 을 통해서 DNS 설정이 올바른지 일차적으로 확인할 수 있다.
nslookup 명령어를 쳐서 DNS 서버에 문의하여 도메인 이름을 IP 주소로 변환하거나, 그 반대로 변환을 할 수 있다.
netstat을 통해서 -an 옵션을 넣어서 현재 모든 활성 연결과 포트를 볼 수 있는데, 이를 통해서 네트워크 트래픽을 지켜볼 수 있다.
그리고 미리 telnet 클라이언트를 활성화해 놓고 나서 telnet을 통해서 IP와 port를 확인 할 수도 있다.
일단 ping이나 tracert가 막힌 경우에 이렇게 현재 네트워크 통신 상태를 확인할 수 있는 명령어가 있는데,
pathping을 사용해서 현재 상태를 확인 할 수도 있고,
파워셸을 켜서 Test-NetConnection 을 시행할 수도 있다.
윈도우에서도 MTR이나 ss를 사용해서 네트워크 연결 정보를 보거나,
nmap을 통해서 특정 포트가 열려 있는지 조회도 가능하다.
댓글
댓글 쓰기