คู่มือ Traceroute: ตรวจสอบและแก้ไขปัญหาเครือข่ายอย่างมืออาชีพบน Linux/Ubuntu

目次

1. traceroute คืออะไร? เครื่องมือพื้นฐานสำหรับการวิเคราะห์เส้นทางเครือข่าย

ภาพรวมของ traceroute

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

กลไกการทำงานของ traceroute

traceroute ส่งแพ็กเก็ต ICMP (Internet Control Message Protocol) หรือ UDP (User Datagram Protocol) และบันทึกการตอบกลับจากเราเตอร์แต่ละตัว กระบวนการนี้ช่วยให้สามารถตรวจสอบโหนดทั้งหมดที่ข้อมูลผ่านไปได้

ขั้นตอนการทำงาน

  1. ส่งแพ็กเก็ตที่ตั้งค่าค่า TTL (Time to Live) ขนาดเล็ก
  2. TTL จะลดลงทุกครั้งที่แพ็กเก็ตผ่านเราเตอร์ เมื่อ TTL เป็น 0 เราเตอร์จะส่งการตอบกลับ
  3. บันทึกที่อยู่ IP ของเราเตอร์และเวลาตอบกลับตามการตอบกลับ
  4. เพิ่ม TTL ทีละ 1 และส่งแพ็กเก็ตอีกครั้ง เพื่อติดตามเส้นทางทั้งหมดจนถึงปลายทาง

ข้อดีของ traceroute

  • การระบุข้อผิดพลาดของเครือข่าย: สามารถระบุจุดที่เกิดความล่าช้าหรือแพ็กเก็ตสูญหายบนเส้นทางเครือข่ายได้อย่างรวดเร็ว
  • การแสดงภาพเส้นทาง: สามารถตรวจสอบว่าแพ็กเก็ตผ่านประเทศหรือภูมิภาคใดบ้าง ทำให้เข้าใจภาพรวมของเครือข่ายได้
  • การวิเคราะห์ประสิทธิภาพ: สามารถวัดเวลาตอบกลับของแต่ละฮอป เพื่อประเมินประสิทธิภาพของเครือข่าย

การเปรียบเทียบกับเครื่องมืออื่น

traceroute เป็นเครื่องมือที่เน้นการติดตามเส้นทางเครือข่าย แต่ก็มีการเปรียบเทียบกับเครื่องมืออื่น ๆ เช่น ping และ mtr ตัวอย่างเช่น ping ใช้สำหรับตรวจสอบการเชื่อมต่อกับโฮสต์เดี่ยว ในขณะที่ traceroute มีวัตถุประสงค์เพื่อแสดงภาพรวมของเส้นทางทั้งหมด นอกจากนี้ mtr เป็นเครื่องมือที่รวมฟังก์ชันของ traceroute และ ping เข้าด้วยกัน ทำให้สามารถตรวจสอบเส้นทางแบบเรียลไทม์ได้

2. คำแนะนำขั้นตอนการติดตั้ง traceroute บน Ubuntu

วิธีการตรวจสอบว่าติดตั้ง traceroute แล้วหรือไม่

ใน Ubuntu บางครั้ง traceroute อาจไม่ได้ติดตั้งมาโดยค่าเริ่มต้น ขั้นแรก ให้ตรวจสอบสถานะการติดตั้งโดยรันคำสั่งต่อไปนี้ในเทอร์มินัล:

traceroute --version

หากแสดงข้อมูลเวอร์ชัน แสดงว่าติดตั้งแล้ว แต่หากแสดง “command not found” แสดงว่าจำเป็นต้องติดตั้ง

ขั้นตอนการติดตั้ง traceroute

ในการติดตั้ง traceroute ให้ทำตามขั้นตอนต่อไปนี้:

  1. อัปเดตข้อมูลแพ็กเกจ
    เพื่อรับข้อมูลแพ็กเกจล่าสุด ให้รันคำสั่งต่อไปนี้:
   sudo apt update
  1. ติดตั้ง traceroute
    รันคำสั่งต่อไปนี้เพื่อติดตั้ง traceroute:
   sudo apt install traceroute

หากมีข้อความยืนยันปรากฏขึ้นระหว่างการติดตั้ง ให้กด “Y” เพื่อดำเนินการต่อ

  1. ยืนยันการติดตั้ง
    เมื่อการติดตั้งเสร็จสมบูรณ์ ให้ตรวจสอบการทำงานด้วยคำสั่งต่อไปนี้:
   traceroute --version

หากติดตั้งสำเร็จ ข้อมูลเวอร์ชันจะปรากฏขึ้น

ข้อควรระวังเกี่ยวกับสิทธิ์

เนื่องจาก traceroute ดำเนินการที่เกี่ยวข้องกับเครือข่าย จึงต้องใช้ sudo สำหรับบางตัวเลือก ตัวอย่างเช่น หากใช้แพ็กเก็ต ICMP ให้รันด้วย sudo ดังนี้:

sudo traceroute -I example.com

วิธีแก้ไขเมื่อติดตั้งล้มเหลว

บางครั้งการติดตั้งอาจล้มเหลวเนื่องจากปัญหาต่อไปนี้:

  1. ปัญหาการเชื่อมต่อเครือข่าย
    หากการเชื่อมต่ออินเทอร์เน็ตไม่เสถียร การติดตั้งอาจหยุดชะงัก ในกรณีนี้ ให้ตรวจสอบการเชื่อมต่อและรันคำสั่งอีกครั้ง
  2. ปัญหาของระบบจัดการแพ็กเกจ
    แคชแพ็กเกจอาจเสียหาย ในกรณีนี้ ให้ล้างแคชด้วยคำสั่งต่อไปนี้แล้วลองใหม่อีกครั้ง:
   sudo apt clean
   sudo apt update
   sudo apt install traceroute

 

3. คำสั่งพื้นฐานและตัวเลือกของ traceroute

ไวยากรณ์คำสั่ง traceroute พื้นฐาน

ไวยากรณ์พื้นฐานสำหรับการใช้ traceroute มีดังนี้:

traceroute [ตัวเลือก] <ชื่อโฮสต์เป้าหมายหรือที่อยู่ IP>

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

ตัวอย่างการใช้งานพื้นฐาน

ตัวอย่างคำสั่งสำหรับการตรวจสอบเส้นทางไปยังชื่อโฮสต์เป้าหมาย (เช่น google.com) มีดังนี้:

traceroute google.com

เมื่อรันคำสั่งนี้ จะแสดงข้อมูลต่อไปนี้:

  • ที่อยู่ IP ของเราเตอร์ที่ผ่าน
  • เวลาหน่วงของแต่ละฮอป (หน่วยเป็นมิลลิวินาที)
  • ข้อความแสดงข้อผิดพลาดหากข้อมูลไม่ถึงปลายทาง (เช่น * เป็นต้น)

คำอธิบายตัวเลือกหลัก

traceroute มีตัวเลือกมากมาย การใช้แต่ละตัวเลือกจะช่วยให้การตรวจสอบเครือข่ายมีประสิทธิภาพมากขึ้น

-I: การใช้แพ็กเก็ต ICMP Echo

โดยค่าเริ่มต้นจะใช้แพ็กเก็ต UDP แต่การเพิ่มตัวเลือกนี้จะใช้แพ็กเก็ต ICMP Echo

traceroute -I example.com

ตัวอย่างการใช้งาน: ไฟร์วอลล์บางตัวอาจบล็อก UDP แต่มักจะอนุญาต ICMP ดังนั้นการใช้ตัวเลือกนี้อาจช่วยให้ตรวจสอบเส้นทางได้

-T: การใช้แพ็กเก็ต TCP

ใช้โปรโตคอล TCP ซึ่งมีประโยชน์สำหรับการแก้ไขปัญหา

traceroute -T example.com

ตัวอย่างการใช้งาน: มีประโยชน์เมื่อตรวจสอบการสื่อสารกับเว็บเซิร์ฟเวอร์ (พอร์ต 80 หรือ 443)

-p: การระบุหมายเลขพอร์ต

ระบุหมายเลขพอร์ตที่จะใช้กับ UDP หรือ TCP

traceroute -p 8080 example.com

ตัวอย่างการใช้งาน: ตรวจสอบการสื่อสารบนพอร์ตที่เกี่ยวข้องกับบริการเฉพาะ (เช่น เว็บแอปพลิเคชัน)

-n: ไม่ต้องแก้ชื่อโฮสต์

ข้ามการแก้ชื่อโฮสต์และแสดงเฉพาะที่อยู่ IP ซึ่งช่วยเพิ่มความเร็วในการรัน

traceroute -n example.com

-m: การตั้งค่าจำนวนฮอปสูงสุด

ระบุจำนวนฮอปสูงสุดที่จะผ่าน (ค่าเริ่มต้นคือ 30)

traceroute -m 20 example.com

ตัวอย่างการใช้งาน: มีประโยชน์เมื่อตรวจสอบเส้นทางในเครือข่ายขนาดเล็ก

-q: การระบุจำนวนครั้งที่พยายาม

ระบุจำนวนแพ็กเก็ตที่จะส่งไปยังแต่ละฮอป (ค่าเริ่มต้นคือ 3)

traceroute -q 1 example.com

วิธีอ่านผลลัพธ์ของคำสั่ง

ผลลัพธ์ของ traceroute ประกอบด้วยข้อมูลต่อไปนี้:

  • หมายเลขฮอป: หมายเลขที่แสดงลำดับที่แพ็กเก็ตถึง
  • ที่อยู่ IP หรือชื่อโฮสต์: ข้อมูลของเร้าเตอร์ที่ผ่าน
  • เวลาตอบกลับ: เวลาหน่วงไป-กลับของแต่ละฮอป (หน่วยเป็นมิลลิวินาที)

ตัวอย่างผลลัพธ์:

1  192.168.1.1 (192.168.1.1)  1.123 ms  1.456 ms  1.789 ms
2  10.0.0.1 (10.0.0.1)  2.456 ms  2.678 ms  2.789 ms
3  * * *
  • * * *: หากไม่มีการตอบกลับ แสดงว่าแพ็กเก็ตอาจถูกบล็อก

4. ตัวอย่างการประยุกต์ใช้ traceroute: วิธีการวินิจฉัยเครือข่ายเชิงปฏิบัติ

การประยุกต์ใช้ traceroute ในสถานการณ์จริง

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

การระบุสาเหตุของความล่าช้าในเครือข่าย

หากเครือข่ายช้า การใช้ traceroute สามารถช่วยระบุสาเหตุของความล่าช้าได้ ขั้นตอนการวิเคราะห์ความล่าช้ามีดังนี้:

  1. ติดตามเส้นทางไปยังเซิร์ฟเวอร์เป้าหมาย
   traceroute example.com
  1. ตรวจสอบจุดที่เกิดความล่าช้า
    วิเคราะห์เวลาตอบกลับของแต่ละฮอป หากพบว่าเวลาตอบกลับเพิ่มขึ้นอย่างรวดเร็วที่จุดใดจุดหนึ่ง แสดงว่าสาเหตุของความล่าช้าอาจอยู่ที่จุดนั้น ตัวอย่างผลลัพธ์:
   1  192.168.1.1 (192.168.1.1)  1.123 ms  1.456 ms  1.789 ms
   2  10.0.0.1 (10.0.0.1)  2.456 ms  2.678 ms  2.789 ms
   3  192.0.2.1 (192.0.2.1)  150.789 ms  151.123 ms  151.456 ms
  • จุดที่น่าสนใจ: เวลาตอบกลับเพิ่มขึ้นอย่างรวดเร็วที่ฮอป 3 ในกรณีนี้ คาดว่าปัญหาเกิดจากเครือข่ายบริเวณ 192.0.2.1

5. ข้อผิดพลาดที่เกิดขึ้นขณะรัน traceroute และวิธีแก้ไข

ข้อผิดพลาดที่พบบ่อยขณะใช้ traceroute

เมื่อรัน traceroute บางครั้งคุณอาจพบข้อผิดพลาดหรือผลลัพธ์ที่ไม่คาดคิด ด้านล่างนี้คือตัวอย่างข้อผิดพลาดที่พบบ่อย สาเหตุ และวิธีแก้ไข

ข้อผิดพลาด command not found

สาเหตุ:

  • อาจเป็นไปได้ว่า traceroute ยังไม่ได้ติดตั้ง

วิธีแก้ไข:

  • ตรวจสอบว่า traceroute ได้รับการติดตั้งแล้วหรือไม่ หากยังไม่ได้ติดตั้ง ให้ติดตั้งด้วยคำสั่งต่อไปนี้:
  sudo apt update
  sudo apt install traceroute

แสดง * * *

สาเหตุ:

  • แพ็กเก็ตอาจถูกบล็อกโดยเราเตอร์หรืออุปกรณ์บางอย่าง
  • ไฟร์วอลล์หรือนโยบายเครือข่ายอาจบล็อกแพ็กเก็ต ICMP หรือ UDP

วิธีแก้ไข:

  1. ลองรันโดยเปลี่ยนโปรโตคอล
  • ใช้แพ็กเก็ต ICMP Echo:
    traceroute -I example.com
  • ใช้ TCP:
    traceroute -T example.com
  1. ติดต่อผู้ดูแลเครือข่าย
  • หน่วยงานหรือผู้ให้บริการอาจบล็อกแพ็กเก็ตบางประเภท ดังนั้นให้ตรวจสอบกับผู้ดูแล

 

6. คำถามที่พบบ่อย: ไขข้อสงสัยด้วย FAQ

Q1. traceroute กับ ping ต่างกันอย่างไร?

A:

  • traceroute:
    ติดตามเส้นทางเครือข่ายและแสดงภาพว่าผ่านเราเตอร์ใดบ้าง มีประโยชน์ในการระบุจุดที่เกิดความล่าช้าหรือข้อผิดพลาด
  • ping:
    เครื่องมือที่เรียบง่ายเพื่อตรวจสอบว่าโฮสต์เดี่ยวสามารถเข้าถึงได้หรือไม่ และวัดเวลาไป-กลับ ไม่สามารถติดตามเส้นทางได้ แต่เพียงพอสำหรับการตรวจสอบการตอบสนองพื้นฐานของเครือข่าย

Q2. ทำไมการสื่อสารจึงหยุดชะงักระหว่างการรัน traceroute?

A:
สาเหตุที่การสื่อสารหยุดชะงักอาจรวมถึงสิ่งต่อไปนี้:

  1. การตั้งค่าไฟร์วอลล์
    เราเตอร์บางตัวอาจบล็อกแพ็กเก็ตตอบกลับ
  2. การตั้งค่าเราเตอร์
    มีเราเตอร์บางตัวที่ตั้งค่าไว้ว่าจะไม่ส่งการตอบกลับ
  3. แพ็กเก็ตสูญหาย
    หากเครือข่ายแออัด แพ็กเก็ตอาจสูญหายได้

วิธีแก้ไข:

  • ลองเปลี่ยนโปรโตคอลเป็น ICMP (ตัวเลือก -I) หรือ TCP (ตัวเลือก -T)

7. สรุป

ความสำคัญของ traceroute

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

ประเด็นสำคัญที่ได้เรียนรู้จากบทความ

  1. ฟังก์ชันพื้นฐานของ traceroute
  • แสดงภาพเส้นทางที่แพ็กเก็ตเดินทางไปจนถึงปลายทาง และตรวจสอบเวลาตอบกลับของแต่ละฮอป เพื่อระบุข้อผิดพลาดหรือความล่าช้าในเครือข่าย
  1. วิธีการติดตั้ง traceroute บน Ubuntu
  • สามารถติดตั้งได้ง่ายด้วย sudo apt install traceroute
  1. คำสั่งพื้นฐานและตัวเลือกที่เป็นประโยชน์
  • สามารถดำเนินการได้อย่างยืดหยุ่น เช่น การใช้ ICMP หรือ TCP และการปรับจำนวนฮอป
  1. วิธีการใช้งานเชิงประยุกต์
  • สามารถใช้ในวัตถุประสงค์ที่หลากหลาย เช่น การวิเคราะห์สาเหตุของความล่าช้าหรือแพ็กเก็ตสูญหายในเครือข่าย และการตรวจสอบไฟร์วอลล์
  1. วิธีจัดการกับข้อผิดพลาด
  • สามารถจัดการกับข้อผิดพลาดทั่วไป เช่น * * * และ command not found ได้อย่างเหมาะสม
  1. คำตอบสำหรับคำถามที่พบบ่อย
  • ได้เรียนรู้ความรู้เชิงปฏิบัติ เช่น ความแตกต่างระหว่าง traceroute กับ ping สาเหตุของการหยุดชะงักของการสื่อสาร และการรองรับ IPv6

การใช้ traceroute อย่างมีประสิทธิภาพ

traceroute ถูกนำไปใช้ในสถานการณ์ที่หลากหลาย ตั้งแต่ปัญหาเครือข่ายส่วนบุคคลไปจนถึงการจัดการโครงสร้างพื้นฐานด้านไอทีขององค์กร โดยเฉพาะอย่างยิ่งมีประโยชน์ในสถานการณ์ต่อไปนี้:

  • การตรวจสอบสาเหตุของความไม่เสถียรของการเชื่อมต่ออินเทอร์เน็ต
  • การตรวจสอบการตั้งค่าไฟร์วอลล์และเราเตอร์
  • การวิเคราะห์เส้นทางเครือข่ายทั่วโลก

ขั้นตอนต่อไป

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

สุดท้ายนี้

การวินิจฉัยเครือข่ายเป็นพื้นฐานของทักษะด้านไอที และการเป็นผู้เชี่ยวชาญในการใช้ traceroute จะเป็นจุดแข็งที่สำคัญ มาใช้เครื่องมือนี้อย่างมีประสิทธิภาพและมุ่งมั่นที่จะเป็นวิศวกรที่สามารถแก้ไขปัญหาเครือข่ายได้อย่างราบรื่นกันเถอะ!