通过终端列出热点连接的设备

sig*_*jog 19 wireless network-monitoring hot-spot

我通过 ap-hotspot 连接我的热点,我可以看到弹出的通知显示新设备已连接设备已断开连接。(因为我想了解使用或不使用热点的访问权限。)

如何列出通过终端连接的设备?

小智 33

arp -a 应该会返回所有连接设备的列表。

  • `arp ​​-an` 也很有用 --- 避免尝试解析 IP 地址的长时间延迟。 (4认同)

Rma*_*ano 10

如果您想要更详细的列表,我将此脚本改编为来自 webupd8ap-hotspot脚本:

#!/bin/bash

# show_wifi_clients.sh
# Shows MAC, IP address and any hostname info for all connected wifi devices
# written for openwrt 12.09 Attitude Adjustment
# modified by romano@rgtti.com from http://wiki.openwrt.org/doc/faq/faq.wireless#how.to.get.a.list.of.connected.clients

echo    "# All connected wifi devices, with IP address,"
echo    "# hostname (if available), and MAC address."
printf  "# %-20s %-30s %-20s\n" "IP address" "lease name" "MAC address"
leasefile=/var/lib/misc/dnsmasq.leases
# list all wireless network interfaces 
# (for MAC80211 driver; see wiki article for alternative commands)
for interface in `iw dev | grep Interface | cut -f 2 -s -d" "`
do
  # for each interface, get mac addresses of connected stations/clients
  maclist=`iw dev $interface station dump | grep Station | cut -f 2 -s -d" "`
  # for each mac address in that list...
  for mac in $maclist
  do
    # If a DHCP lease has been given out by dnsmasq,
    # save it.
    ip="UNKN"
    host=""
    ip=`cat $leasefile | cut -f 2,3,4 -s -d" " | grep $mac | cut -f 2 -s -d" "`
    host=`cat $leasefile | cut -f 2,3,4 -s -d" " | grep $mac | cut -f 3 -s -d" "`
    # ... show the mac address:
    printf "  %-20s %-30s %-20s\n" "$ip" "$host" "$mac"
  done
done
Run Code Online (Sandbox Code Playgroud)

将其复制到 PATH 中的文件中 --- 例如~/bin/show_wifi_clients,使用 使其可执行chmod +x,然后享受。


小智 9

显示设备列表:(替换<interface>为您的wifi接口的接口名称)

iw dev <interface> station dump
Run Code Online (Sandbox Code Playgroud)

如果您不知道 wifi 接口的名称,请使用此命令查找接口名称:

iw dev
Run Code Online (Sandbox Code Playgroud)