การบันทึกแพ็กเก็ต Wi-Fi ช่วยให้คุณเห็นรายละเอียดและการโต้ตอบที่อาจถูกปิดบังไว้ก่อนที่จะเข้าถึงซอฟต์แวร์ที่ทำงานในอุปกรณ์ การบันทึกเหล่านี้จึงเป็นเครื่องมือสำคัญสำหรับข้อบกพร่องบางประเภท
ขั้นตอนหลักที่เกี่ยวข้องมีดังนี้
- ค้นหาช่องที่เหมาะสมเพื่อดักจับข้อมูล
- บันทึกการเข้าชม
- แชร์การจับภาพและแฮชของรหัสผ่าน WLAN
1. กำหนดช่องและความกว้างที่เหมาะสม
เครือข่าย WLAN ทำงานบนย่านความถี่ต่อไปนี้
- ช่อง ซึ่งมักจะอ้างอิงด้วยตัวเลข 1-13 สำหรับช่องสัญญาณ 2.4GHz, 36-200 สำหรับช่องสัญญาณ 5GHz
- ที่มีความกว้างเฉพาะ (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 ปกติที่มีตัวเลือกและข้อมูลเพิ่มเติมอีกเล็กน้อย ดูรายการเมนูที่ไม่พร้อมใช้งานและมองหารายการที่ระบุว่า "ช่องทาง"
`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 แล้วเลือก "เปิดการวินิจฉัยระบบไร้สาย…"
จากแถบเมนู Wireless Diagnostics ให้เลือก Window > Sniffer ดังนี้
ตั้งค่าช่องและความกว้างเป็นค่าที่คุณดึงข้อมูลมาก่อนหน้านี้ (ตัวอย่างภาพหน้าจอคือช่อง 60 และความกว้าง 40 MHz)
กด Start แล้วป้อนรหัสผ่าน ตอนนี้ให้ลองจำลองการเกิดปัญหาอีกครั้ง
ตรวจสอบว่าคุณได้บันทึกการแฮนด์เชคแบบ 4 ทางจากการเชื่อมต่อตามที่ระบุไว้ในการบันทึกการแฮนด์เชคแบบ 4 ทาง
เมื่อเสร็จแล้ว ให้กด Stop ไฟล์ *.pcap ใหม่จะอยู่ใน /var/tmp ซึ่งมีข้อมูลการเข้าชมทั้งหมด ตัวอย่างชื่อไฟล์มีดังนี้
(null)_ch100_2018-11-06_10.52.01.pcap
จับภาพใน Linux
ปิด Wi-Fi ซึ่งทำได้ด้วยวิธีใดวิธีหนึ่งต่อไปนี้
- การใช้ GUI (แนะนำ)
- ใช้ Network Manager CLI เพื่อบอกให้หยุดจัดการอินเทอร์เฟซ 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" ในหมวดหมู่ "Protocols" และตรวจสอบว่าได้เลือก "Enable decryption" แล้ว
คลิกปุ่มแก้ไขข้างป้ายกำกับคีย์การถอดรหัส
คลิกปุ่ม "+" ที่มุมซ้ายล่าง แล้วเลือกตัวเลือก "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