วิธีรับ traceroute บน cygwin


14

การใช้ traceroute (tracert) นั้นแตกต่างกันไปใน Windows และ Unix ฉันต้องการเปรียบเทียบทั้งสองกับ Wireshark ตอนนี้ฉันอยู่บน Windows 7 และฉันต้องการใช้ Unix traceroute ในการติดตั้งอย่างรวดเร็ว

ความคิดแรกของฉันคือการใช้ MSYS หรือ Cygwin ฉันติดตั้ง Cygwin ด้วยการเลือกแพคเกจ "inetutils *" แต่ไม่มีคำสั่ง traceroute และสามารถสั่งการ/usr/bin/ได้

ฉันยังพยายามค้นหา "traceroute" ด้วยการค้นหาแพ็คเกจ Cygwinและพบสตริงย่อยนี้ในรายการไฟล์ "zsh" ฉันติดตั้ง zsh และพยายามtracerouteและtcptracerouteไม่มีผลลัพธ์

แพ็คเกจใดที่ฉันควรตรวจสอบการติดตั้ง traceroute และมี traceroute สำหรับ Cygwin เลย?

คำตอบ:


15

ไม่มีtracerouteในแพ็คเกจ Cygwin เนื่องจากtracertมีให้ใช้งานบน Windows เสมอ ดูhttps://cygwin.com/ml/cygwin/2005-12/msg00443.htmlเพื่อดูหัวข้อสั้น ๆ คุณสามารถลองรวบรวม Unix-style tracerouteจากซอร์ส usign Cygwin

หากคุณต้องการเปรียบเทียบสไตล์ Windows tracertกับ Unix-style tracerouteฉันขอแนะนำให้รันtracerouteบน Unix หรือ Linux เนื่องจากสแต็คเครือข่ายแตกต่างกัน ดังนั้นการใช้งาน Unix-style tracerouteบน Windows จะไม่ทำให้คุณมีร่องรอยเครือข่ายเหมือนกับ Unix-style tracerouteบน Unix


3
pingยังมีอยู่ใน Windows แต่มีประโยชน์สำหรับ Cygwin :) อย่างไรก็ตามขอบคุณสำหรับคำตอบของคุณ บางทีฉันจะพยายามรวบรวมtracerouteCygwin ด้วยตนเอง
คิริลล์

4
จุดที่เป็นธรรมและข้อเสนอค่อนข้างอีกไม่กี่มีมากกว่าtraceroute tracert
Stephen Kitt

4

ตกลงอย่างที่ Stephen Kitt บอกว่ายังไม่มีความพร้อมที่จะใช้ traceroute ไบนารีสำหรับ Cygwin นั่นเป็นสาเหตุที่ฉันพยายามรวบรวมมันเอง

ฉันสามารถเห็นได้ว่ามีtraceroute ที่ทันสมัยแต่จากคำอธิบายของมันต่อไปนี้มันไม่สามารถใช้กับเคอร์เนล Linux เก่าได้และสำหรับฉันการรวบรวมติดอยู่ใน "dccp.h" ที่ขาดหายไปและฉันก็ยอมแพ้

ฉันสามารถรวบรวมการใช้งานเก่าแต่ทำงานเหมือนไม่เห็น ICMP ตอบบน TTL เกิน (มีเครื่องหมายดอกจันแทนผลลัพธ์):

1 * * *

2 * * *

บางทีมันอาจต้องมีการแก้ไขบางอย่างเพื่อทำงานกับ Cygwin และนั่นคือเหตุผลที่ว่าทำไมไม่มีแพ็คเกจ traceroute สำหรับ Cygwin

ฉันตรวจสอบกับ Wireshark และดูว่าใช้แพ็คเก็ตทดสอบ UDP และการตอบกลับ ICMP ที่สอดคล้องกันจะถูกส่งอย่างถูกต้อง ฉันต้องการสังเกตว่า traceroute อันเก่านี้ทำงานได้ช้าเหมือน Win's tracert("การสืบค้น" โหนดหนึ่งต่อหนึ่ง) Traceroute ที่ทันสมัยให้ผลลัพธ์ที่รวดเร็วมาก


2

ฉันสามารถสร้างพอร์ตmtrใน Cygwin32 โดยใช้คำแนะนำ:

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

MTR เป็นเครื่องมือ traceroute แบบโอเพ่นซอร์สทางเลือก มีทั้งอินเตอร์เฟสข้อความ GUI และ Ncurses มันไม่ใช่ traceroute แบบคลาสสิก แต่ฉันชอบมากกว่านี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.