Wireshark ชื่อเดิม Ethereal เป็นโปรแกรมจำพวก packet sniffer ชนิดหนึ่งซึ่งประกอบไปด้วยส่วนของ Packet Capture และ Packet Analyzer โดยทำหน้าที่ในการวิเคราะห์ระบบ Network โดย Wireshark นั้นสามารถทำงานได้ทั้งบนระบบปฏิบัติการ Linux, window และ OSX สามารถทำการวิเคราะห์ข้อมูลบนเครือข่ายได้หลากหลายรูปแบบ และที่สำคัญ Wireshark นั้นเป็นซอฟต์แวร์แบบ Open Source หรือ Freeware ซึ่งให้ใช้งานโดยไม่ต้องเสียค่าใช้จ่ายและมีต้นฉบับสำหรับให้นำไปพัฒนาต่อยอดได้อีกด้วย ปัจจุบัน Wireshark ได้พัฒนามาถึงเวอร์ชัน 1.1.0 Development release Table 3.1. Keyboard Navigation
เมนูการใช้งาน File: เมนูนี้ ใช้สำหรับ open (เปิด) ,merge capture files (รวมแฟ้มเอกสาร), save(บันทึก) / print(พิมพ์) / export capture files (ส่งไฟล์ไปยังโปรแกรมอื่นๆ) และ quit from Wireshark. (ปิดโปรแกรมนี้) Table 3.2. File menu items ฉบับคร่าวๆ
Edit: เมนูนี้ใช้สำหรับ ค้นหา packet, ตั้งค่าตามความพึงพอใจ (ตัด, คัดลอก, และวาง) Table 3.3. Edit menu items
View : ใช้สำหรับควบคุมการแสดง captured data ซึ่งประกอบด้วย colorization of packets, การซุมของ font, การแสดง packet ในหน้าต่างที่แยกกันออกไป และอื่นๆอีกมากมาย Table 3.4. View menu items
Go: เมนูนี้ใช้สำหรับออกคำสั่งในการหา packet พิเศษหรือ packet จำเพาะเจาะจง Table 3.5. Go menu items
Capture: เมนูนี้ใช้สำหรับ เริ่มต้น ,แก้ไข และสั่งหยุด captures Table 3.6. Capture menu items
Analyze: เมนูนี้ประกอบด้วย item ที่ใช้ปรับ display filters, ติดตาม a TCP stream และ วิเคราะห์ความเป็นไปได้ของ protocols Statistics: เมนูนี้ประกอบด้วยใจความสรุปของ packet ที่เคย capture ไปแล้ว, display protocol hierarchy statistics (สถิติของแสดงการจัดระบบตามลำดับขั้นระเบียบการ) และอื่นๆอีกมากมาย Telephony: เมนูนี้ประกอบด้วย telephonyที่แตกต่างกัน ซึ่งเกี่ยวกับจำนวนสถิติของการใช้โปรแกรมซึ่งประกอบด้วย media analysis (การวิเคราะห์ของ media) , flow diagrams (แผนภาพ flow) , display protocol hierarchy statistics (วิชาสถิติแสดงการจัดระบบตามลำดับขั้นระเบียบการ) และอื่นๆอีกมากมาย Tools: เมนูนี้ประกอบด้วยเครื่องมือหลากหลายชนิดใน wireshark อย่างเช่น creating Firewall ACL Rules Internals: เมนูนี้ใช้สำหรับ บอกหรือโชว์ข่าวสารเกี่ยวกับ wireshark Help: เมนูนี้ใช้สำหรับช่วยเหลือ ผู้ใช้โปรแกรม ตัวอย่างเช่น ช่วยสอนวิธีการใช้โปรแกรมแบบพื้นฐาน, ออนไลน์สิทธิ์หรือโอกาสในการเข้าถึงบางส่วนของ webpage และ มีคู่มือการใช้งานของโปรแกรมนี้ The "Main" toolbar วิธีการใช้งาน Wireshark บทความนี้จะมาแนะนำการใช้งานโปรแกรม Wireshark เบื้องต้น สำหรับผู้ที่กำลังเขียนโปรแกรมติดต่อ ระหว่างไมโครคอนโทรลเลอร์ กับเครือข่ายอยู่ (หรือจะเอาไป hack ก็ได้นะ แต่ไม่แนะนำให้ทำนะ) ก่อนอื่นต้องดาวน์โหลด ตัวโปรแกรมมาติดตั้งบนคอมพิวเตอร์ โดยดาวโหลดจากเว็บไซต์ของ Wireshark : www.wireshark.org หลังจากที่ดาวน์โหลดโปรแกรมมาติดตั้งเรียบร้อยแล้ว ก็ให้เปิดโปรแกรม wireshark ขึ้นมา จะปรากฏหน้าต่างว่าง ดังรูปด้านล่าง รูปหน้าต่างหลักของโปรแกรม Wireshark หลังจากที่เปิดโปรแกรม Wireshark ขึ้นมาแล้ว ต่อไปก็จะเริ่มดักจับ Packet บนการ์ดแลนของเราครับ ให้คลิกที่เมนู Capture แล้วก็เลือก Option หรือจะกดคีย์ลัด Ctrl+K เพื่อตั้งค่าการดักจับข้อมูล ดังรูป เลือกเมนู Capture->Option จะปรากฏหน้าต่าง Capture Option ขึ้นมา ตรงช่อง Interface ให้เลือกการ์ดแลนบนคอมของเรา ที่เชื่อมต่อกับเครือข่ายอยู่ ตรงช่อง Capture Filers ยังไม่ต้องใส่ filter อะไรลงไป ตั้งค่าก่อนดักจับข้อมูลโดย กดเอาเครื่องหมายออกในช่องของ Display Option ตามรูปด้านล่าง และคลิก Start สถานะของการดักจับข้อมูล ต่อไปให้เปิด command line ขึ้นมา โดยคลิกที่ Start->Run แล้วพิมพ์คำว่า cmd แล้วกด Enter จะปรากฎหน้าต่าง command line ขึ้นมา ให้พิมพ์ ping [ip address] -n 1 แล้วกด Enter กลับไปที่หน้าต่างสถานะของการดักจับ ก็จะแสดงออกมาว่าตอนนี้ดักจับข้อมูลได้กี่ packet แบ่งเป็น protocol อะไรบ้าง ดังรูป สถานะของการดักจับข้อมูล หลังจากที่ดักจับข้อมูลที่เราทดสอบเรียบร้อยแล้ว ก็ให้กด Stop เพื่อหยุดการดักจับข้อมูล หลังจากนั้นโปรแกรมจะแสดงรายละเอียดของข้อมูลที่ดักจับได้ดังรูป โดยจะแบ่งรายระเอียดเป็นสามช่อง ช่องแรกเป็นข้อมูลคร่าวๆ ของแต่ละ packet ช่องที่สองเป็นรายละเอียดของแต่ packet ที่ดักจับได้ ส่วนช่องที่สามเป็นข้อมูลดิบฐานสิบหก ที่โปรแกรมจับได้ Three-way Handshake: เป็นวิธีการส่งแพ็กเก็ตที่สามารถช่วยแก้ปัญหาในเรื่องแพ็กเก็ตซ้ำซ้อนได้ดี แต่วิธีนี้จำเป็นจะต้องสร้างช่องสื่อสารให้ได้ก่อนที่จะเริ่มรับ-ส่งข้อมูล อย่างไรก็ตาม แพ็กเก็ตควบคุมที่ใช้ในการต่อรองค่าตัวแปรสำหรับการสื่อสารต่างๆ อาจเกิดการตกค้างอยู่ในระบบได้ ทำให้การกำหนดค่าหมายเลขลำดับมีปัญหาไปด้วย ตัวอย่างของ Three-way-handshake บรรทัดที่ 21-23 ของ Protocol TCP เป็นการแสดงการทำ Three-way-handshake โดยมีของ Protocol TCP มี segment ที่เกี่ยวข้องดังนี้ 1. SYN 2. SYN, ACK 3. ACK โดยที่มีเครื่องลูก (Client) คือหมายเลข IP 192.168.1.4 ที่ Port 53887 ติดต่อไปยังเครื่องแม่ (Server) ที่หมายเลข IP 192.168.1.1 ที่ Port 80 มีการทำงานดังนี้ 1. TCP ของเครื่องผู้ใช้ส่งเซกเมนต์ที่บรรจุเลขลำดับนี้ไปยังเครื่องของ server พร้อมทั้งแฟล็ก SYN ให้เป็น "1"(เซกเมนต์ 1) 2. TCP ของเครื่อง server ได้รับเซกเมนต์จากเครื่องผู้ใช้แล้วตอบกลับด้วยเซกเมนต์ SYN (เซกเมนต์ 2)พร้อมทั้งเซ็ตแฟล็ก ACK เพื่อแจ้งว่าเซกเมนต์ 1 โดยใช้เลขลำดับที่ได้รับจากทางเครื่องของผู้ใช้บวกด้วย 1 3. TCP ของเครื่องผู้ใช้ จะส่งเซกเมนต์ตอบกลับไป (เซกเมนต์ 3) โดยเซ็ตแฟล็ก ACK และใช้เลขลำดับที่ได้รับจากเครื่อง server บวกด้วยหนึ่ง แสดงได้ตามตารางดังนี้
Wireshark มีประโยชน์อะไร ตามปกติถ้าเราใช้คอมพิวเตอร์เปิดเว็บไซต์ทั่วไปหรือติดต่อกับเครื่องอื่นๆ นั้นจะไม่แสดง protocols (สิ่งที่ใช้การสื่อสารระหว่างคอมพิวเตอร์)แต่ถ้าเราต้องการจะเห็น protocols เพื่อศึกษาการทำระบบ หรือ Hack (ไม่แนะนำ) เราจำเป็นใช้โปรแกรมดักจับ protocols หนึ่งในนั้นก็คือ โปรแกรม wireshark โดยการทำงานของ wireshark นั้นจะทำการจับ ข้อความที่ส่งกันระหว่าง protocols ซึ่งเราจะเรียกว่า Packet sniffer อ้างอิงจาก : Wireshark User's Guide (คู่มือการใช้โปรแกรมที่ได้มาพร้อมกับตัวโปรแกรม ซึ่งเป็นคู่มือภาค ภาษาอังกฤษ หากแปลเป็นภาษาไทยตรงไหนผิดพลาด ต้องขออภัยด้วย เนื่องจากอาศัยการแปลศัพท์ด้วยตัวเอง) |
2554-08-09
PROGRAM " WIRESHARK "
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น