长大校园网自动连接

连接校园网

1.前情提要

每次当我们打开电脑发现出现🚫📶网络未连接,然后我们熟悉的打开了下面的wifi设置点击网络点击连接,然后你就喜提一个非常nice的界面:

image-20230407161015846

然后我们循规蹈矩的输入账号输入**㊙️码**。。。。。这个过程说实在一次两次还可以,但是每次都这样过分了!!

image-20230407161318469

然后就想能不能写个程序写到开机自启动的时候让它帮我们连接呢???也就是不用进行web页面跳转输密码!!

image-20230407161637916

这不就来了吗?就拿我们长大的校园网开刀了,保证大家不懂原理就可以实操,跟着教程来,完全不用动🧠,首先声明一点这篇文章也是参考这个文章

2.原理初探

就是当我们连接上校园网跳转到网页时,当点击登录的时候会发送一个post请求给后台来认证,然后发送请求的协议也是http1.1,所以我们要模仿的就是当连上网,让程序帮我们发送一段post请求去提交我们的用户名和密码。大概就是这个思路,很好理解的。废话不都说开始动手实践。

image-20230407163316352

3.动手实操

首选我们需要明确下环境对于不想遇见杂七杂八的问题的小伙伴请跟我用同一款编译器,因为我也遇见一些扯淡的问题。可能我们环境不同,建议如果遇见问题就去找度娘。不过操作下来应该问题不大。

软件需求:

VS2019、FiddlerWindows 10 or 11

首先就是安装一个抓包工具,很小的9MB大小,不知道怎么安装??

image-20230407164450790

没事你不需要知道你只要跟着做就行!!

1.Fiddler 安装
image-20230407115518536

接着就会出现这个界面,第一个随便选,第二个随便填注意一下格式就行,第三个选China.

image-20230407115920126

然后我们静等软件下载完成,然后打开进行安装。

image-20230407120150277

需要你记住安装到那个目录一会需要打开!!!如果安装给你桌面生成快捷方式了这就不需要记住也行😏

image-20230407120323419

如果生成快捷方式你就点击快捷方式进行,我的没有生成,我就说一下我的操作,打开所在软件目录,运行Fiddler.exe文件

image-20230407165116309

**然后就…**大功告成

image-20230407120626043

2.开始抓包

**上面的程序不要关!!**首先我们进入这个熟悉的界面

image-20230407161015846

输入我们可爱的账户密码进行登录完成后打开抓包软件,以后就要和他sayGoodBye了,你会看到:

image-20230407170357748

接着跟我进行如下操作:

image-20230407170940280

我么需要的是这个

image-20230407171155675

3.项目的建立

image-20230407171600099

image-20230407171626824

image-20230407171807450

image-20230407171846153

image-20230407172004929

拷贝下面的代码:

#include<stdio.h>
#include<windows.h>
#pragma comment (lib,"ws2_32.lib")  // 连接动态库。
int main() {
	// 1 请求协议版本。
	WSADATA wsaData;
	WSAStartup(MAKEWORD(2, 2), &wsaData);
	if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) {
		printf("请求协议版本失败。\n");
		return -1;
	}
	printf("请求协议成功。\n");

	// 2 创建socket函数。
	SOCKET clientSocket;
	clientSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
	if (SOCKET_ERROR == clientSocket) {
		printf("创建socket失败。\n");
		WSACleanup();
		return -2;
	}
	printf("创建socket成功。\n");

	// 3 获取服务器地址族。
	SOCKADDR_IN addr = { 0 };
	addr.sin_family = AF_INET; // 协议版本
	addr.sin_addr.S_un.S_addr = inet_addr("172.18.8.37"); // 这里应该写校园网服务器地址。
	addr.sin_port = htons(80); // 连接到http协议默认的80号端口

	// 4 连接到服务器。
	int r = connect(clientSocket, (struct  sockaddr*)&addr, sizeof(addr));
	if (r == -1) {
		printf("连接服务器失败。\n");
		closesocket(clientSocket);
		WSACleanup();
		return -1;
	}
	printf("服务器连接成功。\n");

	// 5 向服务器发送一次数据。
	static char send_buff[1024];
    //需要替换的东西
	strcpy(send_buff, "POST http://172.18.8.37/0.htm HTTP/1.1\r\n"\
		"Host: 172.18.8.37\r\n"\
		"Connection: keep-alive\r\n"\
		"Content-Length: 62\r\n"\
		"Cache-Control: max-age=0\r\n"\
		"Upgrade-Insecure-Requests: 1\r\n"\
		"Origin: http://172.18.8.37\r\n"\
		"Content-Type: application/x-www-form-urlencoded\r\n"\
		"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62\r\n"\
		"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\r\n"\
		"Referer: http://172.18.8.37/0.htm\r\n"\
		"Accept-Encoding: gzip, deflate\r\n"\
		"Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6\r\n"\
		"x-forwarded-for: 4.2.2.2\r\n"\
		"\r\n"\
		"DDDDD=******%40xyw&upass=*****&0MKKey=%B5%C7+%C2%BC&v6ip=");
	r = send(clientSocket, send_buff, strlen(send_buff), 0);
	if (r > 0) {
		send_buff[r] = '\0';
		printf("发送成功!>> %s\n", send_buff);
	}

	// 6 从服务器接收一次数据
	char recv_data[1024];
	r = recv(clientSocket, recv_data, 1024, 0);
	if (r > 0) {
		recv_data[r] = '\0';
		printf("接收成功!>>%s\n", recv_data);
	}

	// 8 关闭socket通信。
	closesocket(clientSocket);

	// 9 清理协议信息。
	WSACleanup();
	return 0;
}

我们抓取的包中含有的信息:(下面的我的账号和密码我就先隐藏了用 ****)代替

POST http://172.18.8.37/0.htm HTTP/1.1
Host: 172.18.8.37
Connection: keep-alive
Content-Length: 62
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://172.18.8.37
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://172.18.8.37/0.htm
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
x-forwarded-for: 4.2.2.2

DDDDD=*******%40xyw&upass=*******&0MKKey=%B5%C7+%C2%BC&v6ip=

所以我们需要做的就是将你抓的包改造一下复制进去!!怎么改造呢?

image-20230407172809495

很简单就是为了确保这个包格式和我们抓取的一样,所以需要我们再后面添加\r\n改造结果如下

"POST http://172.18.8.37/0.htm HTTP/1.1\r\n"\
"Host: 172.18.8.37\r\n"\
"Connection: keep-alive\r\n"\
"Content-Length: 62\r\n"\
"Cache-Control: max-age=0\r\n"\
"Upgrade-Insecure-Requests: 1\r\n"\
"Origin: http://172.18.8.37\r\n"\
"Content-Type: application/x-www-form-urlencoded\r\n"\
"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.62\r\n"\
"Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7\r\n"\
"Referer: http://172.18.8.37/0.htm\r\n"\
"Accept-Encoding: gzip, deflate\r\n"\
"Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6\r\n"\
"x-forwarded-for: 4.2.2.2\r\n"\
"\r\n"\
"DDDDD=******%40xyw&upass=*****&0MKKey=%B5%C7+%C2%BC&v6ip="  //这里是你自己的账号和密码千万别搞***

然后看上面的代码一大坨,就把那个修改了就行.

快好了,然后我们就接着修改配置(我运行除了一个错应该是动态连接库的问题)

image-20230407173602896

_CRT_SECURE_NO_WARNINGS

接着进行如下操作后:

image-20230407173757111

出现一个编辑框:你需要将这个代码复制进去: _CRT_SECURE_NO_WARNINGS

image-20230407173946165

然后点击确认这个预处理框会关闭,接着点击应用–>确认

image-20230407174101668

4.测试一下
image-20230407174149963

运行程序,点击如下按钮:

image-20230407174257882

看看效果如图所示,大功告成了!!

image-20230407174456344

image-20230407174538287

然后最最重要的来了把这个程序给集中到我们的开启自启项,这个真的超级超级简单!!!

5.集成开机启动项

首先我们打开改项目的目录,前提是你运行成功了!!!

image-20230407175143642

接着进入Debug目录

image-20230407175232305

复制exe文件

image-20230407175319942

接着我们按下win+r ,输入shell:common startup

image-20230407175636470

如果不会win+r,可以这样操作也行😏

image-20230407175829499

然后会看到一个文件夹,然后将exe文件复制进去就OK了

image-20230407175948463

然后就到了测试环节了,首先将CHD-WiFi的配置中在范围内自动连接打开.

image-20230407180123220

完结

综上,到达这一步 一切都成功了,以后只要你不主动取消连接,他都能自动的连上校园网,不用进入web页面,如果它不能自动连接那就可能出现一下问题,

smirk:

[外链图片转存中…(img-ijVBIt0f-1680862175435)]

然后会看到一个文件夹,然后将exe文件复制进去就OK了

[外链图片转存中…(img-RtiDaM3E-1680862175435)]

然后就到了测试环节了,首先将CHD-WiFi的配置中在范围内自动连接打开.

[外链图片转存中…(img-Gsz7BE6G-1680862175435)]

完结

综上,到达这一步 一切都成功了,以后只要你不主动取消连接,他都能自动的连上校园网,不用进入web页面,如果它不能自动连接那就可能出现一下问题,

​ 1.上面的 在信号范围内时自动连接属性没打开,但是这也不妨碍它的方便,你可以打开它,也可以不打开不过你需要点击WiFi手动连接,但是不需跳转输入密码,笑话😏如果还输入密码,这不就配置了寂寞。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值