กำลังมองหา Traceroute บน RHEL 8 อยู่ใช่ไหม ลอง Tracepath

การวินิจฉัยเครือข่ายเป็นส่วนสำคัญของงานของผู้ดูแลระบบเครือข่าย/ระบบ ซึ่งรวมถึงการวิเคราะห์และแก้ไขปัญหาเครือข่ายประเภทต่างๆ

การรู้เส้นทางที่แพ็กเก็ต IP ข้ามไปมาระหว่างจุดสองจุดในเครือข่าย ทำให้เกิดข้อมูลที่เป็นประโยชน์มากมายสำหรับผู้ได้รับการฝึกฝน

เครื่องมือข้ามแพลตฟอร์มที่ได้รับความนิยมและใช้กันทั่วไปซึ่งช่วยในการวิเคราะห์และแก้ไขปัญหาเกี่ยวกับเส้นทางเครือข่ายคือ traceroute

พูดง่ายๆ ก็คือ traceroute ติดตามเส้นทางของแพ็กเก็ต IP ระหว่างต้นทางและปลายทางโดยส่งแพ็กเก็ตโพรบ (น่าจะเป็น ICMP ECHO หรือ TCP SYN) จากนั้นฟังการตอบสนอง “เกินเวลา” ของ ICMP TTL ของแพ็กเก็ตเหล่านี้จะถูกเก็บไว้เป็นหนึ่งเดียวและเพิ่มขึ้นทีละหนึ่งจนกว่าเราจะได้รับ “พอร์ตที่ไม่สามารถเข้าถึงได้” ของ ICMP ซึ่งหมายความว่าเราไปถึงโฮสต์หรือเข้าถึงค่าสูงสุด (โดยค่าเริ่มต้นคือ 30 ฮ็อพ)

ตัวอย่างเอาต์พุต traceroute มีลักษณะดังนี้:

$ traceroute google.com
traceroute to google.com (172.217.169.14), 30 hops max, 60 byte packets
 1  140.91.200.22 (140.91.200.22)  0.129 ms 140.91.200.19 (140.91.200.19)  0.151 ms 140.91.200.77 (140.91.200.77)  0.114 ms
 2  linxbgp1.iwscloud.com (195.66.226.34)  0.735 ms  0.701 ms  1.024 ms
 3  195.66.224.125 (195.66.224.125)  0.603 ms  0.591 ms  0.591 ms
 4  108.170.246.129 (108.170.246.129)  0.583 ms  0.745 ms  0.714 ms
 5  209.85.241.95 (209.85.241.95)  1.576 ms 209.85.241.93 (209.85.241.93)  1.545 ms 209.85.241.95 (209.85.241.95)  1.520 ms
 6  lhr25s26-in-f14.1e100.net (172.217.169.14)  0.584 ms  0.547 ms  0.507 ms
$

เอาต์พุตการติดตามเริ่มต้น ดังที่แสดงด้านบน แสดง TTL (Time To Live) หรือเวลาไปกลับของสามแพ็กเก็ต จำนวนฮ็อพสูงสุดและขนาดแพ็กเก็ตเป็นไบต์ และที่อยู่ IP และชื่อโดเมนที่ได้รับการแก้ไขแล้ว เมื่อเป็นไปได้

Traceroute มีประโยชน์มากในการกำหนดการตอบสนองล่าช้าและการกำหนดเส้นทางระหว่างสองโหนด นอกจากนี้ยังช่วยกำหนดจุดบกพร่องในเส้นทางไปยังปลายทาง ไฟร์วอลล์และเราเตอร์จำนวนมากบล็อกข้อความติดตามเส้นทางบนอินเทอร์เน็ต ดังนั้นเอาต์พุตจึงอาจไม่ถูกต้องเสมอไป

มีวิธีแก้ปัญหาที่เป็นไปได้ในระดับหนึ่งโดยการเปลี่ยนประเภทข้อความโพรบ แต่สามารถช่วยได้เพียงระดับหนึ่งเท่านั้นที่จะหลีกเลี่ยงปัญหานี้ ดังนั้นต้องจำสิ่งนี้ไว้ในขณะที่ใช้ยูทิลิตี้นี้

บางตัวเลือกใน traceroute ต้องการสิทธิ์ superuser ระดับสูงที่เปิดใช้งานการแก้ไขแพ็กเก็ตดิบ

คำสั่งติดตามเส้นทาง

Red Hat Enterprise Linux หรือ RHEL 8 และลีนุกซ์รุ่นที่ได้รับไม่ได้มาพร้อมกับคำสั่ง traceroute ที่ติดตั้งไว้ตามค่าเริ่มต้น นี่อาจดูเหมือนการเปลี่ยนแปลงครั้งสำคัญสำหรับผู้ที่เคยใช้ในการติดตามยูทิลิตี้บน Red Hat Linux หรือ CentOS เวอร์ชันก่อนหน้า

แต่มีคำสั่งที่มีความสามารถเท่าเทียมกันโดยค่าเริ่มต้นบน RHEL8 ที่เรียกว่า tracepath ซึ่งมีความสามารถที่คล้ายคลึงกันกับ tracepath คู่และพร้อมสำหรับการใช้งานกับการติดตั้งระบบปฏิบัติการ

นอกจากนี้ tracepath ยังรองรับตัวเลือก MTU ซึ่งช่วยให้สามารถตรวจจับค่า MTU หรือ Maximum Transmission Unit ซึ่งเป็นแพ็กเก็ตที่ใหญ่ที่สุดที่ tracepath สามารถส่งผ่านเครือข่ายได้

ตัวอย่างเอาต์พุต tracepath แสดงอยู่ด้านล่างสำหรับการอ้างอิง:

$ tracepath 131.153.76.66
 1?: [LOCALHOST]                      pmtu 9000
 1:  140.91.200.23                                         0.416ms asymm  2
 1:  140.91.200.23                                         0.239ms asymm  2
 2:  140.91.200.74                                         0.194ms pmtu 1500
 2:  oracle-svc071175-lag003322.ip.twelve99-cust.net       1.344ms
 3:  ldn-b7-link.ip.twelve99.net                          19.996ms asymm  2
 4:  ldn-bb1-link.ip.twelve99.net                          0.803ms asymm  5
 5:  prs-bb1-link.ip.twelve99.net                          8.548ms asymm  6
 6:  mei-b5-link.ip.twelve99.net                          18.111ms asymm  5
 7:  no reply
 8:  phoenix-svc071932-ic358857.ip.twelve99-cust.net     179.691ms asymm  7
 9:  131.153.47.139                                      163.358ms asymm  8
10:  no reply
11:  131.153.76.66                                       159.071ms !H
     Resume: pmtu 1500
$

เอาต์พุต tracepath เริ่มต้นดังที่แสดงด้านบน แสดง TTL (Time To Live) หรือเวลาไปกลับของแพ็กเก็ต MTU (Maximum Transmission Unit) ที่สามารถส่งผ่านเครือข่ายโดย tracepath และแก้ไขชื่อโดเมนได้ทุกที่ที่ทำได้

  วิธีสร้าง Venn Diagram ใน PowerPoint

ไวยากรณ์ tracepath

ไวยากรณ์การใช้งานทั่วไปของคำสั่ง tracepath มีดังนี้:

$ tracepath <options> <destination DNS or IP>

#1. ไม่มีแฟล็ก tracepath จะแสดงเส้นทางไปยังปลายทางที่แสดงด้านล่าง:

$ tracepath 131.153.56.85
 1?: [LOCALHOST]                      pmtu 9000
 1:  140.91.200.77                                         0.226ms asymm  2
 1:  140.91.200.79                                         0.497ms asymm  2
 2:  140.91.200.74                                         0.216ms pmtu 1500
 2:  oracle-svc071174-lag003319.ip.twelve99-cust.net       0.691ms
 3:  slou-b1-link.ip.twelve99.net                          1.249ms asymm  2
 4:  ldn-bb4-link.ip.twelve99.net                          0.749ms asymm  3
 5:  nyk-bb1-link.ip.twelve99.net                         80.617ms asymm  8
 6:  rest-bb1-link.ip.twelve99.net                       153.250ms asymm 21
 7:  nyk-bb1-link.ip.twelve99.net                         83.084ms asymm  6
 8:  nash-bb1-link.ip.twelve99.net                       280.770ms asymm  9
 9:  no reply
10:  dls-b23-link.ip.twelve99.net                        110.820ms asymm  9
11:  phx-b1-link.ip.twelve99.net                         131.524ms
12:  phx-b1-link.ip.twelve99.net                         131.632ms asymm 11
13:  giglinx-ic305413-phx-b1.ip.twelve99-cust.net        132.583ms asymm 12
14:  no reply
15:  giglinx-ic305414-phx-b1.ip.twelve99-cust.net        142.685ms asymm 12
16:  PHOENIX-NAP.ear3.Chicago2.Level3.net                135.245ms asymm  4
17:  no reply
18:  no reply
19:  speedchi.phoenixnap.com                             133.809ms reached
     Resume: pmtu 1500 hops 19 back 8
$

#2. หากคุณต้องการพิมพ์ที่อยู่ IP เท่านั้น คุณสามารถใช้แฟล็ก -n:

$ tracepath -n 131.153.56.85
 1?: [LOCALHOST]                      pmtu 1500
 1:  140.91.200.74                                         0.393ms asymm  2
 1:  140.91.200.21                                         0.180ms asymm  2
 2:  213.248.69.255                                        0.576ms
 3:  213.248.98.246                                        1.210ms asymm  2
 4:  62.115.117.122                                        1.371ms asymm  3
 5:  62.115.133.239                                      141.920ms asymm 20
 6:  62.115.141.244                                       77.732ms asymm  7
 7:  no reply
 8:  62.115.137.55                                       881.711ms asymm  9
 9:  no reply
10:  62.115.137.55                                       914.855ms asymm  9
11:  62.115.125.97                                       132.182ms
12:  62.115.125.97                                       131.686ms asymm 11
13:  62.115.42.6                                         133.132ms asymm 12
14:  no reply
15:  62.115.42.10                                        143.880ms asymm 12
16:  4.14.13.150                                         134.869ms asymm  4
17:  no reply
18:  4.14.13.150                                         145.263ms asymm  4
19:  131.153.56.85                                       133.636ms reached
     Resume: pmtu 1500 hops 19 back 8
$

#3. หากต้องการพิมพ์ทั้งชื่อโฮสต์และที่อยู่ IP ให้ใช้แฟล็ก -b:

$ tracepath -b 131.153.56.85
 1?: [LOCALHOST]                      pmtu 1500
 1:  140.91.200.19 (140.91.200.19)                         0.197ms asymm  2
 1:  140.91.200.74 (140.91.200.74)                         0.141ms asymm  2
 2:  oracle-svc071175-lag003322.ip.twelve99-cust.net (213.248.98.247)   1.186ms
 3:  slou-b1-link.ip.twelve99.net (213.248.98.246)        10.273ms asymm  2
 4:  ldn-bb4-link.ip.twelve99.net (62.115.141.246)         0.941ms asymm  3
 5:  prs-bb2-link.ip.twelve99.net (62.115.133.239)       141.858ms asymm 20
 6:  rest-bb1-link.ip.twelve99.net (62.115.141.244)       76.210ms asymm  7
 7:  no reply
 8:  rest-bb1-link.ip.twelve99.net (62.115.141.244)       89.209ms asymm  7
 9:  no reply
10:  dls-b23-link.ip.twelve99.net (62.115.136.119)       110.335ms asymm  9
11:  phx-b1-link.ip.twelve99.net (62.115.125.97)         132.091ms
12:  phx-b1-link.ip.twelve99.net (62.115.125.97)         131.844ms asymm 11
13:  giglinx-ic315451-phx-b1.ip.twelve99-cust.net (80.239.195.78) 142.975ms asymm 14
14:  no reply
15:  no reply
16:  PHOENIX-NAP.ear3.Chicago2.Level3.net (4.14.13.150)  135.233ms asymm  4
17:  no reply
18:  no reply
19:  speedchi.phoenixnap.com (131.153.56.85)             133.871ms reached
     Resume: pmtu 1500 hops 19 back 8
$

#4. ในการตั้งค่าแบบกำหนดเองของความยาวแพ็กเก็ตแทนการใช้ค่าเริ่มต้นของ tracepath เช่น 65535 ให้ระบุค่าด้วยแฟล็ก -l:

$ tracepath -l 300 131.153.56.85
 1:  140.91.200.77                                         0.405ms asymm  2
 2:  oracle-svc071174-lag003319.ip.twelve99-cust.net       0.589ms
 3:  slou-b1-link.ip.twelve99.net                          1.448ms asymm  2
 4:  ldn-bb4-link.ip.twelve99.net                          0.960ms asymm  3
 5:  nyk-bb1-link.ip.twelve99.net                         81.564ms asymm  8
 6:  rest-bb1-link.ip.twelve99.net                        78.414ms asymm  7
 7:  nyk-bb1-link.ip.twelve99.net                         84.286ms asymm  6
 8:  rest-bb1-link.ip.twelve99.net                        87.529ms asymm  7
 9:  no reply
10:  dls-b23-link.ip.twelve99.net                        110.534ms asymm  9
11:  phx-b1-link.ip.twelve99.net                         131.449ms
12:  phx-b1-link.ip.twelve99.net                         131.303ms asymm 11
13:  giglinx-ic315451-phx-b1.ip.twelve99-cust.net        143.059ms asymm 14
14:  phx-b1-link.ip.twelve99.net                         142.348ms asymm 11
15:  giglinx-ic--305416-phx-b1.ip.twelve99-cust.net      143.554ms asymm 12
16:  PHOENIX-NAP.ear3.Chicago2.Level3.net                134.790ms asymm  4
17:  no reply
18:  PHOENIX-NAP.ear3.Chicago2.Level3.net                145.926ms asymm  4
19:  speedchi.phoenixnap.com                             133.736ms reached
     Resume: pmtu 300 hops 19 back 8
$

#5. นอกจากนี้เรายังสามารถตั้งค่าพอร์ตปลายทางเริ่มต้นโดยใช้แฟล็ก -p เป็น:

$ tracepath -p 9000 131.153.56.85
 1?: [LOCALHOST]                      pmtu 1500
 1:  140.91.200.18                                         0.160ms asymm  2
 1:  140.91.200.74                                         0.177ms asymm  2
 2:  oracle-svc071175-lag003322.ip.twelve99-cust.net       1.151ms
 3:  slou-b1-link.ip.twelve99.net                          1.727ms asymm  2
 4:  no reply
 5:  nyk-bb1-link.ip.twelve99.net                         81.357ms asymm  8
 6:  rest-bb1-link.ip.twelve99.net                        78.325ms asymm  7
 7:  no reply
 8:  rest-bb1-link.ip.twelve99.net                        87.908ms asymm  7
 9:  no reply
10:  dls-b23-link.ip.twelve99.net                        109.797ms asymm  9
11:  phx-b1-link.ip.twelve99.net                         132.036ms
12:  dls-b23-link.ip.twelve99.net                        121.404ms asymm  9
13:  giglinx-ic315450-phx-b1.ip.twelve99-cust.net        136.322ms asymm 12
14:  phx-b1-link.ip.twelve99.net                         142.596ms asymm 11
15:  no reply
16:  PHOENIX-NAP.ear3.Chicago2.Level3.net                135.182ms asymm  4
17:  no reply
18:  no reply
19:  speedchi.phoenixnap.com                             133.562ms reached
     Resume: pmtu 1500 hops 19 back 8
$

#6. ฮ็อพสูงสุดซึ่งโดยค่าเริ่มต้นตั้งไว้ที่ 30 สามารถปรับแต่งได้โดยใช้แฟล็ก -m ดังที่แสดงด้านล่าง:

$ tracepath -m 20 131.153.56.85
 1?: [LOCALHOST]                      pmtu 1500
 1:  140.91.200.18                                         0.175ms asymm  2
 1:  140.91.200.77                                         0.169ms asymm  2
 2:  oracle-svc071174-lag003319.ip.twelve99-cust.net       0.669ms
 3:  slou-b1-link.ip.twelve99.net                          2.443ms asymm  2
 4:  no reply
 5:  prs-bb2-link.ip.twelve99.net                        142.778ms asymm 20
 6:  rest-bb1-link.ip.twelve99.net                        76.756ms asymm  7
 7:  no reply
 8:  rest-bb1-link.ip.twelve99.net                        89.272ms asymm  7
 9:  no reply
10:  dls-b23-link.ip.twelve99.net                        110.378ms asymm  9
11:  phx-b1-link.ip.twelve99.net                         132.582ms
12:  phx-b1-link.ip.twelve99.net                         132.135ms asymm 11
13:  phx-b1-link.ip.twelve99.net                         142.154ms asymm 11
14:  no reply
15:  giglinx-ic305414-phx-b1.ip.twelve99-cust.net        142.298ms asymm 12
16:  PHOENIX-NAP.ear3.Chicago2.Level3.net                134.362ms asymm  4
17:  no reply
18:  no reply
19:  speedchi.phoenixnap.com                             133.474ms reached
     Resume: pmtu 1500 hops 19 back 8
$

โปรดทราบว่า tracepath ไม่รองรับสิทธิ์ superuser ระดับสูง เช่น traceroute เนื่องจากไม่รองรับคุณสมบัติการแก้ไขแพ็กเก็ตขั้นสูง

  วิธีการส่งวิดีโอหรือรูปภาพจาก Google Drive และ Dropbox

สรุป

บทความนี้สรุปการใช้คำสั่ง traceroute วิธีที่ใช้ในการแก้ไขปัญหาที่เกี่ยวข้องกับเครือข่าย และวิธีที่เราสามารถทำงานเดียวกันในระบบ RHEL8 โดยใช้คำสั่ง tracepath

หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งเหล่านี้ ให้ใช้หน้าคนที่เกี่ยวข้องของเครื่องมือ

$ man traceroute
$ man tracepath

เรื่องล่าสุด

x