本博客面向的是校内各专业的同学,语言对于专业人士来说可能比较啰嗦
获取登录数据包
首先在地址栏输入172. 然后根据给出的选项,选择带有wlanuserip的一条。
打开以后在页面按F12 打开网络(network) 开始记录数据包
接下来点一下连接,就得到了我们需要的数据包:
接下来我们把数据包复制为Powershell脚本,只需要右键数据包->复制->复制为powershell即可
如果一切正常,这一阶段的准备工作已经完成,接下来验证一下复制的内容是否正确:
注意,刚刚复制的数据包内容尽量不要泄露给别人,它可能包含你的账号密码信息,以及你宿舍所在的路由器的信息,尽管是已经加密过的数据,但也不能保证绝对安全。如果外泄,最轻微的后果是别人也可以用你的上网账号登陆。
我们可以试着在powershell执行刚才的复制脚本,
尝试是否可以通过powershell登录联网账号
首先到http://self.dgut.edu.cn/ 把上网账号强制下线
然后打开powershell
把刚才复制的内容粘贴进去,然后回车
就可以看到传回的状态200,说明发送成功,这时候再刷新http://self.dgut.edu.cn/ 的界面,发现已经在线,说明成功。进入下一步
构造自动执行脚本
接下来需要创建一个文本文档(.txt),把下面的代码粘贴进去:
while (1){
set str =$(ping -n 3 -w 80 baidu.com)`
echo $str
$result=[regex]::matches($str,'100% 丢失')
if($result.Success)
{
echo 怎么又没网了?发包
!!!替换掉这一行!!!
sleep 2`
}
else{
sleep 2`
}
}
只需要把文字 “!!!替换掉这一行!!!”替换成上一步复制的内容即可
保存,关闭这个txt,把文件名改成AutoConnect.ps1,这样,就写好了一个powershell脚本
接下来测试脚本是否可以运行:
在AutoConnect.ps1所在的目录下新建一个txt,写入:
start powershell -File "AutoConnect.ps1"
保存,改名为AutoConnect.cmd,双击执行
你会发现powershell一闪而过,隐约能看到上面有一行红字
这是因为没有修改执行策略,出于安全考虑,Windows默认禁止执行powershell脚本
只需要在打开powershell(用管理员身份运行)
输入
set-executionpolicy remotesigned
,回车,再输入y,回车
即可完成策略修改
这时候再运行刚才创建出来的AutoConnect.cmd
就可以正常运行
如果这时候校园网下线,可以看到:
出来这样一大串的信息,就是已经成功执行了发送联网登录的数据包
自动启动并后台执行
做完以上两步,把powershell放着就可以自动登录联网,但是关闭窗口之后功能就会失效,我们希望它能够后台执行,并且开机自启,所以我们需要进一步改进,并设置任务计划。
右键文件AutoConnect.cmd,选择编辑,删除原有的代码,输入:
start powershell -WindowStyle Hidden -Command "AutoConnect.ps1"
这一行命令的作用是执行AutoConnect.ps1的时候把窗口藏起来,也就是后台执行
接下来打开控制面板
切换成大图标
找到管理工具
打开任务计划程序
选择创建任务
输入以下内容:
选择触发器选项卡,新建一个触发器
选择‘启动时’
直接确定
选择‘操作’选项卡,新建一个操作
选择刚才修改完成的AutoConnect.cmd
最后直接确定即可
这时候已经完成了全部自动连接的配置,可以重新启动电脑然后强制下线,等待3s看看是否能够自动连接上
如果不行,回头看看是哪一步配置出了问题