C或Java中的Linux无线API

我和我的团队正在基于无人机Parrot API的项目中工作。 我们试图find一个API来编写一个小程序,它可以扫描无线networking并select无人机ESSID。 我们的主要语言是C,但Java也是赞赏。

我试图查看是否存在iwlist / iwconfig命令的任何API,但是我没有find任何东西。 有人可以帮我吗? 任何示例(代码示例)也将不胜感激。

格拉西亚斯

Solutions Collecting From Web of "C或Java中的Linux无线API"

更新的内核管理无线网卡的框架被称为nl80211 。 这是基于netlink的,所以你可以使用libnl来发布命令并解析答案。 更多信息:

http://wireless.kernel.org/en/developers/Documentation/nl80211

目前iw是利用nl80211的命令行工具,所以你可以列出可用的硬件,扫描等:

http://linuxwireless.org/en/users/Documentation/iw

它的源代码很容易在自己的项目中学习和重用,只要看看他们的git回购。

没有API,但你可以尝试: 从Java应用程序中检查iwconfig

您也可以尝试http://kosmosisland.com/island/david/kosmos-island-wireless.php 。 他们有一个监视无线链接的Java小程序(带有源代码)。 你可以看到他们是如何做到的。

古斯塔沃