用于 Linux 的 Wireless API in C 或 Java
我和我的团队正在一个基于无人机Parrot API的项目中工作。我们正在尝试找到一个api来编写一个小程序,该程序可以扫描无线网络并选择无人机ESSID。我们的主要语言是C,但Java也受到赞赏。
我试图寻找是否存在iwlist / iwconfig命令的任何API,但我没有找到任何东西。有人可以帮我吗?任何示例(代码示例)也将不胜感激。
谢谢
我和我的团队正在一个基于无人机Parrot API的项目中工作。我们正在尝试找到一个api来编写一个小程序,该程序可以扫描无线网络并选择无人机ESSID。我们的主要语言是C,但Java也受到赞赏。
我试图寻找是否存在iwlist / iwconfig命令的任何API,但我没有找到任何东西。有人可以帮我吗?任何示例(代码示例)也将不胜感激。
谢谢
对于较新的内核,用于管理无线网卡的框架称为nl80211。它是基于netlink的,所以你可以使用libnl发出命令并解析答案。更多信息:
https://wireless.wiki.kernel.org/en/developers/documentation/nl80211
目前,iw是利用nl80211的命令行实用程序,因此您可以列出可用的硬件,扫描等:
https://wireless.wiki.kernel.org/en/users/documentation/iw
它的源代码很容易在你自己的项目中研究和重用,只需查看他们的git存储库。
没有API,但你可以尝试:从java应用程序中执行iwconfig
您也可以尝试 http://kosmosisland.com/island/david/kosmos-island-wireless.php 。他们有一个Java小程序(带源代码),用于监视无线链接。你可以看到他们是如何做到的。
古斯塔沃