“ ***” หมายถึงอะไรเมื่อ traceroute


54

นี่คือผลลัพธ์ของ traceroute ของฉัน

traceroute 211.140.5.120

 1  141.1.31.2 (111.1.31.2)  0.397 ms  0.380 ms  0.366 ms
 2  141.1.28.38 (111.1.28.38)  3.999 ms  3.971 ms  3.982 ms
 3  142.11.124.193 (112.11.124.133)  1.315 ms  1.533 ms  1.455 ms
 4   (201.141.0.261)  2.615 ms  2.749 ms  2.572 ms
 5   (201.141.0.82)  2.705 ms  2.564 ms  2.680 ms
 6   (201.118.231.14)  5.375 ms  5.126 ms  5.252 ms
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

ฉันต้องการทราบว่า *** หมายถึงอะไรและผลลัพธ์หมายถึงมีฮ็อปมากกว่า 30 รายการระหว่างโฮสต์และเซิร์ฟเวอร์เป้าหมายหรือไม่

คำตอบ:


45

การนำไปใช้งานทั้งหมดของ traceroute ขึ้นอยู่กับแพ็คเก็ต ICMP (ชนิด 11) ที่ถูกส่งไปยังผู้เริ่มต้น

โปรแกรมนี้พยายามติดตามเส้นทางโดยการเรียกใช้แพ็คเก็ตโพรบ UDP ด้วย ttl ขนาดเล็ก (เวลาใช้งาน) จากนั้นคอยฟังการตอบกลับของ ICMP "เกินเวลา" จากเกตเวย์ มันเริ่มต้นโพรบด้วย ttl ของหนึ่งและเพิ่มทีละหนึ่งจนกว่าเราจะได้ ICMP "พอร์ตที่เข้าถึงไม่ได้" (ซึ่งหมายความว่าเราต้อง "โฮสต์") หรือกดสูงสุด (ซึ่งเป็นค่าเริ่มต้นถึง 30 ฮ็อปและสามารถเปลี่ยนได้ด้วยแฟล็ก -m ) โพรบสามตัว (เปลี่ยนด้วยแฟล็ก -q) จะถูกส่งไปที่การตั้งค่า ttl แต่ละครั้งและมีการพิมพ์บรรทัดที่แสดง ttl, ที่อยู่ของเกตเวย์และเวลาไปกลับของแต่ละโพรบ (ดังนั้นสาม *) หากไม่มีการตอบสนองภายใน 5 วินาที ช่วงเวลาหมดเวลา (เปลี่ยนด้วยแฟล็ก -w) ระบบจะพิมพ์ "*" สำหรับโพรบนั้น

ดังนั้นในกรณีของคุณเราสามารถสรุปได้ว่าเราได้รับการตอบสนองเพียงไม่เกิน 201.118.231.14 หลังจากนั้นโหนดจะไม่ตอบสนองต่อแพ็คเก็ต ICMP (ประเภท 11) จนถึง hop 30 ซึ่งเป็นเวลาสูงสุดต่อการถ่ายทอดสด (จำนวนฮ็อพสูงสุด) คุณสามารถเพิ่ม max-time-to-live โดยใช้แฟล็ก -m


34

Traceoute ต้องการการตอบสนองจากเซิร์ฟเวอร์เป้าหมายและแต่ละสื่อกลางเพื่อสร้างผลลัพธ์ หากเราเตอร์ไม่ได้สร้างการTime-to-live exceededตอบสนอง traceroute จะไม่ทราบอะไรเกี่ยวกับการฟ้อนรำนั้น การกระโดดที่เอาท์พุท* * *หมายความว่าเราเตอร์ที่ hop นั้นไม่ตอบสนองต่อชนิดของแพ็คเก็ตที่คุณใช้สำหรับ traceroute (โดยค่าเริ่มต้นคือ UDP บน Unix-like และ ICMP บน Windows)

หากคุณใช้ traceroute รุ่นเดียวกันฉันมีคุณสามารถลองใช้-eตัวเลือกในการพยายามหลีกเลี่ยงไฟร์วอลล์และ-Pตัวเลือกในการใช้แพ็คเก็ตICMP, TCP หรือGREแทน UDP คุณสามารถลองระบุพอร์ตเฉพาะที่ไม่น่าจะถูกกรองได้ (เช่น 80 หรือ 25) โดยใช้-pตัวเลือก

อาจมีตัวเลือกอื่น ๆ ที่ช่วยให้คุณได้รับการตอบกลับ ตรวจสอบหน้าคนสำหรับ traceroute

ในการตอบคำถามส่วนที่สองของคุณไม่ใช่ traceroute นี้ไม่ได้หมายความว่ามี 30 ฮ็อพระหว่างคุณกับเซิร์ฟเวอร์เป้าหมาย Traceroute "ยอมแพ้" หลังจากกระโดดหลายครั้ง สิ่งนี้ทำได้โดยการ จำกัด TTL สูงสุดในแพ็คเก็ตซึ่งโดยค่าเริ่มต้นบน Linux คือ 30 คุณสามารถเปลี่ยนแปลงได้ด้วย-mตัวเลือก อาจมีฮ็อพมากขึ้นหรือน้อยลง แต่เนื่องจากไม่มีใครตอบหลังจากที่พวกเขาตอบเราจึงไม่รู้


2
หากต้องการเพิ่ม: โดยทั่วไปหากด้วยเหตุผลใดก็ตามที่ hop 30 กลับมาพร้อมกับคำตอบ ถ้าอย่างนั้นเราก็รู้ว่าเรามีฮ็อพอย่างน้อย 30 ครั้ง (ไม่ต้องใช้เล่ห์เหลี่ยมใด ๆ )
user606723
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.