-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
正向socks代理实现多路复用 #12
Comments
首先,目前的正向代理是可以加密的( 你的需求可以通过上述类似的方法实现多路复用,但这样非多路复用的正向代理就没法用了(类似反向代理仅支持多路复用,但正向代理是不需要双端配合的) 新增子命令可行,但容易增加复杂度和造成参数上的混乱,也不够统一 初步构想,通过提供一个新的flag(例如at)来表示开启socket的多路复用,做到所有模式下的统一,比如
|
结合 随便想提提 |
确实星号属于设计失误,最初没有考虑到bash的解析。也导致了与Go接受 用字母表示确实是更优的设计,感谢 |
思考了一下,换成字母标记也不够好,建议重新设计UI逻辑,因为加密和多路复用功能是 iox 私有的通讯协议,即 iox 两端连接的协议才支持加密和多路复用,并且在 iox 需要两端连接时,由于多路复用的优势明显应默认开启,那有两个方案: 方案一 (即目前上面讨论的方案) iox 自动识别连接端是否 iox,自动启用多路复用,检测是否有 -k 参数存在则自动对 iox 间尝试进行加密通讯
方案二 类似 socat 一样,为连接端标记类型,这样所见即所得,并且不区分两端参数左右顺序
对比之下,方案一要实现自动检测才能省去标记加密和多路复用的麻烦,并且正反向代理的不统一,两端参数还需要有序要求,暴露出很多设计问题,而方案二简单理解就是给 socat 添加了,两个协议 proxy 和自己的可加密多路复用协议 iox,也同样方便后续的协议支持扩展,建议重新设计使用第二个方案,使用逻辑更加简单,扩展性也更加好~ |
针对上面的方案二,加一个补充 因为 iox 协议是计划作为 iox 多端间通讯的协议,目前是基于 tcp 的,而我看该项目 github 的标签中包含 但如果考虑编译后文件大小的问题,也可以将基于 tcp kcp icmp 等各个分开编译版本,这样 iox 协议的命名任可以直接使用,而无需 ikcp itcp 等不同命名 |
方案二有些混乱,比如正向代理 方案一不需要自动识别的,完全由用户指定的flag决定 至于扩展其他协议的通信信道,icmp/dns可行,但因为是包协议,项目逻辑需要大改,并且需要自实现ARQ。kcp虽然是现成的ARQ协议,但由于它会发送大量冗余流量提高速度,并不适合渗透中使用 |
”方案一不需要自动识别的,完全由用户指定的flag决定“ 我是觉得不加flag进行使用的设计,则需要自动识别 方案二 没明白混乱的点,逻辑确实是 上面拟作的 iox协议 只作为连接两端,实现 proxy的转发,逻辑应该是没错的
kcp 的 ARQ 发送大量冗余提高速度这个确实不知道,感谢提醒~ 另外,如采用方案二确实项目逻辑需要大改,方便的话可否发送 |
你感受一下,正向代理只做单端
想了想,不同协议传输信道也不需要大改,为ARQ协议实现 |
情况:A 端能正向访问 B 端的某个端口,想通过 A 端走 socks 服务访问 B 端后的网络,如果在 B 段
iox proxy -l xxx
可以满足需求,但这样如果连接过多 A 端与 B 端的TCP连接会很多,并且 A -> B 的socks 暂时是明文的解决思路:iox 支持正向 proxy 功能, A -> B 建立 iox 的多路复用连接,在 A 端开启 socks 连接到 B 端
如:
The text was updated successfully, but these errors were encountered: