traceroute (tracert)의 구현은 Windows와 Unix에서 다릅니다. 나는 Wireshark와 둘 다를 비교하고 싶었다. 나는 지금 Windows 7을 사용하고 있으며 Unix traceroute 구현을 빠르게 원했습니다.
내 첫 번째 아이디어는 MSYS 또는 Cygwin을 사용하는 것입니다. “inetutils *”패키지가 선택된 상태로 Cygwin을 설치했지만에 traceroute 명령 및 해당 실행 파일이 없습니다 /usr/bin/
.
Cygwin 패키지 검색을 사용 하여 “traceroute”를 검색 하고 “zsh”파일 목록에서이 하위 문자열을 찾았습니다. 나는 zsh을하고 시도를 설치 traceroute
하고 tcptraceroute
어떤 결과.
Traceroute 설치를 확인해야하는 패키지는 무엇이며 Cygwin에 대한 traceroute가 있습니까?
답변
traceroute
Cygwin 패키지에는 tracert
Windows에서 항상 사용 가능 하므로 패키지 에는 없습니다 . 이에 대해 간략하게 설명하는 스레드는 https://cygwin.com/ml/cygwin/2005-12/msg00443.html 을 참조 하십시오 . traceroute
Cygwin 소스에서 Unix 스타일 을 컴파일 할 수 있습니다 .
Windows 스타일 tracert
과 Unix 스타일을 비교 하려면 네트워크 스택이 다르기 때문에 Unix 또는 Linux에서 traceroute
실행 traceroute
하는 것이 좋습니다 . 따라서 traceroute
Windows 에서 Unix 스타일 을 실행한다고해서 Unix의 Unix 스타일 과 동일한 네트워크 추적이 제공되지는 않습니다 traceroute
.
답변
Stephen Kitt이 Cygwin에 traceroute 바이너리를 사용할 준비가되어 있지 않다고 말했습니다. 그래서 직접 컴파일하려고했습니다.
나는 현대적인 traceroute 가 있음을 알 수 있지만 그 설명에 따르면 오래된 Linux 커널과 함께 사용할 수 없으며 누락 된 “dccp.h”에 컴파일이 붙어서 포기했습니다.
이전 구현 을 컴파일 할 수 있었지만 TTL에서 ICMP 응답이 초과 된 것을 볼 수없는 것처럼 작동합니다 (결과 대신 별표가 있음).
1 * * *
2 * * *
Cygwin에서 작동하려면 약간의 수정이 필요할 수 있으며, 이것이 Cygwin에 대한 traceroute 패키지가없는 이유입니다.
Wireshark에서 확인한 결과 UDP 테스트 패킷을 사용하고 해당 ICMP 응답이 올바르게 전달되는지 확인했습니다. 이 오래된 traceroute가 Win의 tracert
노드 처럼 하나씩 천천히 작동한다는 것을 알고 싶습니다 . 최신 추적 경로는 결과를 매우 빠르게 제공합니다.
답변
mtr
지침을 사용하여 Cygwin32에서 포트를 만들 수있었습니다 .
https://github.com/traviscross/mtr/
MTR은 대체 오픈 소스 추적 경로 도구입니다. GUI와 Ncurses 텍스트 인터페이스가 있습니다. 그것은 정확하게 고전적인 추적 경로는 아니지만 더 좋아합니다.