Wireshark ขั้นสูง สอน Display Filter, Follow Stream และวิเคราะห์ Protocol เจาะลึก 2026

ทำไม Wireshark ถึงเป็นเครื่องมือที่ขาดไม่ได้สำหรับ Network Engineer

ถ้าจะพูดถึงเครื่องมือที่ Network Engineer ทุกคนต้องเชี่ยวชาญ Wireshark ต้องเป็นอันดับหนึ่งอย่างแน่นอน Wireshark เป็น Open-source Packet Analyzer ที่ทรงพลังที่สุดในโลก ใช้งานกันทั้งในวงการ สอนเน็ตเวิร์ค ระดับมหาวิทยาลัย การเตรียมสอบ CCNA สอบ CCNP และการทำงานจริงในองค์กรระดับ Enterprise ไม่ว่าคุณจะเป็น network engineer ไทย ที่ทำงานใน Data Center หรือ System Admin ที่ดูแลระบบ Network ขององค์กร Wireshark คือเครื่องมือที่จะช่วยให้คุณมองเห็นทุกสิ่งที่เกิดขึ้นบน Network ได้อย่างแท้จริง

หลายคนเคยใช้ Wireshark ในระดับพื้นฐาน เช่น เปิดโปรแกรมมาแล้ว Capture Packet ดูว่ามี Traffic อะไรวิ่งอยู่บ้าง แต่ Wireshark มีความสามารถที่มากกว่านั้นอีกมหาศาล ในบทความนี้เราจะลงลึกไปในฟีเจอร์ขั้นสูงที่จะเปลี่ยนวิธีการ Troubleshoot Network ของคุณไปตลอด ไม่ว่าจะเป็น Advanced Display Filter, Follow Stream, Conversation Statistics, IO Graphs, Expert Info, TLS Decryption, VoIP Analysis และอีกมากมาย

สำหรับคนที่กำลังเตรียมตัวสำหรับ CCNA สอบ หรือ CCNP Security การเข้าใจ Wireshark ในระดับลึกจะช่วยให้คุณเข้าใจ Protocol ต่างๆ ได้ดีขึ้นมาก เพราะคุณจะเห็นว่า TCP Handshake ทำงานอย่างไรในระดับ Packet, DNS Query เป็นอย่างไร, HTTP Request มี Header อะไรบ้าง และ TLS Handshake มีขั้นตอนอย่างไร ซึ่งเป็นความรู้ที่หาไม่ได้จากการอ่านหนังสืออย่างเดียว

Advanced Display Filters: กรอง Packet อย่างมือโปร

Display Filter คือหัวใจของการใช้ Wireshark อย่างมีประสิทธิภาพ เมื่อคุณ Capture Traffic จาก Network ที่มี Bandwidth สูง คุณอาจได้ Packet หลายล้านตัวในเวลาไม่กี่นาที ถ้าไม่มี Display Filter ที่ดี การหาสิ่งที่ต้องการก็เหมือนกับการหาเข็มในมหาสมุทร Display Filter ช่วยให้คุณกรองเฉพาะ Packet ที่สนใจออกมาดู โดยไม่ส่งผลกระทบต่อ Capture File ดั้งเดิม

เริ่มจาก Basic Filter ที่ทุกคนควรรู้ ip.addr == 192.168.1.1 จะแสดงเฉพาะ Packet ที่มี IP Address นี้เป็น Source หรือ Destination ถ้าต้องการเฉพาะ Source ใช้ ip.src == 192.168.1.1 หรือเฉพาะ Destination ใช้ ip.dst == 192.168.1.1 สำหรับการกรองตาม Protocol สามารถพิมพ์ชื่อ Protocol ได้เลย เช่น tcp, udp, dns, http, arp, icmp, dhcp, tls จะแสดงเฉพาะ Packet ของ Protocol นั้น

Compound Expression คือการรวม Filter หลายตัวเข้าด้วยกัน ใช้ Logical Operator ได้แก่ and (&&), or (||) และ not (!) ตัวอย่างเช่น ip.addr == 10.0.0.1 and tcp.port == 443 จะแสดงเฉพาะ HTTPS Traffic ที่เกี่ยวข้องกับ IP นั้น หรือ dns or dhcp จะแสดงทั้ง DNS และ DHCP Packet ถ้าต้องการ Exclude บาง Traffic ใช้ not arp and not icmp จะซ่อน ARP และ ICMP ออกไป ทำให้เห็น Traffic ที่สำคัญกว่า

Filter แบบ Comparison Operator มีให้ใช้หลายแบบ ได้แก่ eq (==), ne (!=), gt (>), lt (<), ge (>=), le (<=) ตัวอย่างที่ใช้บ่อย frame.len > 1500 จะแสดง Jumbo Frame, tcp.window_size < 1000 จะแสดง Packet ที่มี Window Size ต่ำ ซึ่งอาจบ่งบอกถึงปัญหา Congestion, tcp.analysis.retransmission จะแสดงเฉพาะ Retransmitted Packet ซึ่งบ่งบอกถึงปัญหา Packet Loss

Regex Filter เป็นฟีเจอร์ที่ทรงพลังมาก สามารถใช้ Regular Expression ในการค้นหา Packet ที่มี Content ตรงตามรูปแบบที่กำหนด ใช้ Syntax matches หรือ ~ ตัวอย่างเช่น http.host matches “.*\.google\.com$” จะแสดง HTTP Request ที่ไปยัง Google Subdomain ทั้งหมด หรือ frame matches “(?i)password” จะค้นหาคำว่า password ใน Packet ทุกตัวแบบ Case-insensitive ซึ่งมีประโยชน์มากสำหรับ Security Auditing

Field Exists Filter ใช้ตรวจสอบว่า Packet มี Field นั้นหรือไม่ เช่น http.request จะแสดงเฉพาะ HTTP Request (ไม่รวม Response), tcp.options.mss จะแสดง Packet ที่มี MSS Option (ซึ่งปกติจะอยู่ใน SYN Packet), ssl.handshake จะแสดงเฉพาะ TLS Handshake Packet ฟิลเตอร์ประเภทนี้มีประโยชน์มากเมื่อต้องการเห็นเฉพาะ Packet ที่มี Characteristic เฉพาะ

สำหรับการ Filter ตาม Subnet สามารถใช้ CIDR Notation ได้โดยตรง เช่น ip.addr == 192.168.0.0/16 จะแสดงทุก Packet ที่อยู่ใน Network 192.168.0.0/16 หรือใช้ ip.addr in {10.0.0.1 10.0.0.2 10.0.0.3} เพื่อกรอง IP หลายตัวพร้อมกัน ซึ่งสะดวกกว่าการใช้ or หลายตัว

Follow Stream: ติดตามการสนทนาของ Protocol แบบต่อเนื่อง

Follow Stream เป็นฟีเจอร์ที่สำคัญที่สุดอย่างหนึ่งของ Wireshark สำหรับการวิเคราะห์ Application-layer Protocol เมื่อคุณดู Packet ทีละตัว คุณจะเห็นแค่ Fragment ของข้อมูล แต่เมื่อใช้ Follow Stream Wireshark จะรวบรวม Packet ทั้งหมดที่เป็นของ Conversation เดียวกันมาแสดงผลเป็น Stream เดียว ทำให้เห็นข้อมูลทั้งหมดที่ส่งไปมาระหว่าง Client กับ Server

TCP Stream ใช้สำหรับติดตาม TCP Connection ตัวใดตัวหนึ่ง เมื่อคลิกขวาที่ Packet แล้วเลือก Follow → TCP Stream จะเห็นข้อมูลทั้งหมดที่ส่งผ่าน Connection นี้ สีแดงแสดงข้อมูลจาก Client ไป Server สีน้ำเงินแสดงข้อมูลจาก Server กลับมายัง Client ตัวอย่างเช่น ถ้า Follow TCP Stream ของ HTTP Connection จะเห็น HTTP Request (แดง) และ HTTP Response (น้ำเงิน) แบบเต็มๆ รวมถึง Header ทุกตัว

UDP Stream ทำงานคล้ายกันแต่สำหรับ UDP Protocol เช่น DNS Query และ Response, TFTP Transfer, SIP Signaling มีประโยชน์มากเมื่อต้องการดูว่า DNS Query ถามอะไร และ DNS Server ตอบอะไรกลับมา โดยไม่ต้องไล่ดู Packet ทีละตัว

HTTP Stream เป็น Feature พิเศษของ Wireshark ที่จะ Decompress HTTP Content ที่ถูก Encode ด้วย gzip หรือ deflate ให้อัตโนมัติ ทำให้เห็น HTML, JSON หรือ XML ที่ Server ส่งกลับมาในรูปแบบที่อ่านได้ สำหรับ HTTPS Traffic ที่ถูก Encrypt จะต้องมี Decryption Key จึงจะ Follow Stream ได้ ซึ่งจะอธิบายในหัวข้อ TLS Decryption

เทคนิคที่สำคัญคือการใช้ Stream Index ในการ Filter หลังจาก Follow Stream แล้ว Wireshark จะแสดง Stream Index ที่มุมล่าง สามารถใช้ Filter tcp.stream eq 5 เพื่อแสดงเฉพาะ Stream หมายเลข 5 หรือเปลี่ยนหมายเลขเพื่อดู Stream อื่น ซึ่งสะดวกมากเมื่อต้องการเปรียบเทียบหลาย Connection

HTTP Object Export: ดึงไฟล์ออกจาก Capture

HTTP Object Export เป็นฟีเจอร์ที่น่าทึ่งของ Wireshark ที่ช่วยให้คุณ Extract ไฟล์ที่ถูก Transfer ผ่าน HTTP ออกมาจาก Capture File ได้ ไม่ว่าจะเป็นรูปภาพ, ไฟล์ JavaScript, CSS, HTML, PDF, ZIP หรือไฟล์อื่นๆ ใช้ผ่านเมนู File → Export Objects → HTTP จะเห็น List ของ Object ทั้งหมดที่อยู่ใน Capture

แต่ละ Object จะแสดงข้อมูล Packet number, Hostname, Content Type, Size และ Filename สามารถ Save ทีละไฟล์หรือ Save All ทุกไฟล์พร้อมกัน ฟีเจอร์นี้มีประโยชน์อย่างมากสำหรับ Incident Response เช่น เมื่อสงสัยว่ามี Malware Download ผ่าน HTTP สามารถ Extract ไฟล์ออกมาเพื่อวิเคราะห์ได้ทันที

นอกจาก HTTP แล้ว Wireshark ยังรองรับ Export Objects จาก Protocol อื่นด้วย ได้แก่ DICOM (ไฟล์ทางการแพทย์), IMF (Internet Message Format สำหรับ Email), SMB (ไฟล์ที่ Transfer ผ่าน Windows File Sharing), TFTP (ไฟล์ที่ Transfer ผ่าน TFTP) ฟีเจอร์เหล่านี้ทำให้ Wireshark เป็นเครื่องมือที่ขาดไม่ได้สำหรับ Digital Forensics

Conversation Statistics และ Endpoints: ดูภาพรวมของ Traffic

เมื่อเปิด Capture File ขนาดใหญ่ สิ่งแรกที่ควรทำคือดู Statistics เพื่อเข้าใจภาพรวมของ Traffic ก่อน Wireshark มีเครื่องมือ Statistics หลายตัวที่ช่วยให้คุณเข้าใจ Traffic ได้อย่างรวดเร็ว โดยไม่ต้องไล่ดู Packet ทีละตัว

Statistics → Conversations จะแสดง List ของ Conversation ทั้งหมดที่อยู่ใน Capture แบ่งตาม Layer ได้แก่ Ethernet, IPv4, IPv6, TCP และ UDP แต่ละ Conversation จะแสดงข้อมูล Address A, Address B, Packets A→B, Packets B→A, Bytes A→B, Bytes B→A, Duration สามารถ Sort ตาม Column ต่างๆ เพื่อหา Conversation ที่ใช้ Bandwidth สูงสุด, Connection ที่นานที่สุด หรือ Conversation ที่มี Packet มากที่สุด

เทคนิคที่มีประโยชน์คือการคลิกขวาที่ Conversation แล้วเลือก Apply as Filter ซึ่งจะสร้าง Display Filter อัตโนมัติสำหรับ Conversation นั้น ทำให้สามารถ Drill down ไปดู Packet ของ Conversation ที่สนใจได้ทันที ไม่ต้องเสียเวลาพิมพ์ Filter เอง

Statistics → Endpoints แสดง List ของ Host ทั้งหมดที่ปรากฏใน Capture พร้อมข้อมูล Packet Count และ Byte Count สามารถใช้หา Top Talker ได้อย่างรวดเร็ว ใน Tab IPv4 สามารถ Resolve IP Address เป็น Hostname ได้โดยติ๊ก Name Resolution ช่วยให้เข้าใจว่า Traffic ไปยัง Server หรือ Service ใดมากที่สุด

Statistics → Protocol Hierarchy แสดง Tree View ของ Protocol ทั้งหมดที่อยู่ใน Capture พร้อม Percentage ของแต่ละ Protocol ทำให้เห็นภาพรวมว่า Traffic ส่วนใหญ่เป็น Protocol อะไร ตัวอย่างเช่น อาจเห็นว่า 60% เป็น TLS (HTTPS), 15% เป็น DNS, 10% เป็น HTTP, 5% เป็น SMB ถ้าเห็น Protocol ที่ไม่คาดคิดในสัดส่วนสูง อาจเป็นสัญญาณของปัญหา Security

IO Graphs: วิเคราะห์ Traffic Pattern ด้วยกราฟ

IO Graphs เป็นเครื่องมือที่ทรงพลังสำหรับการวิเคราะห์ Traffic Pattern ตาม Timeline เข้าถึงได้ผ่าน Statistics → I/O Graphs จะแสดง Graph ของ Packet Rate หรือ Byte Rate ตามเวลา ซึ่งช่วยให้เห็น Traffic Pattern ที่ไม่สามารถเห็นได้จากการดู Packet ทีละตัว

สามารถเพิ่ม Graph หลายเส้นบน Chart เดียวกันได้ โดยแต่ละเส้นใช้ Display Filter ที่ต่างกัน ตัวอย่างเช่น สร้างเส้นหนึ่งสำหรับ HTTP Traffic อีกเส้นสำหรับ DNS Traffic และอีกเส้นสำหรับ TCP Retransmission ทำให้เห็น Correlation ระหว่าง Traffic ประเภทต่างๆ ได้ เช่น อาจเห็นว่า Retransmission เพิ่มขึ้นพร้อมกับ HTTP Traffic ที่สูง ซึ่งบ่งบอกว่า Network อาจ Congested

Y Axis สามารถเลือกได้หลายแบบ ได้แก่ Packets/s (จำนวน Packet ต่อวินาที), Bytes/s (จำนวน Byte ต่อวินาที), Bits/s (Bandwidth), SUM, COUNT, MAX, MIN, AVG ของ Field ที่กำหนด ตัวอย่างเช่น ใช้ Y Axis เป็น AVG ของ tcp.analysis.ack_rtt จะเห็น Average Round Trip Time ตาม Timeline ซึ่งช่วยในการวิเคราะห์ Latency

Interval สามารถปรับได้ตั้งแต่ 1ms ไปจนถึง 10 วินาที การเลือก Interval ที่เหมาะสมขึ้นอยู่กับ Duration ของ Capture ถ้า Capture สั้นๆ ไม่กี่วินาที ใช้ Interval เล็กๆ เช่น 10ms จะเห็น Micro-burst ได้ ถ้า Capture ยาวหลายชั่วโมง ใช้ Interval ใหญ่ๆ เช่น 10 วินาที จะเห็น Trend ได้ชัดเจน

Expert Info: ให้ Wireshark ช่วยวิเคราะห์ปัญหา

Expert Info เป็นฟีเจอร์ที่ Wireshark จะวิเคราะห์ Capture File และแจ้งเตือนเมื่อพบสิ่งผิดปกติหรือน่าสนใจ เข้าถึงได้ผ่าน Analyze → Expert Information จะแสดง List ของ Event ที่ Wireshark ตรวจพบ แบ่งเป็น 4 ระดับ ได้แก่ Error (สีแดง), Warning (สีเหลือง), Note (สีฟ้า) และ Chat (สีเขียว)

Error Level แสดงปัญหาร้ายแรงเช่น Malformed Packet ที่ไม่ตรงตาม Protocol Specification, Checksum Error ที่อาจบ่งบอกถึง Data Corruption, Reassembly Error ที่ไม่สามารถรวม Fragment ได้ Warning Level แสดงปัญหาที่อาจส่งผลกระทบต่อ Performance เช่น TCP Retransmission, TCP Duplicate ACK, TCP Window Full, TCP Zero Window ซึ่งเป็นสิ่งที่ต้องตรวจสอบเพิ่มเติม

Note Level แสดงข้อมูลที่น่าสนใจเช่น TCP Keep-Alive, HTTP Redirect, DNS Query Response ที่มี Error Code Chat Level แสดงข้อมูลทั่วไปเช่น TCP Connection Establishment (SYN), TCP Connection Termination (FIN), Window Size Update

เทคนิคที่ดีคือเปิด Expert Info ทุกครั้งที่เปิด Capture File ใหม่ มันจะช่วยชี้ไปยังปัญหาที่อาจมองข้ามได้ ตัวอย่างเช่น ถ้าเห็น TCP Retransmission จำนวนมาก อาจบ่งบอกถึงปัญหา Packet Loss ที่ Link Layer ถ้าเห็น TCP Zero Window อาจบ่งบอกว่า Application ที่ฝั่ง Receiver ประมวลผลข้อมูลไม่ทัน ทำให้ Buffer เต็ม

TLS Decryption ด้วย SSLKEYLOGFILE: ถอดรหัส HTTPS ได้

ปัญหาใหญ่ของการวิเคราะห์ Network ในปัจจุบันคือ Traffic ส่วนใหญ่ถูก Encrypt ด้วย TLS (HTTPS) ทำให้ Wireshark เห็นแค่ TLS Record แต่ไม่สามารถดู Content ข้างในได้ แต่มีวิธีที่ถูกต้องตามกฎหมายในการ Decrypt TLS Traffic สำหรับการ Debug คือการใช้ SSLKEYLOGFILE

SSLKEYLOGFILE เป็น Environment Variable ที่บอก Browser (Chrome, Firefox) ให้เขียน Session Key ลงไฟล์ ขั้นตอนการตั้งค่าบน Windows คือ ตั้ง Environment Variable SSLKEYLOGFILE ให้ชี้ไปยังไฟล์ เช่น C:/Users/Username/sslkeys.log จากนั้น Restart Browser เมื่อ Browse เว็บ Browser จะเขียน Key ลงไฟล์นี้

ใน Wireshark ไปที่ Edit → Preferences → Protocols → TLS ตั้งค่า (Pre)-Master-Secret log filename ให้ชี้ไปยังไฟล์ SSLKEYLOGFILE เดียวกัน หลังจากนั้น Wireshark จะสามารถ Decrypt TLS Traffic ที่ Capture ได้ จะเห็น HTTP/2 Request และ Response ในรูปแบบ Plaintext สามารถ Follow HTTP/2 Stream และ Export HTTP Objects ได้เหมือน HTTP ปกติ

ข้อควรระวังคือ SSLKEYLOGFILE มีข้อมูลที่ Sensitive มาก ใครที่มีไฟล์นี้สามารถ Decrypt Traffic ของ Session นั้นได้ทั้งหมด ดังนั้นต้องเก็บรักษาอย่างดี ลบเมื่อไม่ใช้แล้ว และไม่ควรเปิดใช้บน Production Machine หรือ Machine ที่ใช้งานจริง ควรใช้เฉพาะบน Lab Machine หรือ Development Environment เท่านั้น

วิธีนี้ใช้งานได้กับ TLS 1.2 และ TLS 1.3 ทั้งคู่ แม้ว่า TLS 1.3 จะใช้ Ephemeral Key Exchange เท่านั้น (ไม่สามารถใช้ RSA Private Key Decrypt ได้) แต่ SSLKEYLOGFILE จะเก็บ Per-session Key ทำให้ Decrypt ได้ นี่เป็นวิธีเดียวที่แนะนำสำหรับ Decrypt TLS 1.3

VoIP Analysis: วิเคราะห์ SIP และ RTP อย่างละเอียด

Wireshark มีเครื่องมือพิเศษสำหรับวิเคราะห์ VoIP Traffic ซึ่งมีประโยชน์มากสำหรับการ Troubleshoot ปัญหาคุณภาพเสียง เช่น เสียงขาดหาย เสียงหน่วง หรือสายหลุด VoIP ใช้ Protocol หลักสองตัว คือ SIP (Session Initiation Protocol) สำหรับ Signaling และ RTP (Real-time Transport Protocol) สำหรับ Media

เข้าถึงเครื่องมือ VoIP ได้ผ่าน Telephony → VoIP Calls จะแสดง List ของ VoIP Call ทั้งหมดที่อยู่ใน Capture พร้อมข้อมูล Start Time, Stop Time, From, To, Protocol, Packets, State สามารถเลือก Call แล้วคลิก Flow Sequence เพื่อดู Call Flow Diagram ที่แสดง SIP Message (INVITE, 100 Trying, 180 Ringing, 200 OK, ACK, BYE) ตามลำดับเวลา

สำหรับการวิเคราะห์คุณภาพเสียง ใช้ Telephony → RTP → RTP Streams จะแสดง RTP Stream ทั้งหมด พร้อมข้อมูล Jitter, Packet Loss, Max Delta ซึ่งเป็นตัวชี้วัดคุณภาพเสียง ค่า Jitter ที่สูงกว่า 30ms หรือ Packet Loss ที่สูงกว่า 1% จะส่งผลกระทบต่อคุณภาพเสียงอย่างชัดเจน

ฟีเจอร์ที่น่าทึ่งคือ Wireshark สามารถ Play Back เสียงจาก RTP Stream ได้โดยตรง เลือก RTP Stream แล้วคลิก Play Streams จะได้ยินเสียงสนทนาจริงๆ (ถ้าใช้ Codec ที่ Wireshark รองรับ เช่น G.711) ฟีเจอร์นี้มีประโยชน์มากเมื่อ User บ่นว่าเสียงไม่ชัด คุณสามารถ Capture Packet แล้ว Play Back เพื่อยืนยันปัญหาได้

DNS Analysis Patterns: ตรวจจับปัญหาและภัยคุกคาม

DNS เป็น Protocol ที่สำคัญมากเพราะเกือบทุก Connection เริ่มต้นจาก DNS Query ปัญหาของ DNS สามารถส่งผลกระทบต่อ Application ทุกตัวในองค์กร Wireshark ช่วยให้วิเคราะห์ DNS Traffic ได้อย่างละเอียด ทั้งในแง่ Performance และ Security

เริ่มจากการวิเคราะห์ DNS Response Time ใช้ Filter dns.time > 0.5 จะแสดง DNS Query ที่ใช้เวลาตอบนานกว่า 500ms ซึ่งถือว่าช้ามาก DNS Query ปกติควรตอบภายใน 50ms ถ้าเห็น Response Time สูงเป็นวินาที อาจเกิดจาก DNS Server Overloaded, Network Latency สูง หรือ DNS Server ต้อง Forward Query ไปยัง Server อื่น

DNS Error สามารถดูได้จาก Filter dns.flags.rcode != 0 ซึ่งจะแสดง DNS Response ที่มี Error Code ที่พบบ่อยคือ NXDOMAIN (Name does not exist) ซึ่งอาจเกิดจาก Typo ใน URL หรือ Domain ที่ถูกลบไปแล้ว, SERVFAIL (Server failure) ซึ่งอาจเกิดจาก DNS Server มีปัญหา และ REFUSED ซึ่งอาจเกิดจาก DNS Server ปฏิเสธ Query จาก Client

สำหรับ Security Analysis DNS เป็น Protocol ที่ Malware มักใช้สำหรับ Command and Control (C2) Communication เพราะ DNS Traffic มักถูกอนุญาตผ่าน Firewall Pattern ที่ควรสังเกตได้แก่ DNS Query สำหรับ Domain ที่ยาวผิดปกติ (อาจเป็น DNS Tunneling), DNS Query จำนวนมากไปยัง Domain เดียวกันในเวลาสั้นๆ (อาจเป็น DGA Malware), DNS Query สำหรับ TXT Record ที่มี Data ขนาดใหญ่ (อาจเป็น DNS Exfiltration)

ใช้ Filter dns.qry.name contains “.” and frame.len > 200 เพื่อหา DNS Query ที่มีขนาดใหญ่ผิดปกติ หรือ dns.qry.type == 16 เพื่อดู TXT Record Query ทั้งหมด ถ้าพบ TXT Record ที่มี Response ขนาดใหญ่ผิดปกติ ควรตรวจสอบเพิ่มเติม

ARP Analysis: ตรวจจับ ARP Spoofing

ARP (Address Resolution Protocol) เป็น Protocol ที่ใช้ Map IP Address กับ MAC Address ใน Layer 2 Network ARP ไม่มี Authentication ทำให้ง่ายต่อการโจมตีแบบ ARP Spoofing ซึ่ง Attacker สามารถส่ง ARP Reply ปลอมเพื่อเปลี่ยน ARP Cache ของ Victim ทำให้ Traffic ถูก Redirect ไปยัง Attacker แทน

Wireshark มี Expert Info ที่ตรวจจับ ARP Anomaly อัตโนมัติ เช่น Duplicate IP address detected (พบว่า IP Address เดียวกันมี MAC Address ต่างกัน ซึ่งเป็นสัญญาณของ ARP Spoofing), ARP request storm (พบ ARP Request จำนวนมากในเวลาสั้น ซึ่งอาจเป็น ARP Scanning)

สำหรับการตรวจจับ ARP Spoofing ด้วย Display Filter ใช้ arp.duplicate-address-detected เพื่อดู Packet ที่ Wireshark ตรวจพบว่ามี Duplicate Address หรือใช้ arp.opcode == 2 เพื่อดู ARP Reply ทั้งหมด แล้วตรวจสอบว่ามี MAC Address ที่ไม่คุ้นเคย Claim IP Address ของ Gateway หรือ Server สำคัญหรือไม่

วิธีป้องกัน ARP Spoofing ที่ Network Engineer ควรรู้ ได้แก่ Dynamic ARP Inspection (DAI) บน Managed Switch, Static ARP Entry สำหรับ Critical Server, 802.1X Port-based Authentication และ Private VLAN ซึ่ง Wireshark ช่วยให้คุณ Verify ว่ามาตรการเหล่านี้ทำงานได้ผลจริงหรือไม่

Custom Columns: ปรับแต่ง Wireshark ให้ตรงกับงาน

Default Column ของ Wireshark แสดง No., Time, Source, Destination, Protocol, Length, Info ซึ่งเพียงพอสำหรับการใช้งานทั่วไป แต่สำหรับการ Troubleshoot เฉพาะทาง การเพิ่ม Custom Column จะช่วยให้เห็นข้อมูลที่ต้องการได้ทันทีโดยไม่ต้องเปิดดู Packet Detail

การเพิ่ม Custom Column ทำได้สองวิธี วิธีแรกคือคลิกขวาที่ Field ใน Packet Detail Pane แล้วเลือก Apply as Column วิธีที่สองคือไปที่ Edit → Preferences → Appearance → Columns แล้วเพิ่ม Column ใหม่โดยระบุ Title และ Field Name

Custom Column ที่แนะนำสำหรับ Network Troubleshooting ได้แก่ tcp.analysis.ack_rtt สำหรับดู Round Trip Time ของแต่ละ Packet, tcp.window_size_value สำหรับดู TCP Window Size, http.host สำหรับดู HTTP Hostname, tls.handshake.extensions_server_name สำหรับดู SNI (Server Name Indication) ใน TLS, dns.qry.name สำหรับดู DNS Query Name

สำหรับ Security Analysis แนะนำเพิ่ม Column สำหรับ tls.handshake.version เพื่อดู TLS Version, http.user_agent เพื่อดู User Agent, ip.ttl เพื่อดู TTL ซึ่งช่วยตรวจจับ TTL Anomaly, tcp.flags เพื่อดู TCP Flags ในรูปแบบ Hex

Display Filter Macros: สร้าง Shortcut สำหรับ Filter ที่ใช้บ่อย

ถ้าคุณใช้ Display Filter ที่ซับซ้อนบ่อยๆ การพิมพ์ซ้ำทุกครั้งจะเสียเวลา Display Filter Macros ช่วยให้คุณสร้าง Shortcut สำหรับ Filter ที่ใช้บ่อยได้ ตั้งค่าได้ผ่าน Analyze → Display Filter Macros

ตัวอย่าง Macro ที่มีประโยชน์ สร้าง Macro ชื่อ slow_dns ด้วย Filter dns.time > 0.5 เมื่อต้องการใช้ก็พิมพ์ ${slow_dns} ใน Display Filter Bar สร้าง Macro ชื่อ retrans ด้วย Filter tcp.analysis.retransmission or tcp.analysis.fast_retransmission หรือสร้าง Macro ที่รับ Parameter เช่น Macro ชื่อ host ด้วย Filter ip.addr == $1 เมื่อใช้ก็พิมพ์ ${host:192.168.1.1}

Macro ช่วยลดเวลาในการพิมพ์ Filter และลดโอกาสผิดพลาด โดยเฉพาะ Filter ที่ยาวและซับซ้อน นอกจากนี้ยังช่วยให้ทีมใช้ Filter เดียวกันได้โดยการ Share Macro File

Wireshark Profiles: สลับ Configuration ตามประเภทงาน

Wireshark Profile เป็นฟีเจอร์ที่ช่วยให้คุณสร้าง Configuration หลายชุด แล้วสลับไปมาได้อย่างรวดเร็วตามประเภทของงาน แต่ละ Profile จะเก็บ Custom Column, Color Rules, Display Filter Buttons, Preferences และ Macro แยกกัน ทำให้คุณมี Wireshark หลาย Layout ในโปรแกรมเดียว

แนะนำให้สร้าง Profile อย่างน้อย 3 ชุด ชุดแรก Security Profile สำหรับงาน Security Analysis มี Custom Column สำหรับ TLS Version, User Agent, TTL, DNS Query Name มี Color Rule ที่ Highlight Suspicious Traffic เช่น Clear-text Password, Known Malware Port ชุดที่สอง VoIP Profile สำหรับ Troubleshoot VoIP มี Column สำหรับ SIP Method, RTP SSRC, Jitter, Packet Loss มี Filter Button สำหรับ SIP, RTP, RTCP

ชุดที่สาม Web Debug Profile สำหรับ Debug Web Application มี Column สำหรับ HTTP Host, HTTP Method, HTTP Status Code, Response Time, Content Type มี Filter Button สำหรับ HTTP, TLS, DNS, TCP Error สร้าง Profile ใหม่ได้ผ่าน Edit → Configuration Profiles หรือคลิกขวาที่ Profile Name ที่มุมล่างขวาของ Wireshark

สามารถ Export Profile เพื่อ Share กับทีมได้ โดยไปที่โฟลเดอร์ Configuration ของ Wireshark (Help → About Wireshark → Folders → Personal Configuration) แล้ว Copy โฟลเดอร์ Profile ไปให้คนอื่น

tshark: Wireshark บน Command Line สำหรับ Automation

tshark เป็น Command Line Version ของ Wireshark ที่มีความสามารถเกือบทั้งหมดของ Wireshark GUI แต่ทำงานบน Terminal ทำให้สามารถใช้ใน Script, Cron Job, Pipeline หรือ Remote Server ที่ไม่มี GUI ได้ สำหรับ network engineer ไทย ที่ต้อง ติดตั้ง server หรือ Monitor Network บน Linux Server tshark เป็นเครื่องมือที่ขาดไม่ได้

One-liner ที่ใช้บ่อยสำหรับ tshark มีดังนี้ Capture 1000 Packet บน Interface eth0 ใช้ tshark -i eth0 -c 1000 -w capture.pcap จะ Capture แล้วบันทึกลงไฟล์ สำหรับ Capture เฉพาะ Traffic บางประเภท ใช้ Capture Filter เช่น tshark -i eth0 -f “port 80 or port 443” -c 5000 -w web.pcap จะ Capture เฉพาะ HTTP และ HTTPS Traffic

การอ่าน Capture File ด้วย tshark ใช้ tshark -r capture.pcap จะแสดง Packet ทั้งหมด สามารถเพิ่ม Display Filter ด้วย -Y เช่น tshark -r capture.pcap -Y “tcp.analysis.retransmission” จะแสดงเฉพาะ Retransmitted Packet สามารถเลือก Field ที่ต้องการแสดงด้วย -T fields -e เช่น tshark -r capture.pcap -Y “dns” -T fields -e dns.qry.name -e dns.a จะแสดงเฉพาะ DNS Query Name และ Answer

tshark มีประโยชน์อย่างมากสำหรับ Automation เช่น สร้าง Script ที่ Capture Packet ทุกชั่วโมง แล้ววิเคราะห์หา Anomaly อัตโนมัติ หรือสร้าง Script ที่ Monitor DNS Query แบบ Real-time แล้วแจ้งเตือนเมื่อพบ Domain ที่อยู่ใน Blocklist ตัวอย่าง tshark -i eth0 -Y “dns.qry.name” -T fields -e dns.qry.name -l | while read domain; do echo “$(date) $domain” >> dns_log.txt; done จะ Log DNS Query ทั้งหมดแบบ Real-time

สำหรับการ Capture แบบ Ring Buffer ที่ใช้ใน Production ใช้ tshark -i eth0 -b filesize:100000 -b files:10 -w capture.pcap จะสร้างไฟล์ขนาดไม่เกิน 100MB แต่ละไฟล์ เก็บไว้สูงสุด 10 ไฟล์ เมื่อครบ 10 ไฟล์จะเขียนทับไฟล์เก่าที่สุด ทำให้ไม่ต้องกังวลเรื่อง Disk Full

Performance Optimization สำหรับ Capture File ขนาดใหญ่

เมื่อทำงานกับ Capture File ขนาดใหญ่ (หลาย GB) Wireshark อาจทำงานช้าหรือใช้ RAM มาก มีเทคนิคหลายอย่างที่ช่วยปรับปรุง Performance ได้ เทคนิคแรกคือปิด Name Resolution ที่ไม่จำเป็น ไปที่ Edit → Preferences → Name Resolution แล้วปิด Resolve network (IP) addresses เพราะ Wireshark จะพยายาม Reverse DNS Lookup ทุก IP ซึ่งทำให้ช้ามาก

เทคนิคที่สองคือใช้ Capture Filter แทน Display Filter เมื่อเป็นไปได้ Capture Filter จะกรอง Packet ตั้งแต่ตอน Capture ทำให้ไฟล์เล็กลง แทนที่จะ Capture ทุกอย่างแล้วค่อย Filter ทีหลัง ตัวอย่างเช่น ถ้าสนใจเฉพาะ Traffic ไปยัง Server ตัวหนึ่ง ใช้ Capture Filter host 10.0.0.1 แทนที่จะ Capture ทุกอย่างแล้วใช้ Display Filter ip.addr == 10.0.0.1

เทคนิคที่สามคือใช้ editcap หรือ tshark เพื่อแบ่ง Capture File ใหญ่ออกเป็นไฟล์เล็กๆ ใช้ editcap -c 100000 large.pcap split.pcap จะแบ่งไฟล์ออกเป็นไฟล์ละ 100,000 Packet หรือใช้ editcap -A “2026-01-01 10:00:00” -B “2026-01-01 11:00:00” large.pcap onehour.pcap เพื่อตัดเฉพาะ Packet ในช่วงเวลาที่สนใจ

เทคนิคที่สี่คือปิด Protocol Dissector ที่ไม่จำเป็น ไปที่ Analyze → Enabled Protocols แล้วปิด Protocol ที่ไม่ได้ใช้ เช่น ถ้าวิเคราะห์เฉพาะ Web Traffic ก็ปิด VoIP, Industrial Protocol และ Protocol อื่นที่ไม่เกี่ยวข้อง จะช่วยลดเวลาในการ Load และ Display

Capture File Management: จัดการไฟล์ Capture อย่างมืออาชีพ

การจัดการ Capture File อย่างเป็นระบบสำคัญมากโดยเฉพาะเมื่อทำงานเป็นทีม ควรตั้งชื่อไฟล์ให้สื่อความหมาย เช่น 20260401_server01_web_issue.pcapng แทน capture1.pcap ควรใส่ข้อมูล Date, Location, Issue ไว้ในชื่อไฟล์ เพื่อให้คนอื่นเข้าใจได้ทันทีว่าไฟล์นี้ Capture จากไหนเมื่อไร

Wireshark รองรับไฟล์หลายรูปแบบ แต่แนะนำให้ใช้ pcapng (pcap-ng) เป็นหลัก เพราะรองรับ Comment ที่สามารถเพิ่มหมายเหตุใน Packet หรือในไฟล์ได้ รองรับ Multiple Interfaces ใน Capture เดียวกัน รองรับ Name Resolution Block และ Custom Options อื่นๆ ที่ pcap แบบเก่าไม่รองรับ

สำหรับการ Share Capture File ควรตรวจสอบว่าไม่มี Sensitive Data ที่ไม่ต้องการเปิดเผย สามารถใช้ TraceWrangler หรือ editcap เพื่อ Anonymize IP Address ใน Capture File ก่อน Share ทำให้สามารถส่งไฟล์ให้ Vendor หรือ Community ได้โดยไม่เปิดเผย Internal IP Address

สรุป: Wireshark Mastery สำหรับ Network Professional

Wireshark เป็นเครื่องมือที่มีความสามารถลึกซึ้งมากกว่าที่คนส่วนใหญ่ใช้ การเชี่ยวชาญ Advanced Display Filter ช่วยให้คุณหา Packet ที่ต้องการได้อย่างรวดเร็ว Follow Stream ช่วยให้เห็นภาพรวมของ Conversation, Expert Info ช่วยชี้ไปยังปัญหา, IO Graphs ช่วยให้เห็น Traffic Pattern, TLS Decryption ช่วยให้วิเคราะห์ HTTPS ได้, VoIP Analysis ช่วย Troubleshoot ปัญหาเสียง, DNS และ ARP Analysis ช่วยตรวจจับภัยคุกคาม

สำหรับคนที่กำลังเตรียมตัวสำหรับ CCNA สอบ หรือเตรียมตัวเป็น network engineer ไทย การเชี่ยวชาญ Wireshark คือ Skill ที่มีค่ามากที่สุดอย่างหนึ่ง ไม่มี Tool อื่นใดที่จะให้ความเข้าใจเกี่ยวกับ Network Protocol ได้ดีเท่า Wireshark เพราะคุณเห็นทุกอย่างในระดับ Byte แนะนำให้ฝึกใช้กับ Capture File ตัวอย่างจาก Wireshark Wiki หรือ PacketLife.net และลองวิเคราะห์ Traffic จากเครือข่ายจริงของคุณเอง

เทคนิคที่แนะนำคือสร้าง Wireshark Profile หลายชุดสำหรับงานประเภทต่างๆ ใช้ Custom Column ที่เหมาะสมกับงาน สร้าง Display Filter Macro สำหรับ Filter ที่ใช้บ่อย และใช้ tshark สำหรับงาน Automation ด้วยเทคนิคเหล่านี้ คุณจะสามารถวิเคราะห์ Network ได้อย่างมืออาชีพ ไม่ว่าจะเป็นการ Troubleshoot Performance, Security Incident Response หรือ Application Debugging

.

.
.
.

จัดส่งรวดเร็วส่งด่วนทั่วประเทศ
รับประกันสินค้าเคลมง่าย มีใบรับประกัน
ผ่อนชำระได้บัตรเครดิต 0% สูงสุด 10 เดือน
สะสมแต้ม รับส่วนลดส่วนลดและคะแนนสะสม

© 2026 SiamLancard — จำหน่ายการ์ดแลน อุปกรณ์ Server และเครื่องพิมพ์ใบเสร็จ

SiamLancard
#ffffff
Free Forex EA — XM Signal · SiamCafe Blog · SiamLancard · Siam2R · iCafeFX
Partner Sites: iCafe Forex | SiamCafe | SiamLancard | Siam2R | XM Signal | iCafe Cloud
iCafeForex.com - สอนเทรด Forex | SiamCafe.net
Shopping cart
Partner Sites: iCafeForex | SiamCafe | Siam2R | XMSignal