讲师中心 微信公众号
AI工具推荐 视频效率加速

win10怎么连接指定BSSID的wifi热点?

夏明君_3096

夏明君_3096

发布时间:2024-09-06 19:00:14

|

1396人浏览过

|

来源于系统之家重装系统

转载

相信有不少小伙伴都遇到过无法连接到特定 bssid 的 wi-fi 热点的问题。php小编新一接下来就为大家带来详细的解决教程,帮助大家轻松连接到指定的无线网络。

win10怎么连接指定BSSID的wifi热点?

一、win10怎么连接指定BSSID的wifi热点?

通过BSSID连接WiFi

1.0 概述

有三种方法可以实现通过指定BSSID连接WiFi: 1. 使用免费闭源软件 2. 使用开源项目 3. 调用Windows API

2.0 免费闭源软件

2.1 NetSetMan

NetSetMan - Your Network Settings Manager

(1)官网主页

(2)该软件的WiFi管理工具可以做到连接指定BSSID

(3)安装信息

(4)软件使用

GUI模式下使用

①下载安装包https://www.netsetman.com/netsetman.exe,并完成安装,运行程序②打开WiFi管理页,WiFi列表中第一行是已连接的WiFi,如果列表显示的WiFi很少,可以点击扫描来手动扫描WiFi③取消勾选下方的第二个选项,关闭自动切换④双击任意一个AP即可切换,如果失败可再多尝试几次,或者重启程序。⑤命令行运行 netsh wlan show interfaces 查看所连WiFi的BSSID,显示已连接到指定BSSID的WiFi

命令行模式下使用

由于软件命令行支持很少,需要先在GUI模式下设置配置文件,再在命令行中调用该配置

先在GUI模式下生成配置,如图:

①打开配置选项卡②选择网络接口③勾选WiFi复选框④点击下拉列表,选择“通过MAC地址连接”⑤在弹窗中输入BSSID后确定⑥点击激活,保存设置⑦记住配置名(这里是profile1),下面要用到

myfirstgit
myfirstgit

通过 CLI 与 GitHub 交互,列出仓库、Issues、Pull Requests,并在自己的仓库中创建新 Issues。

下载
在命令行激活该配置,这里以上一步设置的"profile1"配置为例,在软件的同级目录下运行netsetman.exe -ah "profile1"即可实现在后台连接上文所配置的指定的WiFi。

(5)优点

多语言支持轻量级,仅17MB这是一个功能强大网络管理工具,连接WiFi仅仅只是这个软件的一个小功能,软件还提供了其他功能,比如设置IP、网关、DNS、修改MAC地址、IP扫描等等。

(6)缺点

主要是使用GUI进行操作,命令行支持不足,命令行操作不够灵活

2.2 WiFiInfoView

Scans wireless networks in your area

(1)官网主页

(2)软件使用

下载压缩包解压后即可运行,无需安装。

GUI模式下使用选中一个WiFi后按F2即可连接命令行模式下:连接SSID为CMCC-45u0,BSSID为50-FA-84-3E-D8-93的WiFi,输入WifiInfoView.exe /ConnectAP "CMCC-45u0" "50-FA-84-3E-D8-93"即可连接。

(3)优点

轻量级软件,软件仅1MB自动实时进行WiFi扫描,WiFi列表刷新快,时效性高能获取WiFi更详细的信息提供了足够的命令行支持,方便编写脚本实现自动化

3.0 开源项目 winwifimanager

https://github.com/jamestut/winwifimanager

实现原理:

调用Windows API

4.0 调用Windows API

通过学习上文提到的开源项目,可以发现连接指定BSSID的WiFi是通过调用Windows API实现的,其核心函数是wlanapi.h中的WlanConnect函数。推测上文的闭源软件也调用了这个API。

微软官方文档:

WlanConnect function (wlanapi.h) - Win32 apps

接下来用C语言演示一个使用该函数连接指定BSSID的WiFi的demo:

#define UNICODE#define _UNICODE#include <stdio.h>#include <windows.h>#include <wlanapi.h>int main(int argc, char *argv[]) { char *bssid_str; size_t len; WCHAR *profile_str; HANDLE handle; GUID guid; DWORD dwNegotiatedVersion; WLAN_INTERFACE_INFO_LIST *iface_list; NDIS_OBJECT_HEADER header; DOT11_BSSID_LIST bssidList; DOT11_MAC_ADDRESS bssid; WLAN_CONNECTION_PARAMETERS params; if (argc < 3) { printf("parameters BSSID and profile are needed\n"); return 0; } // get BSSID and profile bssid_str = argv[1]; len = strlen(argv[2]) + 1; profile_str = (WCHAR*)malloc(len*sizeof(WCHAR)); mbstowcs_s(NULL, profile_str, len, argv[2], _TRUNCATE); // get handle WlanOpenHandle((DWORD)1, NULL, &dwNegotiatedVersion, &handle); // get guid WlanEnumInterfaces(handle, NULL, &iface_list); guid = iface_list->InterfaceInfo[iface_list->dwIndex].InterfaceGuid; // set parameters header.Type = NDIS_OBJECT_TYPE_DEFAULT; header.Revision = DOT11_BSSID_LIST_REVISION_1; header.Size = sizeof(DOT11_BSSID_LIST); bssidList.Header = header; bssidList.uNumOfEntries = 1; bssidList.uTotalNumOfEntries = 1; // get BSSID from bssid_str for (int i=0; i<6; i++) { sscanf(bssid_str+i*3, "%2x", bssidList.BSSIDs[0]+i); } memset(&params, 0, sizeof(params)); params.wlanConnectionMode = wlan_connection_mode_profile; params.strProfile = profile_str; params.pDesiredBssidList = &bssidList; params.dot11BssType = dot11_BSS_type_any; // connect BSSID WlanConnect(handle, &guid, &params, NULL); printf("done\n"); return 0;}

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

509

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

1638

2024.03.01

typedef和define区别
typedef和define区别

typedef和define区别在类型检查、作用范围、可读性、错误处理和内存占用等。本专题为大家提供typedef和define相关的文章、下载、课程内容,供大家免费下载体验。

313

2023.09.26

define的用法
define的用法

define用法:1、定义常量;2、定义函数宏:3、定义条件编译;4、定义多行宏。更多关于define的用法的内容,大家可以阅读本专题下的文章。

599

2023.10.11

printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

588

2023.06.20

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

989

2023.11.28

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

4959

2023.08.02

int占多少字节
int占多少字节

int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2565

2024.08.29

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

120

2026.09.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 7.8万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn