menu
hjthjthjt
hjthjthjt
永远的菜鸡

Dr.COM校园网多设备解决方案——路由器 Padavan/LuCI 固件自动网页认证+Telegram Bot 定时发送连接情况

请不要使用本文来牟利。

包括但不限于购买可刷机路由器后,将脚本预先置入系统并再次加价卖给同学的行为。

这种行为在我看来是可耻的,不要脸的。

如果您做了,祝您:NMSL

仅在我校校园网下测试通过,不代表兼容所有使用 Dr.COM 网页认证的学校,请充分发挥主观能动性,按照实际情况修改相关内容。

说到Dr.COM……如果你是客户端认证,其实 Github 上已经有挺多方案了。但是我校是网页认证(其实也好……网页认证我觉得更容易模拟登录)

Dr.COM 网页认证的原理就是 POST 登录信息而已……原理上,就是用 curl 发一个 POST。

获取 curl

这里直接贴一个我校可用的 curl,你也可以通过抓包来获得(不过我这里自己抓包总是会抓到 10. 开头的内网IP,加上吧,容易因为被别人分配到了我用不了,不加吧,又打不开……)

curl -X POST "http://192.168.254.226:801/eportal/?c=ACSetting&a=Login&protocol=http:&hostname=192.168.254.226&iTermType=1&wlanacip=null&wlanacname=null&mac=00-00-00-00-00-00&enAdvert=0&queryACIP=0&loginMethod=1" -H "Origin: http://192.168.254.226" -H "Connection: keep-alive" -H "Cache-Control: max-age=0" -H "Upgrade-Insecure-Requests: 1" -H "Content-Type: application/x-www-form-urlencoded" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" -H "DNT: 1" -H "Referer: http://192.168.254.226/a70.htm?wlanacip=null&wlanacname=null&vlanid=0&ssid=null&areaID=null&mac=00-00-00-00-00-00" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: zh-CN,zh;q=0.9" -b "vlan=0; ssid=null; areaID=null; program=2018050401-hnkj; save_DDDDD=用户名; save_upass=密码; ISP_select=@telecom; md5_login2=|,0,用户名@运营商|密码;" --data "DDDDD=,0,用户名@telecom&upass=密码&R1=0&R2=0&R3=0&R6=0&para=00&0MKKey=123456&buttonClicked=&redirect_url=&err_flag=&username=&password=&user=&cmd=&Login=" --tlsv1.3 -o Sxinfo.txt

其中,有关内容请自行修改。

请注意,此 curl 并不一定适用于你的学校(按理说挺多地方不行的,需要你自己通过对登陆窗的源码进行分析修改),尤其是 --data的内容,请根据实际情况自行修改。

修改项

获取IP和端口

192.168.254.226 为我校校园网登陆窗页面 IP,801为端口。

如果你不确定自己学校的端口,可以自己使用 Chrome 开发者工具查看。

在登录页面按下 F12,在 Network处找一找应该就能看到。

获取「–data」

对于我校(哪个学校?自己翻翻我旧文章……)学生,curl 中不需要过多变动,这个小节可以跳过。

适用于我校:用户名密码即为上网登录窗的账号密码,运营商中,电信是telecom,移动是cmcc,联通是unicom,纯校园网出口没有测试,你知道的话可以在评论中告诉我。

对于其他学校的学生,--data后的内容可以通过 Chrome 开发者工具查看,同样是在登录界面按下F12,按照图中1和2选中后再登录

在左侧中寻找右侧为 Request Method: POST的项,如果找到了,那就是上图我们需要的,按照上图3,4,5进行操作,获得暂时的 curl。

为什么是暂时的?因为这里得到的 curl 应该是包含我上面说到的 10. 的内网 IP 的,带上它你也许不能正常登录。

将剪贴板的内容取出,找到--data,将其后紧跟着的单引号后面的内容,替换到开头给予的 curl 里。

在此,你应该得到了理论能用且永久的 curl。

包票打不起,情况太多了,如果你成功在你校校园网中试验成功,也许可以在评论区里告诉我。

如果你只是需要在电脑启动的时候自动登录,你可以直接将 curl 拿去用了,下面的内容可以不看。

如果你是个gaowan高玩,希望借助路由器玩儿,往下看吧

Padavan 设置

当然,这并不局限于 Padavan,其他允许自定义 crontab 的固件也可以,笔者使用 Padavan,因此以它为例。

sh 文件内容

首先,找个编辑器(你真要记事本也没问题,不过不推荐,最好是 Sublime Text 3 之类的),在其中粘贴以下内容:

(请注意,此代码不包含「Telegram Bot 定时发送连接情况」的部分,因为并不能确定你的路由器是否已经配置了可以正常访问 Telegram 服务的相关设置,如果你只需要登陆而不需要刻意提醒,你可以直接使用下面的代码。如果你需要 Telegram Bot 的提醒,忽略下面的 sh 内容,往下看还有新的。

#!/bin/bash
logger "【Dr.COM网页认证】开始定时检测"
curl http://192.168.254.226 > drcom.html #①
check_status=`grep "Dr.COMWebLoginID_0.htm" drcom.html` #②
if [[ $check_status != "" ]]
then
    #尚未登录
    logger "【Dr.COM网页认证】上网登录窗尚未登录"
    ##此处为你已修改完毕的curl##③
    logger "【Dr.COM网页认证】上网登录窗未登录,现已登录"
else
    #已经登录
    logger "【Dr.COM网页认证】上网登录窗之前已登录"
fi
logger "【Dr.COM网页认证】结束定时检测"

修改相关内容:

  • ①处:请修改为你上网登陆窗的IP,此处不需要端口
  • ②处:请打开上网登陆窗,查看网页源码,在其中找到特异性内容,即登录状态下上网登陆窗有的,而未登录时却没有的代码。我的代码中,Dr.COMWebLoginID_0.htm是登陆窗未登录时拥有的代码,原理即通过 curl 将登陆窗内容存至drcom.html文件,分析文件文本,如果包含有Dr.COMWebLoginID_0.htm,就代表此时是「未登录」状态,需要执行登录。
  • ③处:你最终修改获得的 curl 文本

不需要保存,我们只是找个地方好好把内容准备好而已。

上传至路由器存储空间

接着,你需要使用 ssh 连接你的路由器以通过 vi 编辑 sh 脚本。如果你已经是 Linux 系统的话,不需要这多余的操作,直接将本地编辑好的 sh 文件传给路由器即可。这里主要说 Windows 下。

为什么 Windows 相对特殊?因为 Win 和 Linux 的空格,回车不同,在某些情况下如果是包含着 Win 空格的 sh 文件,在 Linux 下可能无法执行,但通过 vi 编辑时粘贴进去的内容却没问题。

借助 ssh 工具,例如 Xshell

连接的主机为路由器内网 IP,与你登录后台面板是同个 IP。

端口一般为默认,不需要修改,账号密码与后台登录一样。

如果你是 hiboy 版本的 Padavan,那么主机为 192.168.123.1,账号密码默认均为admin,其他版本请根据作者介绍自行探索。

在 ssh 工具中成功连接上后,执行以下指令:

cd /etc/storage
vi drcom_cron.sh

vi后的内容可以随你定义,毕竟什么名字随你。接着按下i会进入编辑模式。

右键,如果是Xshell的话会有粘贴的选项,如果是putty的话会直接粘贴,无论如何,根据你使用的软件把内容粘贴进去即可。

按下 ESC 退出编辑模式,直接键盘输入:wq后按下回车保存(注意,此处有一个英文冒号)

再执行以下指令用于获得执行权限:

chmod +x drcom_cron.sh

现在,你的路由器数据文件中应该包含我们需要执行的东西了。

你可以试试退出上网登陆窗登录,然后执行指令,看看是否处于登录状态了。

./drcom_cron.sh

如果没有,有可能是哪个步骤出错了,也有可能你的学校校园网不支持此方法。

无论如何,如果你成功登录了,接着看吧。

使用计划任务保证处于登录状态

进入路由器后后台面板,相关后台IP和账号密码请根据 Padavan 作者的介绍填写(如果你是 hiboy 版本的 Padavan,那么后台地址为 192.168.123.1,账号密码默认均为admin

将 sh 文件保存防止重启丢失

进入:高级设置 → 系统管理 → 恢复/导出/上传设置 → 路由器内部存储[脚本文件] (/etc/storage) → 点击「保存 /etc/storage/ 内容到闪存」的「提交」按钮

虽然不知道这步是否必要,但是用了总没错。

路由器重启后执行登录操作

进入:高级设置 → 自定义设置 → 脚本 → (以下两处)

「在路由器启动后执行」「在 WAN 上行/下行启动后执行」在代码末尾添加:

/etc/storage/drcom_cron.sh

保存。

添加计划任务

进入:高级设置 → 系统管理 → 服务 → 其他服务 → 保持「Cron守护程序 (计划任务)」处于开启状态,然后在「计划任务 (Crontab)」中输入:

#每周一到周五的每天6点到24点的每10分钟,执行一次检测登录指令
*/10 6-23 * * 1-5 /etc/storage/drcom_cron.sh 
#每周一到周五的每天6点整,重启路由器
0 6 * * 1-5 reboot & #删除开头的#启动命令

当然,如果你的学校并非有0点断网之类的,你可以直接去除重启的 cron 任务指令。

请根据自己学校的断网来网情况,结合 crontab.guru 这个网站编辑属于你自己的 cron 指令。

保存。

现在,按理说一切都成功了,你可以明天起床后连接此路由器来测试它是否准确在6点重启并自动登录。

LuCI 设置

其实没什么区别, 简单提一提吧,其实大部分内容可以直接参照 Padavan 版的文本。

不同的是,文件目录可以不需要放在/etc/storage了。

cd /etc/storage可以改为cd /etc

接着新建文件,粘贴内容,保存,赋予执行权限,手动执行测试。这些都可以在上门 Padavan 版 中找到。

LuCI 不需要手动点击按钮让其保存到闪存之类的,不过在重启之后,你也许需要手动打开登录框登录,LuCI 似乎并没有提供重启执行指令的功能。

添加计划任务

一样,很简单。

直接进入 系统 → 计划任务,添加几乎一样的代码即可。

多说一句,在 LuCI 中配置能支持下面内容的上网服务后,似乎在执行 sh 文件的时候并不会走,即 LuCI 可能不支持本文所述的 Telegram Bot 通知功能

(可选)Telegram Bot 定时发送连接情况

嘛,既然标题都说了,那我们就借助 Telegram Bot 来获取连接情况,这个功能主要是用来检测你的校园网登录是否掉了(根据上面计划任务的话,我们就可以知道它在哪个时间段内没有给你发消息,即断网了)(Well……不排除因为某种设施进行日常升级导致你的设备无法正常访问某些 IP 上的某些东西。)

在此之前,确保你的路由器处于可以访问 Telegram API 的情况。(对于 hiboy 版的 Padavan,一般意味着下面打码处的内容你已经配置完毕了。

这里不对你怎么让它能够访问做解释。

创建 Telegram Bot

在 Telegram 中找到 @botfather,向它发送 /newbot

根据提示依次给予Bot名用户名。请注意按照提示以 bot 结尾。

此时,Bot Father 应该会给你一串 token,且内容中「You will find it at t.me/XXXXXXXXXXXXXXXX.」这里的地址可以直接访问到你的 Bot,请向你的 Bot 至少发送一次 /start,它不会回复你,无需理会

这里插播一个内容,hiboy 的 Padavan 是自带 tgbot 功能的(用于检测互联网 IP 变动,给予设备接入提醒,设备上、下线提醒,固件更新提醒),位置在 扩展功能→广告屏蔽功能→tgbot(这个位置可真是……),你可以根据需要顺便把这只 Bot 也用于上面的小功能,此处不再赘述。

获得 curl 内容

这里,我们先整理一下你所需要的用于 Telegram Bot 的 curl 文本,你可以在 XShell 之类的软件中连接 ssh 后执行 curl,然后看看 Telegram 那边你的 Bot 是否给你发了对应内容。如果发了,这里就没问题了~

curl -s "https://api.telegram.org/bot(这里是token)/sendMessage?chat_id=(这里是你的id)" --data-binary "&text=(要发送的消息内容)" &

(不用质疑,文本里的bot是直接和token连在一起的,比如我的是bot774……

你的 id 可以通过向 @getidsbot 发送 /about 来获得。

包含 Telegram Bot 提醒功能的 sh 内容

重新梳理一下你所需要的 sh 文件,这里提供了一个 DEMO:

#!/bin/bash
#(一)检测是否是登录状态
logger "【Dr.COM网页认证】开始定时检测"
curl http://192.168.254.226 > drcom.html
check_status=`grep "Dr.COMWebLoginID_0.htm" drcom.html`
if [[ $check_status != "" ]]
then
    #尚未登录
    logger "【Dr.COM网页认证】上网登录窗尚未登录"
    # 此处为你已修改完毕的curl
    logger "【Dr.COM网页认证】上网登录窗未登录,现已登录"
    curl -s "https://api.telegram.org/bot(这里是token)/sendMessage?chat_id=(这里是你的id)" --data-binary "&text=【Padavan联网状态】当前路由器未联网,已执行登录。当前时间 ""`date`" &
    logger "【Dr.COM网页认证】已通过 Telegram Bot 发送当前时间"
else
    #已经登录
    logger "【Dr.COM网页认证】上网登录窗之前已登录"
    curl -s "https://api.telegram.org/bot(这里是token)/sendMessage?chat_id=(这里是你的id)" --data-binary "&text=【Padavan联网状态】当前路由器之前已登录,无需执行登录。当前时间 ""`date`" &
    logger "【Dr.COM网页认证】已通过 Telegram Bot 发送当前时间"
fi
logger "【Dr.COM网页认证】结束定时检测"

嘛,你自己看看就能知道需要改什么,自己决定吧。

怎么保存……?自己滚回上面看。

预览一下效果:

好了,你现在应该可以享受不受设备限制断网后来网时自动登录认证定时发送连接情况的校园网服务了。

如果对你的学校有用,希望你可以在评论区告诉我,我收集一下23333333

本文采用 CC BY-NC-SA 3.0 协议进行许可,在您遵循此协议的情况下,可以自由共享与演绎本文章。

本文链接:https://jakting.com/archives/drcom-autologin-padavan-tgbot.html


共有 66 条评论

  1. 我是笨蛋小扁担

    laptop Windows 10 | public Chrome 73.0.3683.86

    然而我学校是天翼校园

    1. hjthjthjt

      laptop Windows 10 | public Chrome 73.0.3683.86

      蜡烛好评

  2. cz

    phone_android Android 8.0zh-cn | public Safari

    tql

    1. hjthjthjt

      phone_android Android 9 | public Safari

      ……

  3. Nigel_NI

    laptop Windows 10 | public Chrome 74.0.3729.169

    没法从我们学校的校园网认证网页抓到Request Method: POST的包,抓到的所有的包都是GET。那么这个方法是不是不适用于我们学校?

    1. hjthjthjt

      laptop Windows 10 | public Chrome 74.0.3729.169

      按理说是有POST的,GET太不安全了

      1. Nigel_NI

        phone_android Android 9 | public Chrome 77.0.3815.0 Mobile

        curl命令已经修改完了,可以正常登录(路由器暂未测试)。登录指令果然在一个GET包上,都是明文传输,实际配置起来好像还要简单。

        1. hjthjthjt

          laptop Windows 10 | public Chrome 74.0.3729.169

          绝了……那直接curl地址就行……

  4. Nigel_NI

    laptop Windows 10 | public Chrome 75.0.3770.100

    测试成功!我们学校也可以用!K2P+H大固件+(看不到),美滋滋。买了一个路由器UPS,以后就能24小时自由校园网了!

    1. hjthjthjt

      laptop Windows 10 | public Chrome 75.0.3770.100

      迫于生存给你把某些词语打码了2333333 我们是直接在学校网关那边掐断网络的,过了24点还是有wifi信号但是没网23333333

      1. Nigel_NI

        phone_android Android 9 | public Chrome 77.0.3828.0 Mobile

        我们学校的限制力度暂时没那么大,宿舍只断电,不断网(ฅ´ω`ฅ)

  5. Nigel_NI

    phone_android Android 9 | public Chrome 77.0.3828.0 Mobile

    不过现在遇到一个问题:系统检测到校园网有分享行为,账号被强制下线并限制登录5分钟。现在是全局代理,但是访问国内网页的速度很慢。有没有什么办法 可以绕开检测呢?

    1. hjthjthjt

      phone_android Android 9 | public Safari

      你们检测的比较严格……我们没有这些检测,所以接路由器没事

      1. Nigel_NI

        laptop Windows 10 | public Chrome 75.0.3770.100

        你们学校真好,我们学校今年年初升级了校园网设备,会对用户的上网行为进行监控,检测到疑似网络分享的行为就断网。现在利用加密隧道进行数据传输,目前还没有掉线;只是受到路由器性能限制,100M的带宽只能跑到50M;电脑上淘宝的网页都是海外版的……
        (ó﹏ò。)

        1. hjthjthjt

          phone_android Android 9 | public Safari

          卧槽……我大一下学期的时候网才好的,之前也挺惨的……

  6. heiheihei

    laptop Windows 10 | public Chrome 75.0.3770.100

    curl那里找不到啊,还是没有Request Method: POST

    1. hjthjthjt

      phone_android Android 9 | public Safari

      也不一定是post……好像有些学校是get……你得自己判断一下

      1. heiheihei

        laptop Windows 10 | public Chrome 75.0.3770.100

        但是从左侧中找不到?c=ACSetting…….而且每一个的右侧基本都是get

        1. hjthjthjt

          phone_android Android 9 | public Safari

          没有是很正常的……因为这东西不同学校有好多种不一样的情况……你只能研究一下看看哪个传递了账号密码

        2. heiheihei

          laptop Windows 10 | public Chrome 75.0.3770.100

          怎末判断哪个是这玩意儿呢?

  7. Ronaldo

    laptop Windows 10 | public Chrome 76.0.3809.100

    谢谢!参考了一万年。对这个完全不懂,只是会刷个路由器,整个VPS。。看了七八小时的网页,对比。最后终于zai 路由器搞定了。学校使用的Get的。学校网页认证,并且限制一个登陆设备,禁止分享网络。我手头有华硕固件的小米路由器。请问通过sh文件的执行能否让我路由器下的设备不会被检测到共享网络呢?

    1. hjthjthjt

      laptop Windows 10 | public Chrome 76.0.3809.132

      sh文件的执行总归只是模拟了登录,但是是否下级的设备会被识别出来其实还是得看学校,我也不敢保证……另外get的话更容易了,get直接curl网页url就行

      1. Ronaldo

        laptop Windows 10 | public Chrome 76.0.3809.100

        哈哈哈,反复钻研了你这句话一个小时,最后才curl直接上。原来开头一串的代码没学过全看不懂。。。另外再问一下如何设置这个脚本自动启动呢,我目前打开了这个“在 WAN 上行/下行启动后执行:” 是否是在最下方空白行直接填写 bash etc/storage/drcom.sh?

  8. Ronaldo

    laptop Windows 10 | public Chrome 76.0.3809.100

    还是会被识别出来,请问有办法屏蔽么?

    1. Nigel

      laptop Windows 10 | public Chrome 76.0.3809.132

      路由器设置代理,用80或443端口

  9. qos

    laptop Windows 10 | public Firefox

    贴不下了,能私聊讨论下么?

    1. hjthjthjt

      phone_android Android 9 | public Safari

      留个邮箱吧

  10. 柳桥风起

    laptop Windows 10 | public Chrome 74.0.3729.169

    成功了,感谢分享。但是比较蛋疼的是我的学校似乎也会检测分享行为,动不动就冻结我的网络,目前还找不到应对方法>﹏<

    1. hjthjthjt

      phone_android Android 9 | public Safari

      可能是根据UA检测的……

      1. 柳桥风起

        laptop Windows 10 | public Chrome 74.0.3729.169

        刚刚疯狂百度,也猜测可能是这样检测的,目前百度到两个方法:一是每隔一段时间自动执行一次注销/登录操作来躲避检测,二是直接伪装所有http的UA >﹏<然后发现自己太菜都不会弄…

        1. hjthjthjt

          phone_android Android 9 | public Safari

          注销和登录按理说本质都是post,你可以注销的时候按着之前的方式抓data

        2. 柳桥风起

          laptop Windows 10 | public Chrome 74.0.3729.169

          ⌇●﹏●⌇抓到注销的了,接下来我试试能不能自动化注销/登录,谢谢老哥。
          我在酷安看到你了

        3. Nigel

          laptop Windows 10 | public Chrome 76.0.3809.132

          自动注销再登录也只能换来短暂的安宁。我配置了自动断线登录,结果刚才还是被系统检测到了。欢迎在此回复,共同交流应对措施。

  11. demo

    laptop Windows 10 | public Chrome 69.0.3497.100

    博主 像我这样的怎么改呀 头大,小白一个
    curl ‘http://172.168.254.6:801/eportal/?c=ACSetting&a=Login&protocol=http:&hostname=172.168.254.6&iTermType=1&wlanuserip=172.19.159.251&wlanacip=172.168.254.100&mac=000000000000&ip=172.19.159.251&enAdvert=0&loginMethod=1’ -H ‘Connection: keep-alive’ -H ‘Cache-Control: max-age=0’ -H ‘Origin: http://172.168.254.6‘ -H ‘Upgrade-Insecure-Requests: 1’ -H ‘Content-Type: application/x-www-form-urlencoded’ -H ‘User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36’ -H ‘Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8’ -H ‘Referer: http://172.168.254.6/a70.htm?wlanuserip=172.19.159.251&wlanacname=&wlanacip=172.168.254.100&mac=000000000000‘ -H ‘Accept-Encoding: gzip, deflate’ -H ‘Accept-Language: zh-CN,zh;q=0.9’ -H ‘Cookie: program=aygxy; vlan=0; md5_login=***********%7C888888; ip=172.19.159.251; areaID=wlanuserip%3D172.19.159.251; PHPSESSID=mj6vsp5194kgeiv0i0uhh5rsd1; is_login=1’ –data ‘DDDDD=%2C0%2C19033730136%40telecom&upass=*******&R1=0&R2=0&R6=0&para=00&0MKKey=123456&buttonClicked=&redirect_url=&err_flag=&username=&password=&user=&cmd=&Login=’ –compressed

    1. hjthjthjt

      phone_android Android 9 | public Safari

      感觉你的跟我的是同一种,你可以试试直接改我的curl里面的IP和帐号密码

  12. LongMan

    laptop Windows 10 | public Chrome 76.0.3809.132

    /etc/storage/drcom_cron.sh: line 3: can’t create drcom.html: Read-only file system
    /etc/storage/drcom_cron.sh: line 3: curl: not found
    grep: drcom.html: No such file or directory
    bash: : unknown operand

    1. hjthjthjt

      phone_android Android 9 | public Safari

      是Hiboy的Padavan吗……你试试给/etc/storage文件夹755权限看看

  13. demo

    laptop Windows 10 | public Chrome 69.0.3497.100

    博主 返回这样的信息是连接成功了吗?
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 164 0 3 100 161 34 1829 –:–:– –:–:– –:–:– 1906

    1. hjthjthjt

      laptop Windows 10 | public Chrome 76.0.3809.132

      这个只是表示他成功curl了地址,但是无法体现是否登录

  14. demo

    laptop Windows 10 | public Chrome 69.0.3497.100

    应该是成功了,我从后台强制设备离线 执行完curl代码后就直接能上网了

  15. demo

    laptop Windows 10 | public Chrome 69.0.3497.100

    楼主这是什么情况呀 ./drcom_cron.sh: line 2: gger: not found

    1. hjthjthjt

      phone_android Android 9 | public Safari

      第二行是个注释啊……你怎么会是这个结果……

  16. demo

    laptop Windows 10 | public Chrome 69.0.3497.100

    */10 6-23 * * 1-5 /etc/storage/drcom_cron.sh 楼主这个1-5是不是表示周一到周五,我改成1-7是不是就是周一到周日了

    1. hjthjthjt

      laptop Windows 10 | public Chrome 77.0.3865.90

      是的,具体你可以用这个网站看 https://crontab.guru/#*/10_6-23_*_*_1-5

  17. demo

    laptop Windows 10 | public Chrome 69.0.3497.100

    root@K2T:/usr/bin# chmod +x drcom_cron.sh
    root@K2T:/usr/bin# ./drcom_cron.sh
    -ash: ./drcom_cron.sh: not found

  18. demo

    laptop Windows 10 | public Chrome 69.0.3497.100

    楼主 这又是什么情况呀 我已经编辑过文件了

    1. hjthjthjt

      phone_android Android 9 | public Safari

      出现这个一般就是你的sh文件里出现Windows下的空格之类的……要确保都是Linux的

  19. demo

    laptop Windows 10 | public Chrome 69.0.3497.100

    楼主 我把 #!/bin/bash 改成了 #!/bin/sh 就可以运行了 能curl网址但是还是没办法联网 我看了下返回的好像是没有上传数据

  20. hv

    phone_android Android 9 | public Safari

    楼主,怎么弄心跳包啊

    1. hjthjthjt

      laptop Windows 10 | public Chrome 77.0.3865.90

      我这边没有心跳包检测所以我没有尝试过……不好意思

  21. y71608161

    laptop Windows 10 | public Chrome 74.0.3729.169

    这个curl还可以再压缩一点。因为shell不支持太长的命令我就把UA,cookie那些删掉了,只要保留data就能正常上网,但是下线。还只能靠路由器重启,如果能通过get的方法实现自动下线就很不错。

    1. hjthjthjt

      laptop Windows 10 | public Chrome 77.0.3865.90

      我们这有注销页,应该可以类比改成注销……我们学校的电信在连接时间达到2700+分钟的时候有概率没网需要断网重登,我又怕我在这个时候正好玩游戏23333所以至今没弄

  22. y71608161

    laptop Windows 10 | public Chrome 74.0.3729.169

    你可以把脚本设置成每天凌晨4点注销重登啊

    1. hjthjthjt

      phone_android Android 10 | public Safari

      不……问题是平常断网的话4点也打不开登录注销页面,周末节假日不断网的话……4点我不一定睡了而且有时候可能会挂机下载,有些东西断了还得手动给他启动不然不会下载……

  23. demo

    laptop Windows 10 | public Chrome 69.0.3497.100

    楼主 我们学校登录成功后再打开登录页还是未登录(其实已经能上网了),有没有什么方法把那段curl修改成检测网络通不通,通的话就不执行登陆 不通的话就执行登陆

  24. RoNaRu

    laptop Windows 10 | public Chrome 77.0.3865.120

    楼主,坐标广州,我们学校全是GET,找不到data(可能是我不知道在哪找),而且还有心跳包检测,是不是基本上没戏了…

    1. hjthjthjt

      laptop Windows 10 | public Chrome 78.0.3904.70

      get的话不需要data吧……数据全在URL里啊。心跳包的话或许你找一下他怎么发心跳的,用curl再发?

  25. hjj

    laptop Windows 10 | public Chrome 74.0.3729.169

    –data 后面的,替换到前面,到底是哪个替换啊,我是新手,没看懂,提示curl :not found ,请教一下

    1. hjthjthjt

      laptop Windows 10 | public Chrome 78.0.3904.70

      not found的话需要手动安装curl软件包,你的路由器固件可能没带

  26. 元太

    phone_android Android 9 | public Chrome 77.0.3865.116 Mobile

    博主,其实检测掉线可以ping百度 timeout就重登。

    1. hjthjthjt

      phone_android Android 10 | public Safari

      我觉得与其连接到百度等timeout还不如直接打开局域网解析内容来的快……

      1. 元太

        phone_android Android 9 | public Chrome 77.0.3865.116 Mobile

        ping百度比较万能 抄博主的脚本 我们学校没办法检测掉线

        1. hjthjthjt

          phone_android Android 10 | public Safari

          当然了,这种肯定还是要看各种学校自身的……不过我觉得网页应该都有特异的内容可以用来判断

      2. 元太

        laptop Windows 10 | public Chrome 78.0.3904.70

        博主可以给个联系方式吗?想请教一下sh脚本

  27. Aaron

    laptop Windows 10 | public Chrome 78.0.3904.97

    楼主能否给个get的方法,感谢我们的数据是这样的,邮箱571388081@qq.com
    curl ‘http://10.1.2.3/drcom/login?callback=dr1574261270275&DDDDD=学号&upass=密码&0MKKey=123456&R1=0&R3=2&R6=0&para=00&v6ip=&_=1574261259277’ -H ‘Connection: keep-alive’ -H ‘Accept: text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01’ -H ‘X-Requested-With: XMLHttpRequest’ -H ‘User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36’ -H ‘Referer: http://10.1.2.3/a79.htm?isReback=1‘ -H ‘Accept-Encoding: gzip, deflate’ -H ‘Accept-Language: zh-CN,zh;q=0.9’ -H ‘Cookie: PHPSESSID=vjdfv70tqu0r1m09at0l854va6’ –compressed –insecure

    1. hjthjthjt

      laptop Windows 10 | public Chrome 78.0.3904.97

      按理说你curl一下那个带参数的链接就行……

发表评论

昵称不能为空
邮箱不能为空