树莓派命令行下登陆校园网

树莓派命令行下登陆校园网

转载注明出处:http://blog.csdn.net/github_37603222/article/details/78968887

笔者是某理工大学的学生,我们学校的校园网是无密码登陆,但是需要网络认证,以下贴出我的登陆方法,可能只适用一部分人,仅供参考。

登陆界面

因为我比较穷,没钱给树莓派配屏幕,只好想办法再命令行界面下进行登录认证,其实所谓的登录认证,也就是在本地向服务器POST一段数据,这段数据包含着你的登陆账户和密码。什么是POST呢,这是HTTP协议中的一个方法,具体详见 维基百科-超文本传输协议 。我们首先来看它会向服务器POST什么数据,我使用 Fiddler 进行数据的抓包,使用简易教程见 Fiddler抓包简易教程 。你也可以使用浏览器的F12功能进行调试,只不过没有Fiddler方便。

请求

我们可以看到发起了这么多的请求,其实只有一个是登陆时的POST请求,其他的是登陆成功后对其他资源的请求。我们可以看见第三条中的URL里面有一个success字样,这是登陆成功后返回的jsp页面。我们查看它的上一条请求在右侧窗口中可以看到请求的样式,我们不看Fiddler对请求和响应的格式分析结果,只看它们的原始字符串,单击Raw可以看到如下界面。

这里写图片描述

其中右上方的的字符串是POST请求的全部内容,右下方是登陆成功后的响应。我为什么不一个一个分析它的请求头响应头什么的?因为我接下来不会用HTTP协议向服务器发送请求,而是用TCP/IP协议发送请求。TCP/IP协议详见 维基百科-TCP/IP
因为该请求是HTTP请求,所以服务器端口是80 。而服务器网址为 auth.dlut.edu.cn ,所以很容易发起一个TCP请求,然后获取它的响应。我们将Filder上面的请求字符串全部复制下来,然后通过TCP协议发送给服务器,然后等待响应字符串,简单粗暴。代码如下:

代码

获得的相应如下:

响应

可见已经成功了。

切到源代码文件目录,打开cmd,输入如下代码:

javac -encoding utf8 -d . .\Main.java 

该目录中会产生一个名为http的目录,将该目录移动到树莓派中去,目录里面是编译好的class字节码。
树莓派的raspbian系统自带jdk,所以直接运行如下代码即可.

java http.Main

但是在这之前需要在树莓派的配置文件中添加相应的wifi。如下代码:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

在其中添加:

network={
        ssid="wifi名称"
        key_mgmt=NONE
}

重启树莓派,或者:

sudo iwconfig wlan0 essid wifi名称

即可连接校园网的wifi,然后执行之前的指令即可登陆成功。

代码地址:github:crazyStrome

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值