การบันทึกแพ็กเก็ต 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 ปกติพร้อมตัวเลือกและข้อมูลเพิ่มเติมอีก 2-3 รายการ ดูรายการในเมนูที่ใช้ไม่ได้และมองหารายการที่ระบุว่า "ช่อง"
`Channel 60 (DFS, 5GHz, 40MHz)`
ไม่พบช่องและความกว้าง
หากวิธีอื่นๆ ไม่ได้ผล ให้ลองทำดังนี้
แสดงช่องทั้งหมดที่ AP ใช้ (โดยปกติคือ 2 ช่องสำหรับแต่ละ AP หรือจุดเชื่อมต่อแบบ Mesh)
ก. แนะนำ หากใช้โทรศัพท์ 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 $@
เรียกใช้สคริปต์ก่อนหน้าและส่งช่องและแบนด์วิดท์สูงสุดไปยัง sniff เช่น ช่อง 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>"'
เติมสีข้อมูล 802.11 ของ Wireshark
คุณสามารถดูโปรไฟล์สี 802.11 ที่สะดวกได้ที่ metageek.com: โปรไฟล์การกำหนดค่า Wireshark