cygwin에서 traceroute를 얻는 방법?


14

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가 있습니까?

답변:


14

tracerouteCygwin 패키지에는 tracertWindows에서 항상 사용 가능 하므로 패키지 에는 없습니다 . 이에 대해 간략하게 설명하는 스레드는 https://cygwin.com/ml/cygwin/2005-12/msg00443.html 을 참조 하십시오 . tracerouteCygwin 소스에서 Unix 스타일 을 컴파일 할 수 있습니다 .

Windows 스타일 tracert과 Unix 스타일을 비교 하려면 네트워크 스택이 다르기 때문에 Unix 또는 Linux에서 traceroute실행 traceroute하는 것이 좋습니다 . 따라서 tracerouteWindows 에서 Unix 스타일 을 실행한다고해서 Unix의 Unix 스타일 과 동일한 네트워크 추적이 제공되지는 않습니다 traceroute.


3
pingWindows에도 존재하지만 Cygwin에서 사용할 수 있습니다 :) 어쨌든, 답변 주셔서 감사합니다. 어쩌면 tracerouteCygwin을 수동으로 컴파일하려고 시도 할 것 입니다.
Kirill

4
페어 포인트이며 traceroute보다 많은 기능을 제공합니다 tracert.
Stephen Kitt

4

Stephen Kitt이 Cygwin에 traceroute 바이너리를 사용할 준비가되어 있지 않다고 말했습니다. 그래서 직접 컴파일하려고했습니다.

나는 현대적인 traceroute 가 있음을 알 수 있지만 그 설명에 따르면 오래된 Linux 커널과 함께 사용할 수 없으며 누락 된 "dccp.h"에 컴파일이 붙어서 포기했습니다.

이전 구현 을 컴파일 할 수 있었지만 TTL에서 ICMP 응답이 초과 된 것을 볼 수없는 것처럼 작동합니다 (결과 대신 별표가 있음).

1 * * *

2 * * *

Cygwin에서 작동하려면 약간의 수정이 필요할 수 있으며, 이것이 Cygwin에 대한 traceroute 패키지가없는 이유입니다.

Wireshark에서 확인한 결과 UDP 테스트 패킷을 사용하고 해당 ICMP 응답이 올바르게 전달되는지 확인했습니다. 이 오래된 traceroute가 Win의 tracert노드 처럼 하나씩 천천히 작동한다는 것을 알고 싶습니다 . 최신 추적 경로는 결과를 매우 빠르게 제공합니다.


2

mtr지침을 사용하여 Cygwin32에서 포트를 만들 수있었습니다 .

https://github.com/traviscross/mtr/

MTR은 대체 오픈 소스 추적 경로 도구입니다. GUI와 Ncurses 텍스트 인터페이스가 있습니다. 그것은 정확하게 고전적인 추적 경로는 아니지만 더 좋아합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.