Làm thế nào để có được danh sách các máy khách wifi được kết nối trong OpenWrt 10.03?
Làm thế nào để có được danh sách các máy khách wifi được kết nối trong OpenWrt 10.03?
Câu trả lời:
Bạn có thể sử dụng bảng arp hoặc DHCP-cho thuê. Không phải là một giải pháp hoàn hảo, có lẽ nó là đủ?
Danh sách bảng arp
arp
Liệt kê các hợp đồng thuê DHCP
cat /tmp/dhcp.leases
... và kết hợp
for ip in $(arp | grep -v IP | awk '{print $1}'); do
grep $ip /tmp/dhcp.leases;
done
Để xem các máy khách wifi được liên kết, ngay cả khi họ không có Máy khách DHCP hoặc không có ip, bạn phải hỏi AP về các thiết bị wifi được liên kết:
# 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
Bằng cách này bạn cũng sẽ thấy tốc độ kết nối. Đối với tôi nó trông như thế này:
# 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.
Làm thế nào về nmap?
opkg install nmap
Sau đó thực hiện quét lén mạng con của bạn (có thể là 192.168.1.0/24)
nmap -sS 192.168.1.0/24
Điều này sẽ liệt kê các dịch vụ chạy trên máy khách là tốt. Nó cũng có thể tắt báo động nếu máy khách có cài đặt phần mềm phát hiện quét cổng (tức là khịt mũi), vì vậy hãy cẩn thận.
Để lấy chúng trực tiếp từ hostapd
(trình nền quản lý điểm truy cập):
$ 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
}
}
}
(hoặc thay thế wlan0
bằng giao diện bạn quan tâm)