Today Key : Server, Network, Check, 서버, 네트워크, 확인, 체크, 명령어, command, ping, tcping, tracert, tcproute
이번 포스팅은 서버에서의 네트워크를 확인하기 위한 몇 가지 명령에 대해서 알아 보겠습니다.
이번 포스팅에서 다뤄지는 내용은 서버를 네트워크에 연결하는
초기 구성 시에 서버의 네트워크 설정이 잘 되었는지 확인 하기 위해서 사용하기도 하지만,
갑자기 서버가 정상적으로 통신이 되지 않거나 서비스가 정상적으로 제공 되지 않는 문제가 발생 할 경우에 더 유용하게 사용될 수 있습니다.
이번 포스팅에서는 윈도우에서 사용 가능한 명령에 대해서 살펴보지만,
실제 리눅스에서도 거의 동일하게 사용이 가능합니다.
향후 포스팅에서는 리눅스에서의 사용 방법이나, 아래의 명령어 이외에 추가적인 네트워크 확인을 위한 명령에 대해서 살펴보도록 하겠습니다.
Ping
네트워크 상태를 확인하는 데, 가장 많이 사용되는 명령어이며 또한
네트워크 엔지니어나 서버 엔지니어에게나 모두 익숙한 명령입니다.
Ping은 IP 네트워크를 통해서 목적지까지 정상적으로 네트워크가 잘 도달하는지를 확인 할 수 있습니다.
ping [옵션] 목적지_IP주소 |
ping에서 사용되는 주요 옵션은 다음과 같습니다.
주요 옵션 |
리눅스 |
-n count |
Ping을 보내는 패킷(ECHO_REQUEST) 을 몇 번 보내고 종료할 것인지를 지정. 기본 설정은 4회 전송 |
-t |
중지될 때가지 지정한 호스토로 지속적으로 ping 전송.. |
-S srcaddr |
사용할 원본 IP주소로, 리눅스의 –I 옵션과 동일 |
-ㅣsize |
패킷 크기를 지정. 기본 설정 값은 32바이트 |
-r count |
count 홉의 경로를 기록(최대 9홉까지 설정 가능) |
tcping
ping이 목적지까지의 네트워크가 정상적으로 도달하는지 주로 사용하는 명령어이지만,
실제 목적지까지 가는 경로 상에서는 ping에 대해서 보안장비에서 차단하는 경우가 있습니다.
가장 대표적인 예를 들면, ping naver.com 을 하게 되면 다음과 같은 결과를 확인할 수 있습니다.
따라서, 목적지까지 정상적으로 서비스가 되는지 확인하기 위해서는 단순히 ping이 아니라
실제 서비스 포트까지도 고려해서 테스트 해야 하는 경우가 있을 수 있습니다.
이럴 때 사용할 수 있는 것이 tcping 입니다.
tcp의 서비스 포트를 사용해서 테스트를 하는 것으로 실제 목적지까지의 서비스가 정상적으로 열리는지를 확인 할 수 있습니다.
실행 결과는 다음과 같이 볼 수 있습니다.
tcping의 사용 방법은 일반 ping의 사용법과 동일합니다.
tcping [옵션] 목적지_IP주소 |
tcping에서 사용되는 주요 옵션은 다음과 같습니다.
주요 옵션 |
윈도우 |
-n count |
tcping을 전송하는 횟수 (기본 5회) |
-t |
중지될 때가지 지정한 호스토로 지속적으로 ping 전송.. |
-i interval |
tcping을 전송하는 시간 간격 |
serverport |
tcping으로 확인하고자 하는 서비스 포트이며, 미 설정 시에 80이 기본 값 |
* tcping은 기본 윈도우 프로그램이 아니기 때문에 아래의 사이트에서 다운받아서 사용할 수 있습니다.
https://elifulkerson.com/projects/tcping.php
tracert
ping은 네트워크 상태를 확인하는 데, 가장 많이 활용되지만 그만큼 많이 사용되는 명령어가 tracert입니다.
ping 출발지부터 목적지까지의 통신이 되는지 단순히 체크만 한다면, tracert는 출발지부터 목적지까지의 통신이 되는지에 대한 체크를
통과하는 중간 경로를 출력해서 확인하게 됩니다.
tracert는 IP 헤더의 TTL(Time To Live) 필드를 이용합니다.
TTL을 1부터 1씩 증가시키면서 목적지에 도달 할 때까지 반복해서 패킷을 전송하면서 경로를 추적하게 됩니다.
네트워크 구간에서 라우터 장비를 하나 지날 때 마다 패킷의 TTL 값이 1씩 줄어들게 되고,
TTL 이 0이 되는 순간 해당 라우터에서 이 패킷을 드랍시키고
패킷 드랍의 이유를 출발지 단말에 icmp 메시지를 이용해서 알려주게 됩니다.
TTL이 1인 경우에는 1홉까지의 장비로 전달이 되고, TTL이 0으로 만료가 되면서
해당 장비는 ‘ICMP time exceed’ 메시지를 출발지로 전달하게 됩니다.
tracert는 이 메시지를 전달한 장비의 IP를 출력하는 과정을 반복하면서 경로를 추적하는 작업을 하게 됩니다
tracert의 사용법은 다음과 같습니다 .
tracert [옵션] 목적지_IP주소 |
tracert에서 사용되는 주요 옵션은 다음과 같습니다
주요 옵션 |
리눅스 |
-d |
IP 주소를 도메인이 아닌 숫자 형식으로 표시(도메인 리졸브 미 수행) |
-h maximum_hops |
대상 검색을 위한 최대 홉 수 |
tcproute
tcproute는 이름에서 대충 감을 잡을 수 있듯이, tracert의 tcp 버전입니다.
마치 앞에서 알아본 ping에 대한 tcping 과 같은 명령어입니다.
tracert를 통해서 출발지부터 목적지까지의 경로를 체크하는 것을 서비스 포트를 이용해서 체크하는 방법입니다.
사용하는 방법은 tracert와 동일하며, 서비스 포트를 별도로 지정하는 등의 옵션을 사용할 수 있습니다 .
tcproute [옵션] 목적지_IP주소 |
tcproute 에서 사용되는 주요 옵션은 다음과 같습니다
주요 옵션 |
리눅스 |
-p PORT |
목적지 서비스 포트 지정 |
-d |
IP 주소를 도메인이 아닌 숫자 형식으로 표시(도메인 리졸브 미 수행) |
-i INT# |
특정 인터페이스로 출발지 인터페이스를 지정 해당 옵션 미 사용 시에는, 명령 실행 시 인터페이스를 선택하게 됨. |
--http |
HTTP request를 보내서 접속 확인 |
* tcping과 마찬가지로 tcproute도 기본 윈도우 프로그램이 아니기 때문에 아래의 사이트에서 다운받아서 사용할 수 있습니다.
https://www.elifulkerson.com/projects/tcproute.php