Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        3年前关闭。
                                                                                            
                
        
我正在尝试找到一种适当的方法,以在自己的代码(c \ c ++)中重用wifi工具(iw)的现有实现。我需要获取有关范围内的可用AccessPoint的信息(信号强度,mac地址等)。我找到了几个使用ioctl方法的示例代码(WEXT和其他代码),但它进行了被动扫描(并且我在网络中仅每两分钟获得一次新信息)[UPDATE1:感谢@fluter,我知道WEXT可以主动扫描。]。我发现iw进行了主动扫描,这就是我所需要的。所以我的问题是:


  有没有一种方法可以在我自己的应用程序中使用iw代码而不将其源代码分块地解析,或者也许有用于此目的的Wireless API?
  
  (UPDATE1:以基本的代码示例开头。)


Similar question

UPDATE2:我检查了任务,发现AP信息对我来说还不够,我也需要捕获客户端数据。这导致我对wifi数据包进行嗅探,而我发现做到这一点的最佳工具就是霍斯特。因此,我现在尝试在我的应用程序中重用其代码。

最佳答案

您可能希望以cfg80211开头。

cfg80211替换Wireless-Extensions并建议:


  所有新的Linux无线驱动程序应针对fullmac设备针对cfg80211或针对softmac设备针对mac80211进行编写。


另外,它写为:


  现在您可以编写cfg80211操作,而不是编写wext ioctls
  回调并填写wiphy结构以向cfg80211指示其
  设备功能。


要开始主动扫描,请启动here

07-27 13:41