จะรับรายชื่อไคลเอนต์ wifi ที่เชื่อมต่อใน OpenWrt 10.03 ได้อย่างไร
จะรับรายชื่อไคลเอนต์ wifi ที่เชื่อมต่อใน OpenWrt 10.03 ได้อย่างไร
คำตอบ:
คุณสามารถใช้ arp-table หรือ DHCP-leases ไม่ใช่วิธีที่สมบูรณ์แบบบางทีก็เพียงพอแล้ว
รายการ arp-table
arp
แสดงรายการสัญญาเช่า DHCP
cat /tmp/dhcp.leases
... และรวมกัน
for ip in $(arp | grep -v IP | awk '{print $1}'); do
grep $ip /tmp/dhcp.leases;
done
ในการดูไคลเอนต์ wifi ที่เชื่อมโยงแม้ว่าพวกเขาจะไม่มีไคลเอ็นต์ DHCP หรือไม่มี ip คุณต้องถาม AP สำหรับอุปกรณ์ wifi ที่เกี่ยวข้อง:
# Universal (Tested with OpenWRT 14.07 and 15.05.X)
iwinfo wlan0/wl0/ath0 assoclist
# Proprietary Broadcom (wl)
wl -i wl0 assoclist
# Proprietary Atheros (madwifi)
wlanconfig ath0 list sta
# MAC80211
iw dev wlan0 station dump
วิธีนี้คุณจะเห็นความเร็วการเชื่อมต่อ สำหรับฉันนี่เป็นแบบนี้:
# iwinfo wlan0 assoclist
12:34:56:78:9A:BC -26 dBm / -95 dBm (SNR 69) 1930 ms ago
RX: 24.0 MBit/s, MCS 0, 20MHz 3359 Pkts.
TX: 130.0 MBit/s, MCS 14, 20MHz, short GI 1209 Pkts.
แล้ว nmap ล่ะ?
opkg install nmap
จากนั้นทำการสแกนเครือข่ายย่อยของคุณ (น่าจะเป็น 192.168.1.0/24)
nmap -sS 192.168.1.0/24
นี่จะแสดงรายการบริการที่ทำงานบนไคลเอนต์เช่นกัน นอกจากนี้ยังอาจตั้งค่าปิดการเตือนถ้าไคลเอนต์มีซอฟต์แวร์ตรวจจับพอร์ตสแกน (เช่น snort) ติดตั้งดังนั้นควรระมัดระวัง
แทนที่จะเป็นcat /tmp/dhcp.leases|wc -l
และarp -a
ทางออกของฉันคือ
opkg update
opkg install arp-scan
arp-scan --interface=br-lan --localnet | grep responded | awk '{print $12}'
มันจะคืนจำนวนอุปกรณ์ที่เชื่อมต่อกับ OpenWRT โดยพอร์ต LAN เกือบจะตามเวลาจริง
ในการรับโดยตรงจากhostapd
(ภูตที่จัดการจุดเชื่อมต่อ):
$ ubus call hostapd.wlan0 get_clients
{
"freq": 2462,
"clients": {
"<mac addr 1>": {
"auth": true,
"assoc": true,
"authorized": true,
"preauth": false,
"wds": false,
"wmm": true,
"ht": true,
"vht": false,
"wps": false,
"mfp": false,
"rrm": [
0,
0,
0,
0,
0
],
"aid": 1
}
}
}
(หรือแทนที่wlan0
ด้วยส่วนต่อประสานที่คุณสนใจ)