小编典典

如何获得Linux上可用无线网络的列表?

linux

我想获得可用无线网络的列表。理想情况下,这将通过一些C调用进行,但是我不介意是否必须通过系统调用来混淆它。如果所需的C调用或程序不需要某些奇特的第三方包,甚至会更好。

互联网似乎建议我使用sudo iwlist <interface> scan从命令行确实可以解决问题的技巧,但是我宁愿不需要root权限。我只想了解基础知识,什么也不想改变。


阅读 885

收藏
2020-06-02

共1个答案

小编典典

无线工具包-它的iwlist是其中的一部分-
还包含一个无线工具帮助程序库。您需要包含 iwlib.h 并与 libiw.a 链接(即添加-liw)。然后查找
iw_set_ext 函数的文档。该 SIOCSIWSCAN
参数将是最有用的。有关如何使用此接口的示例,请查看KDE库中的KWifiManager源(请参阅:Interface_wireless_wirelessextensions
::
get_available_networks
方法)。或者,您也可以下载Wireless
Tools源代码,
并了解如何在iwlist.c中将iwlib
iw_set_ext函数也用于扫描。

至于特权,我认为该进程将需要以root用户身份运行才能执行扫描。我很想知道是否也可以这样做。

由于您使用的是Ubuntu 8.04,因此应该使用libiw-dev软件包。

2020-06-02