Ubuntu16.04自动登录登出校园网

需求

学校的校园网是web认证的,即使不登出关机时间长了也会自动下线,每次开机都要重新登录,遂折腾了一下自动登录,顺便用service方法设置了关机自动登出

方法

开机自动登录

1. 在登录页进行wireshark抓包,获取链接和发送的内容
Ubuntu16.04自动登录登出校园网_第1张图片
可以看到链接是http://*.*.*.*/login,发送账号密码的字段分别为user和pass
2. 测试
使用curl -d "user=账号&pass=密码" *.*.*.*/login登录成功
3. 设置开机自动连接
使用vim ~/.config/autostart/login.desktop创建并编辑自启文件,然后输入以下代码(账号密码和链接根据实际情况输入)

Type=Application
Exec=curl -d "user=账号&pass=密码" *.*.*.*/login
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[zh_CN]=autologin
Name=autologin
Comment[zh_CN]=自动登录
Comment=自动登录

关机自动登出

1. 在web登出时进行抓包
在这里插入图片描述
可以看到仅向认证URL发送了一个GET包
2. 测试
使用curl "*.*.*.*/logout"登出成功
3. 设置关机自动登出
(参考:https://blog.csdn.net/xiaohu50/article/details/79268538)

  • /home/zyq/模板/目录(自选)下新建logout.sh,内容如下
#! /bin/bash
curl "http://*.*.*.*/logout"
  • /lib/systemd/system/目录新建logout.service文件,内容如下
[Unit]
Description=Run command at shutdown
# 假设要执行的命令依赖网络
Requires=network.target
DefaultDependencies=no
Conflicts=reboot.target
Before=shutdown.target

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/bin/bash /home/zyq/模板/logout.sh

[Install]
WantedBy=multi-user.target
  • 然后输入sudo systemctl daemon-reload重新加载systemd配置
  • 输入sudo systemctl enable cleanup.service链接service以使其开启启动

你可能感兴趣的:(linux折腾)