lyc8503 / EasierConnect

NJU EasyConnect 第三方开源 Golang 客户端 / NJU EasyConnect protocol reimplementation in Go
539 stars 124 forks source link

服务端版本:6.9,连接报unexpected query ip reply #24

Open not7sa opened 1 year ago

not7sa commented 1 year ago

服务端版本:6.9 EasierConnect版本:13 连接过程中报错如下: 2023/01/26 12:15:49 Login Request: https://X.X.X.X:XX33/por/login_auth.csp?apiversion=1 2023/01/26 12:15:52 Twf Id: 6450003aebXXXXXX 2023/01/26 12:15:52 RSA Key: D51EE9CE315206BF4578E218FBDE25247F2DD5B1483AFE39F7076A89574B9069CD5CE096D85013BD38FFA5F4EE46D49F165954F80B57958364A34185647ACF5E70C6BB59A19DEA47C3940D35A70D7797518B34340EC8F7AE61EA51D14ED59FF3BCFF7AF6B19AB9019FC72195073417129A8459D67C19977876A2C0F80B755892AC7F17CD3BEDC0743E5977E33694CAB646E91F8047B736E0B63425F5251FB04AC6D000FDDD40577AED779729E31839306F461A95E5CAA88B02D710E6893B3F7D0ED39517477EDA00101F7F6D68B337DC93F66C45787D955D606FBB9A5A5EF89A28E8C241CCE2B9E282B9F839C4E81B17F8033AA67CA31A6F421D6E1D3DFC840X 2023/01/26 12:15:52 Warning: No RSA_ENCRYPT_EXP, using default. 2023/01/26 12:15:52 RSA Exp: 65537 2023/01/26 12:15:52 WARNING: No CSRF Code Match. Maybe you're connecting to an older server? Continue anyway... 2023/01/26 12:15:52 Password to encrypt: XXXXXXX 2023/01/26 12:15:52 Encrypted Password: c4f7165b81682f21b785c4cd30c9c32fd5a1f6a5dfdc56b6dfa8ebf428ed5223a93405b2e6f76940d3394a5b03aef62d8d600a0dc4bfb5375cd342a37ac1a5eddeea70e4b0d61d8ce1c3993ff559cc974d5e5e0088d9ea133ca09d2b9ff2ecd1addf4c93a0f5adaeb0a6183e3bcbeda19a6e9b58e79716de5568882a3e2ff8c39d74739a7861b5833af44deba9ce7675d05c9481585b5c46cd01004fe101bf2f2e05cd4c566e049e44348db7212b06442fa1608da89171c56688cbb47dfaa3579a3a5cfed22b925d230ccbfaca86e444cb13953e2c8fc00afb93658199546118d50fe4df1c96ac5c30ccc8e22ed363f8627e9e42e82059cea60135fc8ad2164X 2023/01/26 12:15:52 Login Request: https://X.X.X.X:XX33/por/login_psw.csp?anti_replay=1&encrypt=1&type=cs 2023/01/26 12:15:52 No NextAuth found. 2023/01/26 12:15:52 Web Login process done. 2023/01/26 12:15:52 ECAgent Request: /por/conf.csp & /por/rclist.csp 2023/01/26 12:15:53 Server Session ID: "]\x8c\nF\xc7\xc9\xfc\x86\xbf\xa1#\x88\xcd8Y\xd2-\x81\x8e(\xff\xa7e\xfd\rH#\xb0]\x7f/\x97" 2023/01/26 12:15:53 socket: connected to: X.X.X.X:XX33 2023/01/26 12:15:53 tls: connected to: X.X.X.X:XX33 2023/01/26 12:15:53 query ip: wrote 64 bytes 00000000 00 00 00 00 35 64 38 63 30 61 34 36 63 37 63 39 |....5d8c0a46c7c9| 00000010 66 63 38 36 62 66 61 31 32 33 38 38 63 64 33 38 |fc86bfa12388cd38| 00000020 35 39 64 00 36 34 35 30 30 30 33 61 65 62 31 33 |59d.6450003aeb13| 00000030 64 39 66 31 00 00 00 00 00 00 00 00 ff ff ff ff |d9f1............| 2023/01/26 12:15:54 query ip: read 36 bytes 00000000 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000010 00 00 00 00 90 ba 30 08 68 fb ff 7f da b6 08 08 |......0.h.......| 00000020 ac a7 23 08 |..#.| goroutine 1 [running]: runtime/debug.Stack() runtime/debug/stack.go:24 +0x65 runtime/debug.PrintStack() runtime/debug/stack.go:16 +0x19 EasierConnect/core.QueryIp({0xc000020600?, 0xc00015a480?}, 0xc00015a4b0) EasierConnect/core/protocol.go:81 +0x24e EasierConnect/core.(EasyConnectClient).LoginByTwfId(0xc00028fef0, {0xc000114030, 0x10}) EasierConnect/core/EasyConnectClient.go:68 +0xbd EasierConnect/core.(EasyConnectClient).Login(0xc000095ef0, {0xc000022130?, 0xc000095e90?}, {0xc000022168?, 0x2?}) EasierConnect/core/EasyConnectClient.go:43 +0xea main.main() EasierConnect/main.go:39 +0x5bb 2023/01/26 12:15:54 unexpected query ip reply

lyc8503 commented 1 year ago

有两种可能:

  1. 6.9 的登录过程有不同, 导致实际上并没有登录成功
  2. 6.9 版本的二进制协议与 7.x 版本不兼容
not7sa commented 1 year ago

猜测有可能在连接服务端为7.6版本以下存在问题,根据sangfor官方文档,官方应该是在7.6版本产生了重大变更,我测试7.6的版本可以正常使用,7.0以及6.9都存在问题,7.0显示已连接,也正常获得服务端分配地址,但实际应用连接时存在无法连接情况,6.9版本存在连接后客户端无法获得分配IP情况.

lyc8503 commented 1 year ago

可能是的, 之前广泛使用的 https://github.com/Hagb/docker-easyconnect 也只提供了 7.6.x 的构建成品, 可能目前使用 <7.6 的用户不多?

not7sa commented 1 year ago

7.6版本是目前最新的大版本,据我了解,低于7.6版本的还是普遍存在,如果您有计划适配低版本的话,我可以提供部分版本的测试环境

lyc8503 commented 1 year ago

7.6版本是目前最新的大版本,据我了解,低于7.6版本的还是普遍存在,如果您有计划适配低版本的话,我可以提供部分版本的测试环境

个人精力有限, 如果旧版本的差异不大的话可能可以适配, 如果能提供测试环境的话十分感谢. 可以邮件联系或用我的 GPG 密钥加密消息.