学校内网服务器连接外网

664 阅读4分钟

参考博客:Linux通过命令行远程连接校园网 - 胡椒的 Coding Room (junyaohu.github.io)

以防灾科技学院校园网为例演示

1、基本信息

 服务器ssh:
     ip1:172.17.*.*
     root账号(非root账号也可以):root
     密码:******
     
 校园网有线网络登录地址(任意一个):
     网址:https://*
     ip地址:http://*
     
 校园网账号密码

2、本机连接校园网,获取cURL

打开校园网登录网址,按F12打开检查页,选择网络,勾选保留日志

输入校园网账号、密码,点击连接网络

image.png

登录成功后,右键点击登录对应的POST或GET请求(一般在前三个),依次点击复制、复制为cURL(bash)

image.png

cURL(bash)内容示例:

 # 对敏感信息使用 * 替换
 curl 'https://*/' \
   -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
   -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' \
   -H 'Cache-Control: max-age=0' \
   -H 'Connection: keep-alive' \
   -H 'Content-Type: application/x-www-form-urlencoded' \
   -H 'Cookie: zg_did=%7B%22did%22%3A%20%2218e473cbea1f10-0fa73df2c189e2-4c657b58-190140-18e473cbea215bc%22%7D; zg_=%7B%22sid%22%3A%201710592147108%2C%22updated%22%3A%201710592147111%2C%22info%22%3A%201710592147110%2C%22superProperty%22%3A%20%22%7B%7D%22%2C%22platform%22%3A%20%22%7B%7D%22%2C%22utm%22%3A%20%22%7B%7D%22%2C%22referrerDomain%22%3A%20%22ehall.cidp.edu.cn%22%2C%22cuid%22%3A%20%2222661348%22%7D' \
   -H 'Origin: https://*' \
   -H 'Referer: https://*/' \
   -H 'Sec-Fetch-Dest: document' \
   -H 'Sec-Fetch-Mode: navigate' \
   -H 'Sec-Fetch-Site: same-origin' \
   -H 'Sec-Fetch-User: ?1' \
   -H 'Upgrade-Insecure-Requests: 1' \
   -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0' \
   -H 'sec-ch-ua: "Not/A)Brand";v="8", "Chromium";v="126", "Microsoft Edge";v="126"' \
   -H 'sec-ch-ua-mobile: ?0' \
   -H 'sec-ch-ua-platform: "Windows"' \
   --data-raw 'DDDDD=********&upass=********&0MKKey=%C1%AC%BD%D3%CD%F8%C2%E7'

3、内网服务器连接外网

打开FinalShell,通过ssh连接到服务器

image-20240622180915711.png

当前服务器不能访问外网

image-20240622181348334.png

粘贴复制的cURL,并执行

image.png

 # 报错
 curl: option --data-raw: is unknown
 curl: try 'curl --help' or 'curl --manual' for more information
     
 # 原因
 --data-raw选项未被识别:错误信息显示 curl: option --data-raw: is unknown,使用的curl版本可能不支持 --data-raw 这个选项。可以使用 --data 或 -d 来传递表单数据。
         
 # 解决方法:将cURL中的 --data-raw 修改为 --data
 curl 'https://*/' \
   -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
   -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' \
   -H 'Cache-Control: max-age=0' \
   -H 'Connection: keep-alive' \
   -H 'Content-Type: application/x-www-form-urlencoded' \
   -H 'Cookie: zg_did=%7B%22did%22%3A%20%2218e473cbea1f10-0fa73df2c189e2-4c657b58-190140-18e473cbea215bc%22%7D; zg_=%7B%22sid%22%3A%201710592147108%2C%22updated%22%3A%201710592147111%2C%22info%22%3A%201710592147110%2C%22superProperty%22%3A%20%22%7B%7D%22%2C%22platform%22%3A%20%22%7B%7D%22%2C%22utm%22%3A%20%22%7B%7D%22%2C%22referrerDomain%22%3A%20%22ehall.cidp.edu.cn%22%2C%22cuid%22%3A%20%2222661348%22%7D' \
   -H 'Origin: https://*' \
   -H 'Referer: https://*/' \
   -H 'Sec-Fetch-Dest: document' \
   -H 'Sec-Fetch-Mode: navigate' \
   -H 'Sec-Fetch-Site: same-origin' \
   -H 'Sec-Fetch-User: ?1' \
   -H 'Upgrade-Insecure-Requests: 1' \
   -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0' \
   -H 'sec-ch-ua: "Not/A)Brand";v="8", "Chromium";v="126", "Microsoft Edge";v="126"' \
   -H 'sec-ch-ua-mobile: ?0' \
   -H 'sec-ch-ua-platform: "Windows"' \
   --data 'DDDDD=********&upass=********&0MKKey=%C1%AC%BD%D3%CD%F8%C2%E7'

执行新的cURL,登录成功(字体显示乱码)

image-20240622182320375.png

测试网络连接

image.png