如何检测已知无线设备何时加入Linux上的无线局域网

niw*_*iw3 5 linux embedded wireless dhcp

我将使用运行基于Linux的操作系统的单板计算机(SBC)制作移动设备检测器.SBC将配备USB/802.11无线适配器.SBC将是DHCP服务器.移动设备将加入SBC的无线网络(adhoc或基础设施,无关紧要).当移动设备加入网络时,SBC将检测到它.它将使用一组接受的地址检查传入移动设备的MAC地址.如果匹配,SBC将执行命令.

我有基本的Linux知识.我不能写shell脚本,但我知道C++/Qt.我不知道从哪里开始.您是否知道在此项目中使用的相关命令行实用程序或库?

PS:也许我只需要一种方法来检测dhcp客户端列表何时更改.与mac地址过滤一起,这可能有效.

Zso*_*kai 0

您可以用来nmap发现您的网络。在这里您可以找到一些示例。

\n\n

然后你应该解析它的输出。例如:

\n\n
while true; do\n    nmap -v -sT 192.168.0.0/24 | fgrep "YOUR_SEARCHED_IP" && \\\n    echo BINGO "YOUR_SEARCHED_IP" IS IN THE 192.168.0.0/24 NETWORK\ndone  \n
Run Code Online (Sandbox Code Playgroud)\n\n

并且nmap有一个-sn跳过端口检查。

\n\n

更好的是你可以使用ip neighbor show查看您的邻居网络的 IP 地址。

\n\n

或者你可以使用一个简单的ping测试,例如:

\n\n
for ip in $(seq 1 254); do \n    ping -c 1 192.168.1.$ip>/dev/null && \\\n    echo \xe2\x80\x9c192.168.1.$ip is UP"\ndone\n
Run Code Online (Sandbox Code Playgroud)\n\n

你可以将它与nslookup查看主机名。

\n