Traceroute(tracert)의 구현은 Windows와 Unix에서 다릅니다. 두 가지를 Wireshark와 비교하고 싶습니다. 현재 Windows 7을 사용하고 있으며 Unix Traceroute를 빠르게 구현하고 싶습니다.
내 첫 번째 생각은 MSYS 또는 Cygwin을 사용하여 얻는 것이었습니다. Cygwin을 설치하고 "inetutils*" 패키지를 확인했지만 /usr/bin/
.
나는 또한 "traceroute"를 검색해 보았습니다.Cygwin 패키지 검색"zsh" 파일 목록에서 해당 하위 문자열을 찾으세요. zsh를 설치했는데 결과가 없었 traceroute
습니다 tcptraceroute
.
Traceroute를 설치하려면 어떤 패키지를 확인해야 하며 Cygwin에 Traceroute가 있습니까?
답변1
traceroute
tracert
Windows에서 항상 사용할 수 있으므로 Cygwin 패키지에는 없습니다 . 바라보다https://cygwin.com/ml/cygwin/2005-12/msg00443.html이 문제를 간략하게 논의하는 스레드입니다. traceroute
Cygwin을 사용하여 소스에서 Unix 스타일을 컴파일해 볼 수 있습니다 .
tracert
Windows 버전을 Unix 버전과 비교하려면 네트워크 스택이 다르기 때문에 Unix 또는 Linux에서 실행하는 traceroute
것이 좋습니다. 따라서 Windows에서 Unix 버전을 실행하면 Unix의 Unix 버전과 정확히 동일한 네트워크 추적이 제공되지 않습니다 .traceroute
traceroute
traceroute
답변2
글쎄, Stephen Kitt가 말했듯이 Cygwin은 아직 추적 경로 바이너리를 사용할 준비가 되어 있지 않습니다. 그래서 제가 직접 컴파일을 해보았습니다.
나는 거기에 있음을 볼 수 있습니다현대적인 추적 경로그러나 설명에 따르면 이전 Linux 커널에서는 작동하지 않으며 "dccp.h"가 누락되어 컴파일이 중단되어 포기했습니다.
나는 컴파일 할 수있다오래된 구현, 그러나 TTL 이후에는 ICMP 응답을 볼 수 없는 것처럼 작동합니다(결과 대신 별표가 있음).
1 ** * *
2 ** * *
Cygwin에서 작동하려면 몇 가지 수정이 필요할 수 있습니다. 이것이 Cygwin에 Traceroute 패키지가 없는 이유입니다.
Wireshark를 확인한 결과 UDP 테스트 패킷을 사용하고 해당 ICMP 응답이 올바르게 전달되는 것으로 나타났습니다. 이 오래된 추적 경로는 Win tracert
(노드를 하나씩 "쿼리") 처럼 느리게 실행된다는 점에 주목하고 싶습니다 . 최신 추적 경로는 매우 빠르게 결과를 제공할 수 있습니다.
답변3
mtr
다음 지침을 사용하여 Cygwin32에서 포트를 구축할 수 있었습니다.
https://github.com/traviscross/mtr/
MTR은 또 다른 오픈 소스 경로 추적 도구입니다. GUI와 Ncurses 텍스트 인터페이스가 있습니다. 아주 고전적인 추적 경로는 아니지만 나는 그것을 선호합니다.