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?


12

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:


14

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

2
Bạn cũng cho thuê gần đây, như máy tính xách tay tắt nguồn và điện thoại hiện trên mạng wifi khác.
Dereckson

Tôi vẫn có cat /tmp/dhcp.lease phản hồi trống, trong khi nhiều thiết bị có cài đặt mạng và IP từ WIFI của OpenWRT.
Boris Ivanov

Điều này sẽ không hoạt động nếu bộ định tuyến của bạn hoạt động như một cây cầu, vì nó không cung cấp DHCP.
Raúl Salinas-Monteagudo

12

Để 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.

1

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.


Bạn tạo lưu lượng truy cập ở đây. Nếu bạn chỉ muốn giữ số liệu thống kê mỗi phút, ví dụ bạn sẽ tạo ra buôn bán, bức xạ và tiêu thụ không cần thiết. Tôi đang suy nghĩ về trường hợp bạn muốn biết liệu điện thoại di động của bạn có ở chỗ bạn không, cho một hệ thống tự động hóa ngôi nhà. Bạn không muốn tiêu hao pin điện thoại của mình cho việc này.
Raúl Salinas-Monteagudo

1

Thay vì cat /tmp/dhcp.leases|wc -larp -a, giải pháp của tôi là

opkg update
opkg install arp-scan
arp-scan --interface=br-lan --localnet | grep responded | awk '{print $12}'

Nó sẽ trả về số lượng thiết bị được kết nối với OpenWRT bằng cổng LAN. Gần như thời gian thực.


0

Để 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ế wlan0bằng giao diện bạn quan tâm)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.