OS 기술/Linux

Traceroute 포트 지정하여 경로 찾기

DongT 2023. 10. 31. 11:39
728x90
반응형

 

네트워크 구성도를 보면 단말(클라이언트)에서 서버까지 직접 연결이 아닌, 중간 스위치 연결이 되어 복잡하게 구성되어 있다.

일반적으로 사용자는 이 구성을 모르고(굳이 알 필요도 없고) 눈에 보이는 연결만 확인이 가능하다.

정거장처럼 흐름 중간중간 구간이 존재한다

 

하지만 S출발지에서 T목적지까지 연결이 안되는 장애가 발생하면 어느 구간에서 오류가 발생했는지 검증이 필요하다.

구성도가 복잡하지 않다면 일일이 확인이 가능하지만, 그렇지 않은 환경에서는 구간을 타고 흐름이 어디서 막히는지 확인할 수 있어야 한다.

 

이 때 사용하는 명령어가 바로 Traceroute 이다.

 


[사용법]

Traceroute는 기본으로 Ping명령어에서 사용하는 ICMP 프로토콜을 이용한다.

ping 목적지IP
traceroute 목적지IP

Ping과 traceroute 명령어 사용

(traceroute 명령어 사용시 1~4까지 구간(Next Hop)을 훑고 지나가는걸 확인 가능하다)

 

하지만 간혹 Ping으로는 통신 확인이 되지만 TCP,UDP 등의  통신이 확인 되지않는 경우가 있으며, 이 때 Traceroute에 옵션을 지정하여 확인해야한다.

nc -zv 목적지IP 포트번호
traceroute -T -p 포트번호 목적지IP

ncat와 traceroute 명령어 사용

 

이렇게 구간을 확인해서 다음 홉으로 넘어가지 못하는 부분에 문제가 있음을 인지 할 수 있다.

네트워크 스위치에서 넘어가지 못하면, 보통은 라우팅, ACL, VLAN 등을 보면 된다.

서버에서 넘어가지 못하면, 서비스 프로세스, 방화벽 등을 보면 된다.

 

 


[덤.]

명령어 사용법 익힐 때 가장 좋은건 man page를 적극 활용하는 것이다.

traceroute는 보통 ICMP로 구간테스트만 하지만 특수한 경우에 필요할 수도 있으니 알아두면 좋겠다.

traceroute man page에서 프로토콜과 포트 지정 옵션 확인

 

 

728x90