
traceroute와 ping을 하나의 네트워크 진단 도구로 결합하여 경로를 탐색하고, 지연 시간을 측정하며, 연결 문제 해결을 위한 홉별 통계를 보고합니다.
mtr는 'traceroute'와 'ping' 프로그램의 기능을 하나의 네트워크 진단 도구에 결합합니다.
mtr가 시작되면, mtr가 실행되는 호스트와 사용자가 지정한 대상 호스트 간의 네트워크 연결을 조사합니다. 점차 큰 TTL(Time-To-Live) 값을 사용하여 대상에 프로브를 보내고, 중간 라우터의 응답을 사용하여 경로를 발견하고 측정합니다. 이 과정에서 각 홉에 대한 실행 통계를 출력합니다.
중간 라우터는 이러한 ICMP 응답을 전송하지 않도록 구성되거나 속도 제한이 적용될 수 있으므로, 중간 홉에서의 겉보기 손실이 항상 해당 지점에서 전달 트래픽이 손실되고 있음을 의미하지는 않습니다.
mtr는 GNU 일반 공중 사용 허가서 버전 2 하에 배포됩니다. 자세한 내용은 COPYING 파일을 참조하십시오.
타르볼(tarball)에서 빌드하는 경우, mtr 컴파일은 다음과 같이 간단합니다:
./configure && make
이는 https://www.bitwizard.nl/mtr/files/ 의 tarball을 의미하며, github에서 생성할 수 있는 tarball이 아님에 유의하십시오.
(과거에는 배포판에 ./configure를 자동으로 실행하고 생성된 Makefile로 make를 다시 실행하는 Makefile이 있었지만, 약간의 비트로트(bitrot)가 발생했습니다. git에서는 제대로 작동하지 않았습니다.)
git 저장소에서 빌드하는 경우 다음을 실행해야 합니다:
./bootstrap.sh && ./configure && make
컴파일이 성공한 것으로 보이면 다음과 같이 mtr를 테스트할 수 있습니다:
sudo ./mtr <host>
(<host> 부분에 호스트 이름 또는 IP 주소를 입력하십시오) 또는 바로 설치를 진행하십시오:
make install
mtr-packet은 원시 IP 소켓에 접근해야 하므로 suid-root여야 합니다. 보안 정보는 SECURITY를 참조하십시오.
이전 버전에서는 GTK가 설치된 상태에서 non-gtk 버전을 올바르게 빌드하려면 존재하지 않는 GTK 경로가 필요했습니다. 이제는 더 이상 필요하지 않습니다. ./configure --without-gtk가 이제 작동합니다. 작동하지 않으면 make 단계에서 make WITHOUT_X11=YES를 시도하십시오.
Solaris에서는 빌드에 GNU make를 사용해야 합니다. (make 대신 gmake를 사용하십시오.)
Solaris(및 다른 시스템)에서는 "gtk" 라이브러리가 동적 링커가 setuid 바이너리에서 찾지 못하는 디렉토리에 설치될 수 있습니다. Roman Shterenzon에 따르면 다음을 추가하면
-Wl,-rpath=/usr/lib
을 명령줄에 추가하면 gnu LD를 사용하는 경우 작동합니다. 그는 sun LD를 사용하는 경우 운이 없다고 말합니다. 하지만 이는 완전히 사실이 아닙니다. gtk 라이브러리를 /usr/local/lib에 두지 않고 /usr/lib로 이동할 수 있기 때문입니다. (ld가 /usr/local/lib는 신뢰할 수 없고 /usr/lib는 신뢰할 수 있다고 알려주고, setuid 프로그램에 gtk 라이브러리를 포함시키기에 충분히 신뢰한다면, 라이브러리를 "신뢰하는" 디렉토리로 이동하는 것에 대해 고려할 만한 가치가 있습니다.)
MacOS에서 빌드하는 데 특별한 단계가 필요하지 않습니다.
Windows에서 mtr를 사용하려면 WSL(Windows Subsystem for Linux)이 필요합니다.
Ubuntu 배포판(기본값)으로 WSL을 설치하려면 다음을 참조하십시오:
How to install Linux on Windows with WSL.
초기 과정이 완료되면 다음과 같이 간단합니다:
sudo apt-get -y install mtr
전통적인 방법을 선호하는 경우, Cygwin을 받으십시오. 다음을 참조하십시오: https://cygwin.com/install.html.
다음으로, cygwin의 setup-x86.exe(또는 64비트 cygwin을 사용하는 경우 setup-x86_64.exe)를 다음 인수와 함께 다시 실행하십시오:
setup-x86.exe --package-manager --wait --packages automake,pkg-config,make,gcc-core,libncurses-devel,libjansson-devel
그러면 빌드에 필요한 패키지가 설치됩니다.
Unix에서와 같이 빌드합니다:
./bootstrap.sh && ./configure && make
마지막으로, 빌드된 바이너리를 설치하십시오:
make install
mtr는 이제 github에서 호스팅됩니다. https://github.com/traviscross/mtr
mtr 웹 페이지(http://www.BitWizard.nl/mtr/)를 참조하십시오.
버그 보고 및 기능 요청은 Github 버그 추적 시스템에 제출해야 합니다.
패치는 Github 저장소를 클론하고 풀 리퀘스트를 보내거나, 이메일로 제출할 수 있습니다. 통합 diff(unified diff)를 사용해 주십시오. 일반적으로 diff가 다소 지저분하므로, diff가 깨끗하고 로컬 내용을 너무 많이 포함하지 않는지 확인해 주십시오 (예를 들어, /your/ automake가 생성한 "configure" 스크립트는 원하지 않습니다/필요하지 않습니다).
(예전에는 메일링 리스트가 있었지만, 스팸만 받았습니다. 그래서 서버가 업그레이드되었을 때 메일링 리스트는 사라졌습니다.)
REW