来源: https://www.youtube.com/watch?v=pJG0HxpuyJI
个人点评:
对境内中转拔线
对境外直连通过 iperf3 测试,移动宽带从国外向国内方向,也就是下行速度只有 1.0 Mbits/sec,间隔10分钟再次测试又恢复到 200 Mbits/sec ,间歇性丢包来劣化线路这很就很符合方滨兴了,github、steam也是通过间歇性丢包来干扰访问的
油管主推荐有能力的三网接入,比如宽带移动、手机联通、再办一张电信卡
二评:
想了想,仅仅因为看到下行速率 1.0 Mbits/sec 不能判定为间歇性丢包 ,应该再设计一次实验
1 先用tcp 对server端 持续进行三次握手
tcp ----------------------iperf3 server
2 然后开始传输
iperf3 client <------------------iperf3 server
3 观察tcp 是否间歇性丢包
如果没有间歇性丢包,说明只是降低了速率
这倒不是间歇性。可以稳定触发。
github.com
store.steampowered.com
这两个域名请求到同一 AS 是可以稳定触发没有 RST 的残余审查。比如,
curl -v https://github.com --connect-to ::microsoft.com -4
microsoft.com 可换成任意 IP 解析在 AS8075 Microsoft Corporation 的。比如 live.com, office365.com.
第一次能握手完成,第二次就会超时。持续固定时长。我常用来测试的 example.com IP 在 Cloudflare 上无法触发,只能在同 AS 的 IP 上触发。
store.steampowered.com 可以找同段能 ping 通的 IP 测试: 23.58.104.0/22 IP range details - IPinfo.io
使用 URenko/Accesser 之类的 SNI bypass 工具代理这两个域名之后再也没出现超时问题,旁证 GFW 是看到 SNI 才封锁的。
Liuxinyu970226:
第一次能握手完成,第二次就会超时。
这就是在间歇性丢包,导致要tcp重传好几次
1 对目标 IP 保持持续 TCP三次握手
2 curl 目标域名到目标IP ,用域名触发审查
3 观察TCP 连接是否丢包
应该是间歇性丢包比直接一个RST包断开连接要吃硬件资源的多,反正目前只看到用在github steam
来源:
xujunpeng:
间歇性
我的意思是:“间歇”暗示了这种丢包只和时间流逝本身有关,其实这种丢包可以稳定地手动触发或者避免。
丢包就是丢包了,就是没了,至于是三次握手里
第一个 SYN 给扔了,
还是 SYN+ACK 给扔了,也就是所谓的回程墙,这需要观察
TCP 有重传一旦 client端 出现长时间没有接收到SYN+ACK,那么就会再次发送 SYN,会重传几次是根据操作系统和发包的软件决定的
GFW 间歇性丢包,我暂且当作丢的是 SYN ,以及不会重传
GFW
client --- SYN --->XXX server
client --- SYN ----------> server
client --- SYN --->XXX server
client --- SYN ----------> server
client --- SYN ----------> server
第一个 SYN 丢包,第二个不丢,第三个丢包,第四个不丢,第五个丢包,这就叫做间歇性
前6个 no response 就是丢了
3 个 port is open 就是没丢
4个 no response 就是丢了
…
GFW 怎么做到的不知道,但现象就是这样的