Rsplwe / ESurfingDialer

广东电信天翼校园(ZSM验证)登入认证客户端
Apache License 2.0
100 stars 11 forks source link

添加设置设备信息的选项 #10

Closed 250king closed 1 year ago

250king commented 1 year ago

我的学校仅允许一台电脑和一个手机上线,我希望借此在路由器实现多拨,但要两者设备信息不一样

Rsplwe commented 1 year ago

确定是设备信息的问题吗?程序运行时标识设备的信息只有设备名称是固定的,其他皆为运行时随机生成。

250king commented 1 year ago

我今天特意抓了Windows端的数据包,发现其UA是不一样的 IMG_20231103_085537 不过后来在虚机(设置桥接模式)和主机一起登录测试,的确可以照常使用,没有问题了 image 但我准备在OpenWrt启用多拨,会涉及到多个网卡,能不能指定网卡进行登录认证

Rsplwe commented 1 year ago

能不能指定网卡进行登录认证

JVM 不支持绑定 Socket 到网络设备。用绑定地址的方式,会被 mwan3 的路由表覆盖掉。除非用 libcurl 替代 okhttp 在 native 层进行访问。

另外,建议你对抓包的结果隐藏请求头的信息再发出来,因为包含了学校信息。

250king commented 1 year ago

那怎么用libcurl? 其实在进行登录之前可以先把mwan3给关掉,然后再进行登录,登录完了再重启

Rsplwe commented 1 year ago

那怎么用libcurl?

需要对网络请求部分进行重写

其实在进行登录之前可以先把mwan3给关掉,然后再进行登录,登录完了再重启

但后续的网络请求还是会被分流

250king commented 1 year ago

难不成只能在mwan指定相应的出口分流,然后再登录? 但学校这边每48小时后会强制性退出一次,那可以通过某些脚本重新设置分流吗? 如果说可以做到这一点,那没必要指定网卡,直接通过上述方法

250king commented 1 year ago

其实还有一个思路,那就是Java只负责用来解密和加密,网络请求的部分通过命令行调用curl,curl是可以指定网卡的 就唯一的缺点是必须安装curl 这算是最简单粗暴的方法了

Rsplwe commented 1 year ago

其实还有一个思路,那就是Java只负责用来解密和加密,网络请求的部分通过命令行调用curl,curl是可以指定网卡的 就唯一的缺点是必须安装curl 这算是最简单粗暴的方法了

可以提交PR

250king commented 1 year ago

可以给个请求的范例吗?我好设计Curl指令(就只需要getTicket那一部分)

Rsplwe commented 1 year ago

可以给个请求的范例吗?我好设计Curl指令(就只需要getTicket那一部分)

都在源码里

250king commented 1 year ago

不知道有没有可行性 https://www.baeldung.com/java-network-interfaces https://stackoverflow.com/questions/36197002/how-can-i-specify-which-network-interface-okhttp-will-use-when-establishing-new

Rsplwe commented 1 year ago

不知道有没有可行性 https://www.baeldung.com/java-network-interfaces https://stackoverflow.com/questions/36197002/how-can-i-specify-which-network-interface-okhttp-will-use-when-establishing-new

https://github.com/Rsplwe/ESurfingDialer/issues/10#issuecomment-1791075752

250king commented 9 months ago

很不幸,从去年12月开始,疑似系统升级修复了bug,已经不允许同时两个手机端同时在线,否则会同时断网。 所以还是要弄客户端类型伪装

250king commented 2 months ago

近期听到有人反馈,用同一个脚本,但在不同的系统运行不会造成下线。我后来开了台Windows和Debian一起实验并经过8分钟的long ping的确没有掉线的情况。那也就意味着校园网有可能是根据网络特指(TTL,NetBIOS,DHCP Identifier)来判断客户端 还是会判断客户端 手搓了一个,希望有用处