การบันทึกแพ็กเก็ต Wi-Fi ช่วยให้คุณเห็นรายละเอียดและการโต้ตอบที่ระบบจะปิดบังไว้ก่อนที่จะส่งไปยังซอฟต์แวร์ที่ทำงานในอุปกรณ์ ซึ่งทำให้การบันทึกเหล่านี้เป็นเครื่องมือสําคัญสําหรับข้อบกพร่องบางประเภท
ขั้นตอนหลักๆ ที่เกี่ยวข้องมีดังนี้
- ค้นหาช่องที่เหมาะสมที่จะสนิฟ
- บันทึกการเข้าชม
- แชร์ภาพหน้าจอและแฮชของรหัสผ่าน WLAN
1. กำหนดช่องทางและความกว้างที่เหมาะสม
เครือข่าย WLAN ทำงานบนอุปกรณ์ต่อไปนี้
- ช่อง ซึ่งมักเรียกด้วยตัวเลข 1-13 สำหรับช่อง 2.4 GHz ส่วน 36-200 สำหรับช่อง 5 GHz
- ที่มีความกว้างเฉพาะ (20Mhz, 40Mhz, 80Mhz, 160MHz)
โดยปกติแล้ว จุดเข้าใช้งานแต่ละจุด (เช่น เราเตอร์ นอต Mesh) ในเครือข่ายจะมีแชแนล 2.4 GHz และแชแนล 5 GHz ที่ไม่ซ้ำกัน คุณจึงต้องดูว่าอุปกรณ์เชื่อมต่ออยู่กับแชแนลใด โดยมีหลายตัวเลือกดังนี้
ใช้แผงควบคุมของเราเตอร์
หากคุณใช้ Nest WiFi ให้ข้ามตัวเลือกนี้ ระบบจะไม่เปิดเผยข้อมูล
เราเตอร์ส่วนใหญ่จะมีรายการอุปกรณ์ที่เชื่อมต่ออยู่ รวมถึงช่องและความกว้างที่อุปกรณ์เหล่านั้นใช้
- ค้นหาที่อยู่ IP ของเราเตอร์โดยใช้คู่มือนี้
- ไปที่ที่อยู่ของเราเตอร์ในเว็บเบราว์เซอร์ เช่น http://192.168.1.1
- ลงชื่อเข้าใช้ หากไม่ทราบรหัสผ่าน มองหาแท็กบนเราเตอร์ หรือใช้รหัสผ่านเราเตอร์
มองหาหน้าเว็บที่ชื่อ "ไคลเอ็นต์" หรือ "อุปกรณ์ที่เชื่อมต่อ" ตัวอย่างเช่น หน้าเราเตอร์ Netgear อาจมีลักษณะดังต่อไปนี้ หรือสำหรับอุปกรณ์ Eero
คุณอาจต้องมองหาที่อื่นในการตั้งค่าเพื่อแมปข้อมูลจากขั้นตอนที่ 4 กับช่องและแบนด์วิดท์ที่เฉพาะเจาะจง เช่น เราเตอร์ Netgear
ใช้ Mac หากเชื่อมต่อกับช่องเดียวกันอยู่แล้ว
กดOption บนแป้นพิมพ์ค้างไว้ แล้วคลิกไอคอน WLAN ที่มุมขวาบนในแถบสถานะของ Mac คุณควรเห็นเมนู WLAN ปกติที่มีตัวเลือกและข้อมูลเพิ่มเติมอีก 2-3 รายการ ตรวจสอบรายการในเมนูที่ไม่พร้อมใช้งานและมองหารายการที่พูดถึงช่อง
`Channel 60 (DFS, 5GHz, 40MHz)`
ไม่พบแชแนลและช่องความกว้าง
หากวิธีอื่นๆ ไม่ได้ผล ให้ลองทำดังนี้
แสดงรายการช่องทั้งหมดที่ AP ใช้อยู่ (ปกติแล้วจะมี 2 ช่องสำหรับ AP หรือ Mesh Point แต่ละตัว)
ก. แนะนำ เมื่อใช้โทรศัพท์ Android คุณสามารถใช้แอปอย่าง Wifiman หรือ Aruba Utilities
ก. ใน Mac คุณสามารถใช้แป้น
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s
เพื่อแสดงรายการตัวเลือกบันทึกวิดีโอสั้นๆ (15 วินาทีก็เพียงพอแล้ว) ในแชแนลแต่ละช่องโดยใช้วิธีการด้านล่าง
ติดตั้ง Wireshark (หากต้องการความช่วยเหลือ โปรดดูหัวข้อติดตั้ง Wireshark)
เปิดการบันทึกแต่ละรายการโดยใช้ Wireshark ใช้ตัวกรองการแสดงผลของ
wlan.addr == YOUR_DEVICE'S_MAC
แล้วดูว่ามีแพ็กเก็ตใดปรากฏขึ้นหรือไม่
2. เริ่มจับภาพ
สำคัญ: การจับภาพการจับมือ 4 ทาง
หากเปิดการรักษาความปลอดภัยสำหรับ Wi-Fi ไว้ คุณจะต้องทราบคีย์การเข้ารหัสเพื่อถอดรหัสแพ็กเก็ตที่บันทึกไว้ คีย์การเข้ารหัสจะมาจากแฮนเดิล 4 ทางที่เกิดขึ้นเมื่ออุปกรณ์เชื่อมต่อกับเครือข่าย และจะไม่ซ้ำกันสำหรับการเชื่อมต่อแต่ละครั้งระหว่างอุปกรณ์กับ AP
คุณจึงต้องบันทึกการจับมือ 4 ทางเพื่อถอดรหัสเพย์โหลด Wi-Fi หากอุปกรณ์เชื่อมต่อกับเครือข่ายอยู่แล้วเมื่อคุณเริ่มการบันทึก ให้ยกเลิกการเชื่อมต่อแล้วเชื่อมต่ออุปกรณ์อีกครั้ง (หรือรีบูต) เมื่อการดักรับสัญญาณเริ่มขึ้น
บันทึกใน Mac
ขณะกดแป้น Option บนแป้นพิมพ์ ให้คลิกไอคอน WLAN แล้วเลือก "เปิดการวินิจฉัยระบบไร้สาย…"
จากแถบเมนูการวินิจฉัยระบบไร้สาย ให้เลือกหน้าต่าง > Sniffer
ตั้งค่าช่องและความกว้างเป็นค่าที่คุณดึงข้อมูลไว้ก่อนหน้านี้ (ภาพหน้าจอเป็นตัวอย่างสำหรับช่อง 60 และความกว้าง 40 MHz)
กด Start
แล้วป้อนรหัสผ่าน ตอนนี้ให้ลองสร้างปัญหาซ้ำ
ตรวจสอบว่าคุณบันทึกการจับมือแบบ 4 ทางจากการเชื่อมต่อตามที่ระบุไว้ในหัวข้อการจับภาพการจับมือแบบ 4 ทาง
เมื่อเสร็จแล้ว ให้กด Stop
ไฟล์ *.pcap
ใหม่จะอยู่ใน /var/tmp
ซึ่งมีการเข้าชมทั้งหมด ตัวอย่างชื่อไฟล์มีดังนี้
(null)_ch100_2018-11-06_10.52.01.pcap
การจับภาพใน Linux
ปิด Wi-Fi ซึ่งทําได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- การใช้ GUI (แนะนำ)
- การใช้ CLI ของ Network Manager เพื่อบอกให้หยุดจัดการอินเทอร์เฟซ WLAN
sudo nmcli dev set <wlan-ifname> managed on
- หากใช้เครื่องมือจัดการเครือข่ายอื่น ให้ปรับตาม
บันทึกสคริปต์นี้ แทนที่
<wlan-ifname>
ด้วยชื่ออินเทอร์เฟซ Wi-Fi เอกสารนี้จะถือว่าชื่อสคริปต์คือsetup-wifi-capture
#!/usr/bin/env bash sudo ifconfig <wlan-ifname> down sudo rfkill unblock wifi sudo iwconfig <wlan-ifname> mode monitor sudo ifconfig <wlan-ifname> up sudo iw dev <wlan-ifname> set channel $@
เรียกใช้สคริปต์ก่อนหน้าและส่งผ่านช่องและแบนด์วิดท์สูงสุดเพื่อสนิฟ เช่น ช่อง 153 ที่มีแบนด์วิดท์ 80MHz
./setup-wifi-capture chan 153 80 MHz
เปิด Wireshark แล้วตอนนี้คุณควรจับแพ็กเก็ตบนอินเทอร์เฟซ wlan ได้
3. แชร์การจับภาพ
ใช้เครื่องมือสร้าง WPA PSK (คีย์ดิบ) เพื่อสร้างแฮชของรหัสผ่าน ซึ่งจะช่วยให้คุณถอดรหัสข้อมูลที่บันทึกไว้ได้โดยไม่ต้องทราบรหัสผ่านที่เป็นข้อความธรรมดา
คุณต้องแชร์ PSK ที่สร้างขึ้นด้วยเพื่อให้ผู้อื่นสามารถถอดรหัสการบันทึกได้
ภาคผนวก
ติดตั้ง Wireshark
คุณสามารถติดตั้ง Wireshark โดยใช้ apt install wireshark ใน Linux หรือดาวน์โหลดทางออนไลน์จากเว็บไซต์ Wireshark
ตั้งค่า Wireshark เพื่อถอดรหัสการรับส่งข้อมูล
ซึ่งไม่จําเป็นต่อการแชร์ไฟล์บันทึก โปรดทําเฉพาะในกรณีที่คุณต้องการตรวจสอบการเข้าชมที่ถอดรหัสแล้วด้วยตนเองใน Wireshark
เมื่อใช้การรักษาความปลอดภัย WPA2 ใน Wi-Fi ระบบจะไม่ใช้ WPA2-PSK ในการเข้ารหัสและการถอดรหัสการรับส่งข้อมูลโดยตรง ซึ่งจะใช้ในการจับมือ 4 ทาง ซึ่งคุณต้องบันทึกเพื่อถอดรหัสแพ็กเก็ต อย่างไรก็ตาม หากสิ่งที่คุณพยายามจับภาพคือปัญหาเกี่ยวกับการเชื่อมต่อ Wi-Fi หรือการเชื่อมต่อขาดหายไป ซึ่งสามารถดึงมาจากเฟรมการจัดการ Wi-Fi คุณไม่จำเป็นต้องจับภาพการจับมือ 4 ทาง ไม่ว่าในกรณีใด คุณก็ควรบันทึกไว้
เปิด Wireshark แล้วเปิดหน้าค่ากําหนด (เมนู Wireshark > ค่ากําหนด หรือ **Cmd + , **)
ค้นหาส่วน "IEEE 802.11" ในหมวดหมู่ "โปรโตคอล" และตรวจสอบว่าได้เลือก "เปิดใช้การถอดรหัส" แล้ว
คลิกปุ่มแก้ไขข้างป้ายกำกับคีย์การถอดรหัส
คลิกปุ่ม "+" ที่มุมซ้ายล่าง แล้วเลือกตัวเลือก "wpa-pwd"
คลิกคอลัมน์คีย์ของแถวที่สร้างขึ้นใหม่ (ถัดจากสตริง wpa-pwd) พิมพ์ WPA2 PSK และ SSID ในรูปแบบ
<password>:<ssid>
เช่น หากชื่อเครือข่ายคือMyHomeNetwork
และ WPA2 PSK คือmyp4ssword
ให้พิมพ์myp4ssword:MyHomeNetwork
คลิก "ตกลง" เพื่อยืนยัน
ดูข้อมูลเพิ่มเติมได้ที่คู่มืออย่างเป็นทางการของ Wireshark (พร้อมภาพหน้าจอ) ที่หัวข้อวิธีถอดรหัส 802.11
หากใช้ tshark
ให้ส่งอาร์กิวเมนต์ต่อไปนี้
tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'
เติมสีข้อมูล Wireshark 802.11
มีโปรไฟล์สี 802.11 ที่มีประโยชน์อยู่ใน metageek.com นั่นคือโปรไฟล์การกําหนดค่า Wireshark