如何破解机房的断网(通用方法)
CodeBoy
·
2024-05-25 13:28:15
·
个人记录
背景:一两个月以来,上信息课的时候总是没有互联网可用,让我们这群 OIer 苦不堪言。所以我决定下血本(14RMB)为机房打开断网的枷锁,造福人类。
准备工具
一个可用的 USB 网卡(最好是免驱动的,且不要太显眼)
一个 U 盘(不是必需)
一颗略懂一些网络相关知识的头脑
IMPORTANT:一个能够收到教育网WIFI信号的机房
开始操作
注:以下操作均在 Windows 7 (64bit) 下进行
Round 1 - 开始作案
插入无线网卡,安装好驱动,连接上教育网 WIFI。
如果此时浏览器跳出来教育网的验证界面,就直接随便找一个能用的账号登上去,大概就能让你自己的电脑上网了。
如果像我一样跳不出验证界面,可以尝试在控制面板中把机箱自带的有线网卡禁用了,此时应当就会跳出验证界面,然后登录即可。
Round 1.5 - 解决网卡问题
此时你的电脑应该已经能够上网了,但是独乐乐不如众乐乐,下一步就是让机房的其他人也连上网络。
下面的操作需要懂一些网络知识,否则很容易失败(欧皇除外)
抄作业(依次输入下面的指令, 用于解决不能同时访问局域网和互联网的问题):
route add -p 192.168.1.0 mask 255.255.255.0 192.168.1.1 metric 10 if 11
这个命令表示添加一条永久性的静态路由,使得到局域网的数据包(目的IP在192.168.1.0/24范围内)都通过接口11(局域网网卡)和网关192.168.1.1来路由。metric 10表示此路由的优先级。
route delete 0.0.0.0 if 12
此命令删除通过接口12(假设其为以太网适配器)的默认网关。
然后重置网卡:
点击“开始”按钮,选择“控制面板”。
点击“网络和共享中心”。
在左边的菜单中选择“更改适配器设置”。
右键点击您想要重启的网络适配器(无线或有线网络适配器),然后选择“禁用”。
稍等几秒钟后,再次右键点击同一个适配器,这次选择“启用”。
此时你的电脑应该可以正常上网,且能同时访问局域网(可以连上极域).
Round 2 - 搭建 Apache 代理服务器
通过网络或者是提前准备好的 U盘, 下载 Apache 24, 最好直接解压到 C 盘到 C:\Apache24 里.
然后开始配置代理服务器
打开配置文件 Apache24/conf/httpd.conf:
修改根目录为自己放置Apache24的目录,这里不修改启动会报错
*Listen端口修改(将 `` 修改成自己要监听的端口和 ip)**
Listen *.*.*.*:****
加载所需的模块
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_html_module modules/mod_proxy_html.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule xml2enc_module modules/mod_xml2enc.so
注释掉ssl模块,不然启动的时候需要443端口会报错
#LoadModule ssl_module modules/mod_ssl.so
在最后添加Proxy配置, 开启Apache正向代理并允许所有的请求可以访问代理
ProxyRequestsOn
Requireall granted
配置完成
然后使用命令行进入 Apache24/bin 目录, 输入 httpd -k install 安装 Apache 服务, 然后输入 httpd -k restart 启动服务器.
如果出现报错, 请首先检查 Apache 的版本是否为 24
Round 3 - 连接代理服务器
方法一: 手动设置
不用多说吧, 大多数浏览器都有这个设置的入口, 只需把你的电脑的 ip 和监听的端口填入到同学电脑的局域网(LAN)设置 中的 为LAN使用代理服务器 选项下面即可.
方法二(未经测试): 自动扫描
下面的代码是 gpt-4-turbo 生成的, 本人不保证可用性.
@echo off
setlocal EnableDelayedExpansion
set IP_START=192.168.1.1
set IP_END=192.168.1.254
set PORT=7890
set PROXY_FOUND=0
for /L %%i in (1,1,254) do (
set IP=192.168.1.%%i
echo Checking !IP! on port %PORT%...
PowerShell "$client = New-Object Net.Sockets.TcpClient; try {$client.Connect('!IP!', $env:PORT)} catch {} if ($client.Connected) { echo '!IP! is open'; $client.Close(); exit !IP! } else { echo '!IP! is closed' }" >nul 2>&1
if !ERRORLEVEL! EQU 0 (
set PROXY_IP=!IP!
set PROXY_FOUND=1
goto SetProxy
)
)
:SetProxy
if %PROXY_FOUND% EQU 1 (
echo Setting Proxy to !PROXY_IP!:%PORT%
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\StatText/%PORT%g Settings" /v ProxyServer /t REG_SZ /d "!PROXY_IP%:%PORT%" /f
echo Proxy set successfully.
) else (
echo No open ports found on any servers.
)
endlocal
修改文件中的端口和扫描的网段, 然后保存为 .bat 文件分发给同学即可, 这种方法甚至不要求你记住自己的ip地址. 无论同学在天涯海角, 只要在一个局域网下, 就都能找到上网的路.
免责说明:本文内容仅供教育研究之用,旨在加深对网络系统工作原理及安全措施的理解。请各位同学认真听课、好好学习,合法合规地使用网络资源。我们坚决反对任何形式的非法网络侵入行为,包括但不限于未授权访问他人网络、绕开网络限制等。如需进行相关操作,务必确保在合法且得到充分授权的环境中进行。违反此声明者,将自行承担相应的法律责任及其他后果。敬请所有学生遵守网络安全法规,共同维护一个安全、健康的学习环境。