怎么让 ICMP 协议走代理

310 天前
 specture

基于 socks5 协议给公司做了个代理访问的系统.客户端部分类似 clash 使用的 tun 设备引流的方式.网关是 go 编码实现的 socks5 server 端.

问题是 ping 和 traceroute 是 IMCP 协议,没法使用 socks5 代理. 请问在上述设计上怎么扩展可以支持 ping 和 traceroute

5028 次点击
所在节点    信息安全
37 条回复
Badupp
310 天前
sock5 是四层。ICMP 是三层。怎么 代理?
ShineyWang
310 天前
导入到 Netch,应该支持 ICMP
leonshaw
310 天前
VPN
Kinnice
310 天前
如果是 fake 的 ping ,可以使用 tun2socks 然后魔改一下实现,如果是真的 ping ,bye~ 网络层级都不同
monstervivi
310 天前
试一试修改 iptables 来支持?
wanmyj
310 天前
ipsec 这种代理才可以
LaTero
310 天前
用真 vpn ,openvpn 可以指定 socks ,路由表里要让代理机 ip 走真网关,否则会循环。
smileawei
310 天前
大部分的科学工具都支持入口是 socks
openvpn over socksproxy 然后记得调整好 mtu 。分流的话,可以考虑用 chnrouter 去做路由层的分流。

不过这一整套组建都需要自己搞。做好心里准备。
specture
310 天前
@Badupp ICMP 不一定走 socks5?客户端 tun 应该是可以支持的,网关扩展一下?
specture
310 天前
@Kinnice fake 的 ping 怎么理解?麻烦大佬再解释一下
yxmyxmyyy
310 天前
wireguard 可以代理
ysc3839
310 天前
你这个代理怎么实现 UDP 代理的? ICMP 也是类似的逻辑,简单改改就好了。
tool2d
310 天前
楼上说的对,ICMP 类似 UDP ,代理软件特殊处理一下就行。比如加个 RPC 远程转发指令。

虽然可以实现,但是一般来说没太大必要,ping 又不带具体数据。
x77
310 天前
应用层: http 、ftp <-----> socks 被动代理应用层协议
传输层:tcp 、udp
网络层:icmp <-------> vpn 主动劫持网络及上层的协议
0o0O0o0O0o
310 天前
我是在任意支持 UDP 的代理上跑 wireguard ,写规则让 icmp 走 wireguard
jiulang
310 天前
就算对 socks5 扩展支持 icmp 得到 socks6 ,问:应用程序如何拦截系统的 icmp 包
l4ever
310 天前
tcpping 呗
iqoo
310 天前
linux 的 ssh 内置 tap 转发
lisxour
310 天前
@specture #10 由于 icmp 属于特殊协议,在特殊场合可能会被拦截,所以有一种方式就是通过 socket 连接目标,看下连不连的上,以及延迟,这就是 fake ping 。
angryPHP
310 天前
zerotier 的为啥可以

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/953650

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX