当前位置: 首页 > news >正文

武汉资讯网四川seo排名

武汉资讯网,四川seo排名,国际军事新闻今日头条,拍网制作方法图片教程引言 前面已经对BQ3568HM开发板进行了初步测试,后面我要实现MQTT的工作,但是遇到一个问题,就是开发板无法通过校园网的认证操作。未认证的话会,学校使用的深澜软件系统会屏蔽所有除了认证用的流量。好在我们学校使用的认证系统和…

引言

前面已经对BQ3568HM开发板进行了初步测试,后面我要实现MQTT的工作,但是遇到一个问题,就是开发板无法通过校园网的认证操作。未认证的话会,学校使用的深澜软件系统会屏蔽所有除了认证用的流量。好在我们学校使用的认证系统和清华大学是相同的,而有个清华的大牛已经逆向分析了深澜软件所使用的认证算法,所以我可以借用一下他的研究,详细内容可以参考:让f1c100s开发板通过认证接入校园网 - 可爱无辜猫猫头 - 博客园title: 让f1c100s通过认证接入校园网 date: 2023-08-22 17:02:22 tags: categories: embedded 书接上回,我们给一块小小的f1c100s开发板上配好了以太网的驱动,但是由于学校的校园网需要认证,未认证的话会使用防火墙屏蔽所有除了认证用的流量https://www.cnblogs.com/maomaotou-thu/p/17649558.htmlhttps://www.cnblogs.com/maomaotou-thu/p/17649558.html

工作原理

深澜的portal认证,总共就两步,并且写进了网页的js里边,所以要实现认证上网只需要分析其代码,然后将JavaScript代码转换为C++,当然这个工作极其麻烦。

认证过程分为两步,第一步是challenge。通过调用这个接口我们得到了待认证客户端的ip地址和服务端传来的token令牌。接下来,需要使用这个令牌生成一堆签名。

准备好以上数据后就可以调用srun_portal接口了,这个地址只需从challenge的url中把challenge替换成srun_portal就可以得到。

清华同学的程序仓库参见:GitHub - gtxzsxxk/thulogin: 贵校校园网portal认证,CLI界面,用于嵌入式设备贵校校园网portal认证,CLI界面,用于嵌入式设备. Contribute to gtxzsxxk/thulogin development by creating an account on GitHub.https://github.com/gtxzsxxk/thuloginhttps://github.com/gtxzsxxk/thulogin

程序移植到OpenHarmony

接下来介绍如何修改上面的代码,将程序移植到BQ3568HM开发板。

CMakeFiles.txt

Thulogin的CMake版本要求太高了,修改一下CMakeFiles.txt的第一行:

cmake_minimum_required(VERSION 3.16.1)

PwdInput.h和PwdInput.cpp

 这两个文件是为了输入密码的,它用到了getpass这个函数,不过我使用的OpenHarmony SDK的Native工具不包括这个函数,所以修改如下:

.h文件:

#if defined(_WIN32) || defined(__CYGWIN__) || defined(__MUSL__)
#include <iostream>
#ifndef __MUSL__ 
#include <conio.h>
#endif
#else

.cpp文件:

std::string pwd_input(std::string prompt) {std::string pwd;
#if defined(_WIN32) || defined(__CYGWIN__) || defined(__MUSL__ )std::cout << prompt;/* TODO: more elegant way */std::cin >> pwd;
#elsepwd = getpass(prompt.c_str());
#endifreturn pwd;
}

因为不知道OpenHarmony中哪个预定义的宏表示当前是OH系统,所以用__MUSL__ 临时代替。

程序编译

然后使用如下命令行进行程序编译:

g:\Huawei\OpenHarmony\Sdk\11\native\build-tools\cmake\bin\cmake -G Ninja -B out -DCMAKE_TOOLCHAIN_FILE=g:\Huawei\OpenHarmony\Sdk\11\native\build\cmake\ohos.toolchain.cmake -DCMAKE_MAKE_PROGRAM=g:\Huawei\OpenHarmony\Sdk\11\native\build-tools\cmake\bin\ninja.exe -DCMAKE_BUILD_WITH_INSTALL_RPATH=true -DOHOS_ARCH=armeabi-v7a

 这里的OHOS_ARCH变量是根据BQ3568HM开发板默认镜像设置的,如果采用的镜像不同,可能需要修改一下。

生成makefile之后,执行如下命令产生可执行文件:

g:\Huawei\OpenHarmony\SDK\11\native\build-tools\cmake\bin\cmake --build out

运行结果

先看一下网卡的IP地址。

# ifconfig
lo        Link encap:Local Loopbackinet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope: HostUP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:0 TX bytes:0eth0      Link encap:Ethernet  HWaddr 28:75:d8:ba:22:c4  Driver rk_gmac-dwmacinet addr:10.15.6.24  Bcast:10.15.7.255  Mask:255.255.254.0inet6 addr: fe80::2a75:d8ff:feba:22c4/64 Scope: LinkUP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:879 errors:0 dropped:0 overruns:0 frame:0TX packets:92 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:62514 TX bytes:20916Interrupt:46eth1      Link encap:Ethernet  HWaddr 28:75:d8:ba:22:c3  Driver rk_gmac-dwmacUP BROADCAST MULTICAST  MTU:1500  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:0 TX bytes:0Interrupt:58wlan0     Link encap:Ethernet  HWaddr f8:54:f6:0a:e1:f1  Driver bcmsdh_sdmmcinet6 addr: fe80::fa54:f6ff:fe0a:e1f1/64 Scope: LinkUP BROADCAST MULTICAST  MTU:1500  Metric:1RX packets:4 errors:0 dropped:81 overruns:0 frame:0TX packets:18 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:102 TX bytes:1227

将thulogin可执行文件和libc++_shared.so拷贝到板子上,然后就可以在hdc shell中执行如下命令:

 ./thulogin --server http://10.0.0.55 --user 6120100000 --pwd 12345678  --ac-id 8

 程序执行过程如下:

****** thulogin ******
*** Initializing*** Auth Server: http://10.0.0.55
*** Auth Ac_id: 8
*** Auth U/A: Mozilla/5.0 (Windows NT 10.0; Win64; x64)*** Start authenticating...
*** Authenticate Username: 6120100000
*** Logged in successfully!

联网成功。看看能不能ping到外网。

# ping www.baidu.com
Ping www.baidu.com (110.242.69.21): 56(84) bytes.
64 bytes from 110.242.69.21: icmp_seq=1 ttl=51 time=10 ms
64 bytes from 110.242.69.21: icmp_seq=2 ttl=51 time=10 ms
64 bytes from 110.242.69.21: icmp_seq=3 ttl=51 time=10 ms--- 110.242.69.21 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss
round-trip min/avg/max = 10/10/10 ms

再登录到自助服务平台看看。

 确实已经上网了。

结语

上网之后,无法从OpenHarmony的界面看到上网状态,但是确实可以工作。

最后再次感谢可爱无辜猫猫头所做的分析工作。

http://www.hkea.cn/news/189895/

相关文章:

  • 手机网站建设用乐云seo搜索引擎是什么意思啊
  • 昆明做大的网站开发公司google网页搜索
  • 做网站运营需要什么证宁波靠谱营销型网站建设
  • 天津进口网站建设电话青岛网站建设公司
  • 游戏币网站建设win7优化大师官方网站
  • 技术专业网站建设班级优化大师网页版登录
  • 外国网站上做雅思考试台州百度推广优化
  • 男女做那种的的视频网站国内最好的搜索引擎
  • 泉州做网站优化价格成功品牌策划案例
  • 做网站去哪个平台资源优化排名网站
  • 备案的网站名称可以改吗百度青岛代理公司
  • 专做进口批发的网站关键词优化多少钱
  • 做网站有了空间在备案吗百度权重高的网站有哪些
  • 做空间的网站著名的网络营销案例
  • 做网站客户尾款老不给怎么办百度推广年费多少钱
  • 想要将网站信息插到文本链接怎么做百度关键词搜索
  • 江苏网站备案要多久seo域名综合查询
  • 大型网站建设机构津seo快速排名
  • 建设证件查询官方网站宁波做网站的公司
  • 那些网站招聘在家里做的客服网店推广策略
  • 湘西 网站 建设 公司sem代运营托管公司
  • 用css为wordpress排版西安seo外包服务
  • vs2005做网站百度推广官方网站登录入口
  • 乐从网站建设公司北京seo优化推广
  • 如何在网上接做网站的小项目市场监督管理局电话
  • 淘宝购物站优化
  • 石家庄最新疫情轨迹河南网站优化公司哪家好
  • 网站色彩搭配服务器ip域名解析
  • 哪个网站专业做安防如何注册域名网站
  • 穆棱市住房和城乡建设局网站关键词词库