有没有办法列出我的wifi接入点上的已连接设备?


27

我有一台Angstrom Linux设备充当访问点,运行hostapddhcpd效果很好。我可以获取连接到Wi-Fi的设备的列表吗?我知道我可以获得DHCP租约,但是我需要知道通过哪些设备进行连接wlan0。我已经试过了(iwlist有选项):

iwlist wlan0 ap
iwlist wlan0 accesspoints
iwlist wlan0 peers

但所有返回:

wlan0     Interface doesn't have a list of Peers/Access-Points

iwconfigiwgetidiwpriv并且iwspy也出现在/sbin,但好像没有选项来显示的客户名单。

Answers:


24

您应该iw dev wlan0 station dump以root身份使用


谢谢-我不认为这对我的胳膊9埃,但我会去寻找它
杰夫

假设您有足够的空间或CF用于临时存储,也许可以从源代码进行编译
Mike Pennington 2012年

1
iw还取决于WiFi接口驱动程序中对nl80211的支持-尚不适用于所有驱动程序... wireless.wiki.kernel.org/en/developers/documentation/nl80211
Pierz

如果您拥有多个设备,例如启用了2.4 GHz和5 GHz的设备,则可能会得到空的结果。这表明没有客户端连接到指定的接口或频率。
阿肯多

11

您可以使用“ arp”作为根:

$ sudo arp

1
不知道为什么要降低投票率,它确实表明连接了哪种客户端(IP和MAC)
shookees 2014年

3
它被否决,因为arp仅返回主机上arp表中网络上活动的主机。如果讨厌的人与AP关联并且被动地嗅探,则它们将永远不会出现在arp表中。
杰弗里2015年

2
您不需要超级用户特权即可转储arp表。另请参见ip nLinux。
斯特凡Chazelas

没为我工作。我称arp,但它仅包含以太网条目。如果我使用arp -i wlan0,则不会显示任何内容。使用iw dev wlan0站转储,它可以工作。
JackGrinningCat

4

您还可以使用以下命令查找与AP连接的设备的列表:

cat /var/lib/misc/dnsmasq.leases

dnsmasq.leases文件列出了到目前为止连接到AP的所有设备。您还可以使用以下命令获取通过WiFi或以太网连接到您的设备的所有设备的列表:

sudo arp

那将在使用dnsmasq作为DHCP服务器的系统上。OP使用“ dhcpd”,大概是ISC实现。站也可以关联而不请求和DHCP租用,或者不发送任何IP或ARP通信。
斯特凡Chazelas

2

arp-scan

就像在这个答案上说的,你可以使用arp-scan包。只是arp-scan -l

arp-scan是用于系统发现和指纹识别的命令行工具。它构造ARP请求并将其发送到指定的IP地址,并显示收到的所有响应。

使用systemd / udev名称,我发现对

sudo arp-scan -l -t 200 -I $(ls /sys/class/net | grep -o "wl[^\t]\+")

表示无线接口,用en代替wl表示有线接口。

  • -I --interface使用网络接口。如果未指定此选项,则arp-scan将在系统接口列表中搜索编号最少的已配置向上接口(不包括环回)。
  • -l --localnet从网络接口配置生成地址。使用网络接口IP地址和网络掩码生成目标主机地址列表。
  • -t --timeout将每个主机的初始超时设置为ms,默认为100。此超时适用于发送到每个主机的第一个数据包。

0

还有一个免费的(商业许可证,无限期试用,最多显示5个设备)GUI应用程序WifiGuard


0

在Ubuntu上,通过单击gnome屏幕右上角的WiFi启动热点,然后选择WiFi和“ Wi-Fi设置”,打开配置,在菜单“打开Wi-Fi热点...”的右上方选择汉堡包。

在终端显示中,已连接的客户端iw dev wlan0站转储

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.