Jigsaw Outline 是如何做到 proxy ICMP 包的?

2019-11-05 23:53:27 +08:00
 ImJoeHs

最近试用了下 Outline 作为梯子,晚上惊奇地发现 google ping 得通了

打开 Outline 时

➜ ~ ping google.com PING google.com (74.125.204.101): 56 data bytes 64 bytes from 74.125.204.101: icmp_seq=0 ttl=255 time=0.170 ms 64 bytes from 74.125.204.101: icmp_seq=1 ttl=255 time=0.350 ms 64 bytes from 74.125.204.101: icmp_seq=2 ttl=255 time=0.352 ms 64 bytes from 74.125.204.101: icmp_seq=3 ttl=255 time=0.448 ms 64 bytes from 74.125.204.101: icmp_seq=4 ttl=255 time=0.401 ms ^C --- google.com ping statistics --- 5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 0.170/0.344/0.448/0.094 ms

随后关闭 Outline,直接 ping 这个 ip

➜ ~ ping 74.125.204.101 PING 74.125.204.101 (74.125.204.101): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1 Request timeout for icmp_seq 2 Request timeout for icmp_seq 3 Request timeout for icmp_seq 4 ^C --- 74.125.204.101 ping statistics --- 6 packets transmitted, 0 packets received, 100.0% packet loss

工作在上层的 proxy,是不可能作用到网络层的 ICMP 协议的,那么 Outline 是通过什么方式做到的呢?

241 次点击
所在节点    程序员
1 条回复
qyb
2019-11-06 17:46:33 +08:00
ping 的时候去你的梯子那里抓一下包?能想到的是 outline 启动之后,改变了 default route,然后可能你的网络环境里有一个路由是能通 google 的 ICMP 的,也许是有个透明代理?

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

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

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

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

© 2021 V2EX