web-dev-qa-db-ja.com

OpenWrt 10.03で接続されているwifiクライアントのリストを取得する方法

openWrt 10.03で接続されているwifiクライアントのリストを取得する方法

12
LanceBaynes

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
14
nsg

関連付けられている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.
12
Fa11enAngel

の代わりに 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}'

LANポートでOpenWRTに接続したデバイスの数を返します。ほぼリアルタイム。

2
Alan42

Nmapはどうですか?

opkg install nmap

次に、サブネットのステルススキャンを実行します(192.168.1.0/24など)。

nmap -sS 192.168.1.0/24

これにより、クライアントで実行されているサービスも一覧表示されます。また、クライアントにポートスキャン検出ソフトウェア(snort)がインストールされている場合は、アラームが鳴る可能性がありますので、注意してください。

1
KrakenSkulls

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興味のあるインターフェースで)

1
kirelagin