wlan wifi 以太网 桥接

You need to bridge the interface which is having an IP with the wifi

module. 

1) hostapd -i wlan0 /etc/hostapd.conf -B

2) ifconfig wlan0 up

3) ifconfig eth0 0.0.0.0

4) ifconfig wlan0 0.0.0.0

5) brctl addbr br0

6) brctl addif br0 eth0

7) brctl addif br0 wlan1s0

8) brctl show

9) ifconfig br0 up

10) udhcpc -i br0

 

Test on L4.9.88-2.0.0_ga  kernel.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用 wlanapi 扫描 WiFi 热点的步骤大致如下: 1. 初始化 WLAN API 库并获取 WLAN API 客户端句柄。 2. 枚举 WLAN 接口并获取需要使用的 WLAN 接口句柄。 3. 使用 WlanScan 函数扫描可用的 WiFi 热点。 4. 使用 WlanGetAvailableNetworkList 函数获取扫描到的 WiFi 热点列表。 5. 使用 WlanFreeMemory 函数释放获取到的热点列表内存。 6. 关闭 WLAN API 客户端句柄。 以下是一个简单的 C++ 代码示例,实现了扫描可用 WiFi 热点并输出其名称: ```c++ #include <windows.h> #include <wlanapi.h> #include <windot11.h> #include <iostream> #pragma comment(lib, "wlanapi.lib") int main() { DWORD dwMaxClient = 2; // 客户端版本号 DWORD dwCurVersion = 0; // 当前版本号 HANDLE hClient = NULL; // WLAN API 客户端句柄 DWORD dwRetVal = 0; // 返回值 // 初始化 WLAN API 库 dwRetVal = WlanOpenHandle(dwMaxClient, NULL, &dwCurVersion, &hClient); if (dwRetVal != ERROR_SUCCESS) { std::cout << "WLAN API 初始化失败!" << std::endl; return 1; } // 枚举 WLAN 接口并获取需要使用的 WLAN 接口句柄 PWLAN_INTERFACE_INFO_LIST pIfList = NULL; dwRetVal = WlanEnumInterfaces(hClient, NULL, &pIfList); if (dwRetVal != ERROR_SUCCESS) { std::cout << "WLAN 接口枚举失败!" << std::endl; return 1; } // 使用 WlanScan 函数扫描可用的 WiFi 热点 dwRetVal = WlanScan(hClient, &(pIfList->InterfaceInfo[0].InterfaceGuid), NULL, NULL, NULL); if (dwRetVal != ERROR_SUCCESS) { std::cout << "WLAN 扫描失败!" << std::endl; return 1; } // 使用 WlanGetAvailableNetworkList 函数获取扫描到的 WiFi 热点列表 PWLAN_AVAILABLE_NETWORK_LIST pAvailableNetworkList = NULL; dwRetVal = WlanGetAvailableNetworkList(hClient, &(pIfList->InterfaceInfo[0].InterfaceGuid), 0, NULL, &pAvailableNetworkList); if (dwRetVal != ERROR_SUCCESS) { std::cout << "WLAN 可用热点列表获取失败!" << std::endl; return 1; } // 输出扫描到的 WiFi 热点名称 for (DWORD i = 0; i < pAvailableNetworkList->dwNumberOfItems; i++) { std::cout << "WiFi 热点名称:" << pAvailableNetworkList->Network[i].dot11Ssid.ucSSID << std::endl; } // 使用 WlanFreeMemory 函数释放获取到的热点列表内存 WlanFreeMemory(pAvailableNetworkList); // 关闭 WLAN API 客户端句柄 WlanCloseHandle(hClient, NULL); return 0; } ``` 需要注意的是,这只是一个简单的示例代码,实际应用中还需要进行错误处理等其他操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值