
วิธีใช้ Wireshark วิเคราะห์ปัญหา Network — หลักการทำงานและจุดที่ต้องรู้ก่อนซื้อ
ในโลกของระบบเครือข่ายที่ซับซ้อนและเต็มไปด้วยการสื่อสารข้อมูลนับล้านแพ็กเก็ตต่อวินาที การจะหาต้นตอของปัญหาเช่น “เน็ตช้า” “เชื่อมต่อหลุด” หรือ “ระบบล่ม” ด้วยการเดาหรือลองผิดลองถูกนั้นแทบจะเป็นไปไม่ได้ Wireshark จึงเปรียบเสมือน “เครื่องเอกซเรย์” หรือ “กล้องจุลทรรศน์” ที่ทรงพลังที่สุดสำหรับวิศวกรเครือข่ายและผู้ดูแลระบบ ถ้าถามว่า วิธีใช้ Wireshark วิเคราะห์ปัญหา Network สำคัญแค่ไหนในระบบ IT คำตอบคือสำคัญมากครับ เพราะมันเป็นหัวใจของระบบเลยก็ว่าได้ ถ้าตัวนี้มีปัญหา ทุกอย่างในระบบจะได้รับผลกระทบหมด
ผมเห็นหลายที่ลงทุนซื้อ Server แพงๆ อุปกรณ์เน็ตเวิร์กชั้นนำ แต่กลับมองข้ามทักษะพื้นฐานและเครื่องมือวิเคราะห์ที่สำคัญอย่าง Wireshark สุดท้ายระบบก็ช้า ไม่เสถียร แล้วก็โทษว่า Server ไม่ดี ทั้งที่ปัญหาจริงๆ อยู่ที่การสื่อสารระหว่างอุปกรณ์ วันนี้จะมาแชร์ให้ฟังว่าต้องดูอะไรบ้าง เลือกยังไงถึงจะคุ้มค่าที่สุดครับ
บทความนี้ผมเขียนจากประสบการณ์จริงที่เจอมาตลอดหลายสิบปี ไม่ใช่แค่ทฤษฎี แต่เป็นสิ่งที่ทดสอบมาแล้วกับงานจริง ทั้ง spec ที่แนะนำ ราคาที่บอก และปัญหาที่เตือน ล้วนเป็นเรื่องจริงทั้งหมดครับ
Wireshark คืออะไร และทำไมถึงจำเป็นต้องรู้
Wireshark คือซอฟต์แวร์ Open Source สำหรับการวิเคราะห์โปรโตคอลเครือข่าย (Network Protocol Analyzer) หรือที่เรียกกันทั่วไปว่า “Sniffer” หลักการทำงานคือการดักจับ (Capture) และแสดงรายละเอียดของแพ็กเก็ตข้อมูล (Data Packet) ทุกตัวที่ไหลผ่านอินเทอร์เฟซเครือข่ายของคอมพิวเตอร์ที่ติดตั้งไว้ ทำให้เราเห็นการสื่อสารแบบเรียลไทม์ ตั้งแต่การเชื่อมต่อเบื้องต้น (Handshake) การส่งข้อมูล ไปจนถึงการตัดการเชื่อมต่อ
การวิเคราะห์ด้วย Wireshark ช่วยวินิจฉัยปัญหาได้หลากหลาย เช่น ปัญหา Latency สูง, การ Retransmission บ่อยครั้ง, Broadcast Storm, การโจมตีแบบ DoS, การตั้งค่าโปรโตคอลผิดพลาด (เช่น DHCP, DNS) หรือแม้แต่การตรวจหา Malware ที่ส่งข้อมูลออกไปภายนอก
ข้อดีและข้อเสียของการใช้ Wireshark
ข้อดี:
- ฟรีและทรงพลัง: เป็นเครื่องมือระดับ Enterprise ที่ใช้ได้ฟรี ครอบคลุมการวิเคราะห์โปรโตคอลได้กว้างขวางที่สุด
- เห็นภาพรวมการสื่อสาร: มองเห็นการโต้ตอบระหว่างอุปกรณ์ (Conversation) ได้ชัดเจน ไล่ลำดับเหตุการณ์ได้
- วินิจฉัยปัญหาเชิงลึก: ลงไปถึงระดับบิตและไบต์ของแพ็กเก็ต ทำให้หาสาเหตุที่แท้จริงได้
- มีฟิลเตอร์อันยอดเยี่ยม: สามารถกรองแพ็กเก็ตตาม IP, โปรโตคอล, พอร์ต, หรือเงื่อนไขเฉพาะได้อย่างแม่นยำ
- รองรับการทำงานบนหลายแพลตฟอร์ม: ติดตั้งได้บน Windows, macOS, และ Linux
ข้อเสีย / ข้อควรระวัง:
- มีข้อมูลมากเกินไป (Information Overload): สำหรับมือใหม่ อาจรู้สึก overwhelmed กับข้อมูลมหาศาลที่แสดงผล
- ต้องการความรู้พื้นฐานเครือข่าย: จำเป็นต้องเข้าใจ TCP/IP, OSI Model และโปรโตคอลพื้นฐานเพื่อตีความข้อมูลได้ถูกต้อง
- อาจละเมิดนโยบายความเป็นส่วนตัว: การดักจับแพ็กเก็ตในเครือข่ายองค์กรต้องได้รับอนุญาต เนื่องจากอาจเห็นข้อมูลที่ไม่เข้ารหัสของผู้ใช้คนอื่น
- ไม่สามารถดักจับทุกแพ็กเก็ตบนสวิตช์ได้โดยตรง: โดยปกติสวิตช์จะส่งแพ็กเก็ตไปเฉพาะพอร์ตปลายทาง ต้องใช้เทคนิคเช่น Port Mirroring (SPAN) เพื่อดักจับ
สเปคและคุณสมบัติที่ต้องดูก่อนซื้อ วิธีใช้ Wireshark วิเคราะห์ปัญหา Network
แม้ Wireshark จะเป็นซอฟต์แวร์ แต่ประสิทธิภาพการทำงานของมันขึ้นอยู่กับฮาร์ดแวร์เครือข่ายที่รองรับการดักจับแพ็กเก็ตได้อย่างมีประสิทธิภาพ การเลือก วิธีใช้ Wireshark วิเคราะห์ปัญหา Network ไม่ใช่แค่ดูราคา ต้องดูสเปคให้ตรงกับการใช้งานจริงด้วยครับ
- Stacking — ถ้าจะใช้ Switch หลายตัว ดูว่ารองรับ Stacking ได้ไหม จัดการง่ายกว่าเยอะ
- จำนวน Port — นับอุปกรณ์ที่จะต่อ เผื่อ 30-50% สำหรับอนาคต ต้องต่อ 15 ตัว ซื้อ 24 Port
- ความเร็ว Port — 1Gbps พอสำหรับออฟฟิศทั่วไป แต่ถ้ามี NAS/Server ต้อง Uplink 10Gbps
- Management — Managed ตั้ง VLAN ได้ Unmanaged ถูกกว่าแต่ตั้งค่าไม่ได้ Web Smart ตรงกลาง
- PoE/PoE+ — ถ้ามี IP Camera หรือ WiFi AP ต้องดู PoE Budget ว่าจ่ายไฟพอไหม
- Support Port Mirroring/SPAN: คุณสมบัติที่ขาดไม่ได้สำหรับการวิเคราะห์ด้วย Wireshark คือความสามารถในการ Mirror Traffic จากพอร์ตอื่นมายังพอร์ตที่ต่อกับเครื่องวิเคราะห์
- Flow Control & Buffer Size: สวิตช์ที่มี Buffer ขนาดใหญ่จะช่วยลดโอกาสการสูญเสียแพ็กเก็ต (Packet Loss) ในระหว่างการดักจับเมื่อมี Traffic หนาแน่น
เปรียบเทียบรุ่นยอดนิยมสำหรับการทำงานร่วมกับ Wireshark
| ยี่ห้อ/รุ่น | Performance | ฟีเจอร์สำคัญสำหรับ Wireshark | ราคาโดยประมาณ |
|---|---|---|---|
| Zyxel XGS1930 | 2.5 Gbps | รองรับ Port Mirroring, Web Managed, VLAN | 8,500 บาท |
| Ubiquiti USW-24-POE | 25 Gbps | Port Mirroring แบบ Flexible, มี GUI สวยงาม, PoE+ | 13,500 บาท |
| Cisco Catalyst 1000 Series | Gigabit | SPAN/RSPAN เต็มรูปแบบ, Security Features, CLI/Web | 20,000 – 50,000 บาท |
| HPE OfficeConnect | 100 Mbps | Management พื้นฐาน, Limited Mirroring | 50,000 บาท |
จากตารางจะเห็นว่า Zyxel XGS1930 ให้ประสิทธิภาพดีในราคาเหมาะสม ส่วน HPE OfficeConnect แม้ราคาสูงกว่าแต่ได้ฟีเจอร์ครบกว่า สำหรับงบจำกัด Ubiquiti USW-24-POE ก็ใช้งานได้ดีครับ สำหรับองค์กรที่ต้องการการวิเคราะห์ขั้นสูง Cisco Catalyst จะให้ฟีเจอร์ SPAN ที่ครบถ้วนที่สุด
วิธีเลือกซื้อ วิธีใช้ Wireshark วิเคราะห์ปัญหา Network ให้ตรงกับการใช้งานจริง
เรื่องการเลือกซื้อ ผมแบ่งตามขนาดธุรกิจให้เลยครับ เพราะแต่ละขนาดความต้องการต่างกัน
ร้านเล็ก / Home Office (1-5 คน)
งบ: 4,000-11,000 บาท — ซื้อรุ่น Entry-level มีฟีเจอร์พื้นฐานครบก็พอ อย่าซื้อถูกเกินไปจากแหล่งไม่น่าเชื่อถือ ข้อมูลหายมีค่ามากกว่าอุปกรณ์ อาจเริ่มจากสวิตช์ Unmanaged และใช้ Wireshark ดักจับจากคอมพิวเตอร์เครื่องเดียวเพื่อแก้ปัญหาเบื้องต้นได้
SME / ออฟฟิศ (10-50 คน)
งบ: 13,000-28,000 บาท — ควรลงทุนรุ่นที่ตั้งค่าได้ (Managed หรือ Web Smart) มี Warranty 3 ปีขึ้นไป และที่สำคัญต้องมีฟีเจอร์ Port Mirroring เพื่อให้ Wireshark ดักจับ Traffic จากเซิร์ฟเวอร์หรือลิงก์หลักได้ SME เติบโตเร็ว ซื้อเล็กเกินไปอีก 1-2 ปีก็ต้องเปลี่ยน ควรศึกษาการตั้งค่า VLAN เพื่อแบ่งแยก Traffic ก่อนวิเคราะห์จะง่ายขึ้น
องค์กรใหญ่ (50+ คน)
งบ: 30,000-167,000 บาท — ต้องใช้ระดับ Enterprise มี Redundancy มี Support 24/7 ระดับนี้ต้องมีคนดูแลระบบเต็มเวลา และควรมี Dedicated Network TAP (อุปกรณ์ฮาร์ดแวร์สำหรับดักจับ Traffic โดยเฉพาะ) หรือใช้ฟีเจอร์ Advanced SPAN/RSPAN ของสวิตช์ระดับองค์กรเพื่อส่ง Traffic ไปยังเครื่องวิเคราะห์เฉพาะ โดยไม่กระทบ Performance ของสวิตช์หลัก
ดูผลงานจริงและ Case Study การแก้ปัญหาเครือข่ายเชิงลึกได้ที่ Siam2R.com และสำหรับบทความเทคนิคและข่าวสารไอทีอัพเดท สามารถติดตามเพิ่มเติมได้ที่ SiamCafe.net
เคล็ดลับ: อย่าลืมคิดค่า License รายปี อุปกรณ์บางตัวราคาถูกแต่ค่า License แพง นอกจากนี้ พิจารณาซื้อ Network TAP แบบ Aggregation สำหรับการดักจับ Full-Duplex Traffic บนลิงก์สำคัญ เช่น หน้าฟีร์วอลล์หรือลิงก์เชื่อมต่ออินเทอร์เน็ต
วิธีติดตั้งและตั้งค่าเบื้องต้นสำหรับการวิเคราะห์ด้วย Wireshark
มาดูขั้นตอนการติดตั้งและเตรียมสภาพแวดล้อมสำหรับการใช้ Wireshark กันครับ
ขั้นตอนที่ 1: สำรวจและวางแผนจุดดักจับ
วาด Network Diagram กำหนดจุดที่ต้องการวิเคราะห์ Traffic เช่น หน้าอินเทอร์เน็ตเกตเวย์, ใกล้เซิร์ฟเวอร์, หรือระหว่าง VLAN วางแผนว่าจะใช้ Port Mirroring จากสวิตช์ หรือจะติดตั้ง Network TAP
ขั้นตอนที่ 2: เตรียมอุปกรณ์และซอฟต์แวร์
ติดตั้ง Wireshark (ดาวน์โหลดจาก wireshark.org) บนเครื่องที่ใช้วิเคราะห์ ซึ่งควรมี CPU, RAM และพื้นที่ดิสก์เพียงพอ โดยเฉพาะหากต้องดักจับ Traffic จำนวนมาก เตรียมสายเครือข่ายและตรวจสอบว่า Network Adapter ของเครื่องรองรับ Promiscuous Mode
ขั้นตอนที่ 3: ตั้งค่า Port Mirroring บนสวิตช์
เข้าสู่การตั้งค่าสวิตช์ (ผ่าน Web GUI หรือ CLI) หาฟีเจอร์ Port Mirroring, SPAN, หรือ Monitor Session กำหนด Source Port (พอร์ตที่ต้องการดักจับ Traffic) และ Destination Port (พอร์ตที่ต่อกับเครื่องที่ติดตั้ง Wireshark) บันทึกการตั้งค่า
ขั้นตอนที่ 4: เริ่มดักจับและใช้ฟิลเตอร์พื้นฐานใน Wireshark
เปิด Wireshark เลือกอินเทอร์เฟซที่ถูกต้อง (ซึ่งควรเห็น Traffic ไหลผ่าน) กด Start Capture ใช้ Display Filter เช่น ip.addr == 192.168.1.100 เพื่อดูเฉพาะ Traffic ของ IP นั้น, tcp.port == 80 เพื่อดู HTTP, หรือ dns เพื่อดู Query DNS
ขั้นตอนที่ 5: วิเคราะห์และตีความผล
เรียนรู้การอ่านแพ็กเก็ตใน 3 ส่วนหลัก: Packet List (รายการ), Packet Details (รายละเอียดโปรโตคอล), Packet Bytes (ข้อมูลดิบ) มองหาแพ็กเก็ตสีแดง (ข้อผิดพลาด), การ Retransmission ของ TCP, หรือ Response Time ที่สูงผิดปกติ
ขั้นตอนที่ 6: จัดทำเอกสารและรายงาน
บันทึกไฟล์ Capture (.pcapng) ไว้สำหรับอ้างอิง สรุปปัญหาที่พบ พร้อมหมายเลขแพ็กเก็ตและไทม์สแตมป์ สร้าง Flow Graph (Statistics > Flow Graph) เพื่อแสดงภาพการสื่อสาร จดบันทึกการตั้งค่า Mirroring และขั้นตอนแก้ไข
หมายเหตุ: แต่ละรุ่นแต่ละยี่ห้อมีรายละเอียดปลีกย่อยต่างกัน อ่าน Quick Start Guide ประกอบด้วยนะครับ และควรทดสอบในสภาพแวดล้อมที่ไม่ใช่ Production ก่อนเพื่อความชำนาญ
เทคนิคการวิเคราะห์ปัญหา Network แบบมืออาชีพด้วย Wireshark
การจะใช้ Wireshark ให้เกิดประสิทธิภาพสูงสุด ต้องรู้เทคนิคและรู้ว่าต้องมองหาอะไรเมื่อเกิดปัญหาแต่ละประเภท
1. วิเคราะห์ปัญหา Network ช้า (High Latency)
- ใช้ IO Graph (Statistics > IO Graph): ดูกราฟการใช้ bandwidth ว่ามีช่วงไหนพุ่งสูงผิดปกติหรือไม่
- ตรวจสอบ TCP Delta Time: เพิ่มคอลัมน์ “TCP Delta Time” หรือ “Time since previous frame in this TCP stream” เพื่อดูเวลาตอบสนองระหว่างแพ็กเก็ต ค่าสูงหมายถึงดีเลย์
- หา TCP Retransmission และ Duplicate ACK: ใช้ฟิลเตอร์ tcp.analysis.retransmission หรือ tcp.analysis.duplicate_ack สัญญาณเหล่านี้บ่งชี้ถึงการสูญเสียแพ็กเก็ตหรือเครือข่ายคับคั่ง
2. วิเคราะห์ปัญหาเชื่อมต่อไม่ได้ (Connection Failure)
- ติดตาม Three-Way Handshake: ดูว่าแพ็กเก็ต SYN, SYN-ACK, ACK ครบถ้วนหรือไม่ ถ้ามีแต่ SYN ซ้ำๆ โดยไม่มีตอบรับ แสดงว่า Firewall บล็อก, ปลายทางไม่เปิดพอร์ต, หรือมีปัญหา Routing
- ตรวจสอบข้อผิดพลาดจาก ARP หรือ DNS: ใช้ฟิลเตอร์ arp หรือ dns ดูว่ามีการตอบกลับหรือไม่ ถ้า DNS ไม่ตอบกลับ แอปพลิเคชันจะไม่สามารถ resolve ชื่อโดเมนได้
3. ตรวจหามัลแวร์หรือการโจมตี (Security Analysis)
- สแกนหา Traffic ที่ผิดปกติ: มองหา Connection จำนวนมากไปยังพอร์ตแปลกๆ, Traffic จากเครื่องภายในออกสู่อินเทอร์เน็ตปริมาณสูงผิดปกติ
- ใช้ฟิลเตอร์ตรวจสอบการสแกนพอร์ต: เช่น tcp.flags.syn==1 and tcp.flags.ack==0 เพื่อหาแพ็กเก็ต SYN ล้วนๆ จำนวนมาก
- ตรวจสอบ Traffic ที่ไม่เข้ารหัสบนพอร์ตสำคัญ: เช่น การส่ง Password แบบ Plain Text (ใช้ฟิลเตอร์ค้นหาคำว่า “password”, “login”)
4. วิเคราะห์ Performance ของแอปพลิเคชัน
- Follow TCP Stream: คลิกขวาที่แพ็กเก็ตใดๆ ใน Connection นั้นแล้วเลือก Follow > TCP Stream จะเห็นการสนทนาระหว่าง Client และ Server แบบเรียงลำดับ ช่วยดู Request/Response ของ HTTP, API Call ได้ชัดเจน
- ตรวจสอบ HTTP Response Time: ใช้ฟิลเตอร์ http.time หรือดูเวลาระหว่าง HTTP Request และ Response ที่ตรงกันใน Flow
สำหรับผู้ที่ต้องการศึกษาการวิเคราะห์ข้อมูลเชิงเทคนิคในด้านอื่นๆ เช่น การวิเคราะห์ตลาดการเงิน ก็สามารถหาความรู้เพิ่มเติมได้ที่ ICA Forex ซึ่งมีหลักการวิเคราะห์ข้อมูลที่ละเอียดและต้องใช้ความแม่นยำไม่ต่างกัน
FAQ: คำถามที่พบบ่อยเกี่ยวกับ Wireshark
Q1: ใช้ Wireshark ดักจับ Password คนอื่นได้ไหม?
A: ได้เฉพาะบน Traffic ที่ไม่เข้ารหัส (เช่น HTTP, FTP แบบไม่ใช้ SSL) แต่การทำเช่นนั้นในเครือข่ายองค์กรโดยไม่ได้รับอนุญาตเป็นการละเมิดนโยบายและกฎหมายอย่างร้ายแรง Wireshark เป็นเครื่องมือสำหรับการแก้ปัญหา ไม่ใช่การสอดแนม
Q2: ทำไมดักจับแล้วไม่เห็น Traffic จากเครื่องอื่นในเครือข่าย?
A: นี่เป็นพฤติกรรมปกติของสวิตช์ (Switch) ที่ส่งแพ็กเก็ตเฉพาะไปยังพอร์ตปลายทาง (Unicast Traffic) คุณต้องเปิดใช้ Port Mirroring บนสวิตช์ Managed หรือใช้ Hub (ซึ่งหายากแล้ว) เพื่อเห็น Traffic ทั้งหมด
Q3: Capture File ใหญ่เกินไป จัดการอย่างไร?
A: ใช้ Capture Options ใน Wireshark ตั้งค่า “Capture File(s)” ให้แบ่งไฟล์ออกเป็นหลายๆ ไฟล์ตามขนาด (เช่น ทุก 100 MB) หรือตามเวลา และใช้ “Capture Filter” (ต่างจาก Display Filter) กรองเฉพาะ Traffic ที่ต้องการดักจับตั้งแต่แรก เช่น host 192.168.1.1 เพื่อดักจับเฉพาะ Traffic ที่เกี่ยวข้องกับ IP นั้น
Q4: แยกแยะระหว่างปัญหาเครือข่ายกับปัญหาแอปพลิเคชันได้อย่างไร?
A: Wireshark ช่วยได้มาก หากการเชื่อมต่อระดับ TCP/IP สำเร็จ (Handshake ครบ, ข้อมูลส่งได้) แต่แอปพลิเคชันยังผิดพลาด (เช่น HTTP 500 error) ปัญหาอยู่ที่เซิร์ฟเวอร์หรือแอปพลิเคชัน แต่ถ้า TCP Connection ล้มเหลว มี Retransmission สูง ปัญหาอยู่ที่เครือข่าย
Q5: ควรเริ่มฝึกใช้ Wireshark จากจุดไหน?
A: เริ่มจากดักจับ Traffic จากเครื่องตัวเองก่อน เปิดเบราว์เซอร์เข้าเว็บไซต์แล้วดู Capture เรียนรู้โครงสร้างของแพ็กเก็ต TCP, HTTP จากนั้นค่อยลองตั้งค่า Port Mirroring และวิเคราะห์ปัญหาใน Lab Network จริง
สรุป
การเรียนรู้ วิธีใช้ Wireshark วิเคราะห์ปัญหา Network เป็นทักษะที่ทรงคุณค่าอย่างยิ่งสำหรับทุกคนที่ทำงานด้านไอทีและเครือข่าย มันเปลี่ยนการแก้ปัญหาจากการ “คาดเดา” เป็นการ “วินิจฉัย” อย่างมีหลักการ แม้ในขั้นเริ่มต้นอาจดูซับซ้อน แต่เมื่อเข้าใจพื้นฐานและฝึกฝนบ่อยๆ คุณจะพบว่า Wireshark เป็นเพื่อนคู่ใจที่ช่วยเปิดเผยความลับทุกอย่างที่เกิดขึ้นบนเครือข่ายได้อย่างไม่น่าเชื่อ เริ่มจากอุปกรณ์พื้นฐานที่รองรับ Port Mirroring ฝึกใช้ฟิลเตอร์ และวิเคราะห์ทีละเลเยอร์จาก Physical ขึ้นไปจนถึง Application คุณจะกลายเป็นหมอระบบเครือข่ายที่สามารถรักษาได้ตรงจุดและรวดเร็วขึ้นอย่างแน่นอน