Kisesy / gscan_quic

Google Quic 扫描工具
The Unlicense
348 stars 81 forks source link

Zebra r66老是出现"error": "EOF" #143

Open jyuan15 opened 6 years ago

jyuan15 commented 6 years ago

有时好不容易能用了,到下次启动又出现同样错误:

{ "type": "localproxy", "host": "127.0.0.1:8087", "software": "zebra r66 (go/devel +1a738a7350 Thu Jul 5 17:45:56 2018 +0800 windows/386)", "filter": "*gae.Filter", "error": "EOF" }

这个该怎么办?

MeABc commented 6 years ago

你是不是 IP 太少了!另,你这是用 QUIC 吗?

caofengzi commented 6 years ago

也就這兩個原因,r66已經不次於1651了。

MeABc commented 6 years ago

个人认为还是 IP 的原因。 我 IP 少的时候出现这个次数还是很多的,但加 IP 多了以后这个少了。 又,下个版本我改下,让 “EOF”进入重试。现在是直接返回错误。

jyuan15 commented 6 years ago

@MeABc 我IP不少啊,2000多个,用TLS,1651速度能上万,1080p不断流,当然Zebra正常的时候也很好。 而且不论gop或prom都没出过这现象,我觉得是证书问题。

2018-07-08_134152

MeABc commented 6 years ago

证书问题

不太明白这个是什么意思。但 QUIC 部份,我早已增加了证书验证。

看你秀那图,我口水都流了。。。。我属于重灾区,没有好 IP,只好干瞪眼。。。

MeABc commented 6 years ago

用TLS

那我就明白了,TLS 下这个很容易出这个。不过我本地已改。quic-go 最新更新貌似有问题,我现在还不敢上传发布版本。

jyuan15 commented 6 years ago

@MeABc 1651也用tls,怎么不出现?IP是用QUIC模式扫的(因为用TLS扫不出来)。

证书是直接用gop的吗?要不要复制到Zebra目录中,还是让它自己生成?

jyuan15 commented 6 years ago

@MeABc 我的IP在这里找的:https://github.com/lennylxx/ipv6-hosts/blob/master/hosts

MeABc commented 6 years ago

证书是直接用gop的吗?要不要复制到Zebra目录中,还是让它自己生成?

哦,你是说这个本地证书!这个是兼容的,直接复制就行。这个证书不影响那个错误的。1651 没有那就是我这个版本的问题了。

jyuan15 commented 6 years ago

@MeABc 复制过,当时可用,下次启动又出错了。甚至还把stripssl.json中的证书名改成Zebra,把生成的证书单独导入浏览器,也是当次有效,下次出错。

MeABc commented 6 years ago

@jyuan15 我自己就是用原来 goproxy 的证书。你这种情况是不是被什么给还原了?下次出错时能不能发下日志信息。

jyuan15 commented 6 years ago

刚测试结果,启动出错,日志如下:

I0708 22:54:24.855872 2076 autoproxy.go:737] 127.0.0.1:63628 "AUTOPROXY Proxy Pac GET /proxy.pac HTTP/1.1" - - I0708 22:54:25.049883 2076 autoproxy.go:737] 127.0.0.1:63629 "AUTOPROXY Proxy Pac GET /proxy.pac HTTP/1.1" - - I0708 22:54:31.364244 2076 autoproxy.go:737] 127.0.0.1:63630 "AUTOPROXY Proxy Pac GET /proxy.pac HTTP/1.1" - - I0708 22:54:41.176805 2076 stripssl.go:151] 127.0.0.1:63631 "STRIP CONNECT ww w.google.com:443 HTTP/1.1" - - I0708 22:54:41.208807 2076 dialer2.go:96] MULTIDIALER DialTLS("tcp", "www.goo gle.com:443") with good_addrs=0, bad_addrs=0 W0708 22:54:43.596944 2076 gaetransport.go:125] GAE http.Transport.RoundTrip ("https://www.google.com/ncr") error: dial tcp [2800:200:2008:c4::13]:443: conne ctex: An established connection was aborted by the software in your host machine . I0708 22:54:43.599944 2076 dialer2.go:96] MULTIDIALER DialTLS("tcp", "www.goo gle.com:443") with good_addrs=0, bad_addrs=20 W0708 22:54:48.606230 2076 gaetransport.go:93] GAE tcp RoundTrip 2804:a8:c800 :100::e error: &poll.TimeoutError{}, close connection to it W0708 22:54:48.608230 2076 gaetransport.go:97] GAE: 2804:a8:c800:100::e is ti meout, add to blacklist for 5m0s W0708 22:54:48.610231 2076 gaetransport.go:125] GAE http.Transport.RoundTrip ("https://www.google.com/ncr") error: dial tcp [2804:a8:c800:100::e]:443: i/o ti meout W0708 22:54:48.611231 2076 gae.go:645] 127.0.0.1:63631 "GAE DIRECT GET https: //www.google.com/ncr HTTP/1.1" error: net.OpError(dial tcp [2804:a8:c800:100::e ]:443: i/o timeout) E0708 22:54:48.616231 2076 handler.go:98] 127.0.0.1:63631 Filter RoundTrip g ae.Filter error: dial tcp [2804:a8:c800:100::e]:443: i/o timeout I0708 22:55:21.362104 2076 dialer2.go:96] MULTIDIALER DialTLS("tcp", "clients 3.google.com:443") with good_addrs=0, bad_addrs=30 W0708 22:55:23.362218 2076 gaetransport.go:125] GAE http.Transport.RoundTrip ("https://clients3.google.com/generate_204") error: context deadline exceeded W0708 22:55:23.363218 2076 gaetransport.go:125] GAE http.Transport.RoundTrip ("https://clients3.google.com/generate_204") error: context deadline exceeded I0708 22:55:23.366218 2076 gae.go:410] GAE EnableDeadProbe "GET https://clien ts3.google.com/generate_204" error: context deadline exceeded I0708 22:55:28.409507 2076 dialer2.go:96] MULTIDIALER DialTLS("tcp", "clients 3.google.com:443") with good_addrs=0, bad_addrs=28 W0708 22:55:30.409621 2076 gaetransport.go:125] GAE http.Transport.RoundTrip ("https://clients3.google.com/generate_204") error: context deadline exceeded W0708 22:55:30.409621 2076 gaetransport.go:125] GAE http.Transport.RoundTrip ("https://clients3.google.com/generate_204") error: context deadline exceeded I0708 22:55:30.409621 2076 gae.go:410] GAE EnableDeadProbe "GET https://clien ts3.google.com/generate_204" error: context deadline exceeded I0708 22:55:34.451853 2076 dialer2.go:96] MULTIDIALER DialTLS("tcp", "clients 3.google.com:443") with good_addrs=0, bad_addrs=29

然后在托盘图标那里“重新载入”,又正常了:

I0708 22:55:40.333189 2580 stripssl.go:151] 127.0.0.1:63776 "STRIP CONNECT ww w.google.com:443 HTTP/1.1" - - I0708 22:55:40.356190 2580 dialer2.go:96] MULTIDIALER DialTLS("tcp", "www.goo gle.com:443") with good_addrs=0, bad_addrs=0 I0708 22:55:41.477254 2580 gae.go:668] 127.0.0.1:63776 "GAE DIRECT GET https: //www.google.com/ncr HTTP/1.1" 302 220 I0708 22:55:41.856276 2580 gae.go:668] 127.0.0.1:63776 "GAE DIRECT GET https: //www.google.com/ HTTP/1.1" 200 I0708 22:55:42.731326 2580 stripssl.go:151] 127.0.0.1:63797 "STRIP CONNECT ww w.google.com:443 HTTP/1.1" - - I0708 22:55:42.739327 2580 dialer2.go:96] MULTIDIALER DialTLS("tcp", "www.goo gle.com:443") with good_addrs=7, badaddrs=0 I0708 22:55:43.033343 2580 gae.go:668] 127.0.0.1:63776 "GAE DIRECT GET https: //www.google.com/xjs//js/k=xjs.s.ja.fflJosVKgNw.O/m=aa,abd,async,dvl,foot,fpe,i pv6,lu,m,mu,sf,d3l,WgDvvc/am=IIvIZAwBIP-nMJAoYAUjLDCBgiEC/rt=j/d=1/exm=sx,sb,cdo s,cr,elog,hsm,jsa,r,d,csi/ed=1/dg=0/rs=ACT90oGPKi1tKNqP5tnYYrTarg-ZxirSrw?xjs=s1 HTTP/1.1" 200 28680 I0708 22:55:43.104347 2580 stripssl.go:151] 127.0.0.1:63818 "STRIP CONNECT og s.google.com:443 HTTP/1.1" - - I0708 22:55:43.118348 2580 dialer2.go:96] MULTIDIALER DialTLS("tcp", "ogs.goo gle.com:443") with good_addrs=7, bad_addrs=0 I0708 22:55:43.174351 2580 dialer2.go:96] MULTIDIALER DialTLS("tcp", "www.goo gle.com:443") with good_addrs=7, bad_addrs=0 I0708 22:55:43.414365 2580 gae.go:668] 127.0.0.1:63797 "GAE DIRECT GET https: //www.google.com/complete/search?client=psy-ab&hl=ja&gs_rn=64&gs_ri=psy-ab&tok=q 6GCymPePtbGccE5pdIOAQ&cp=0&gsid=1&q=&xhr=t HTTP/1.1" 200 I0708 22:55:43.891392 2580 gae.go:668] 127.0.0.1:63776 "GAE DIRECT GET https: //www.google.com/xjs//js/k=xjs.s.ja.fflJosVKgNw.O/m=RMhBfe/am=IIvIZAwBIP-nMJAoY AUjLDCBgiEC/rt=j/d=1/exm=sx,sb,cdos,cr,elog,hsm,jsa,r,d,csi,aa,abd,async,dvl,foo t,fpe,ipv6,lu,m,mu,sf,d3l,WgDvvc/ed=1/dg=0/rs=ACT90oGPKi1tKNqP5tnYYrTarg-ZxirSrw ?xjs=s2 HTTP/1.1" 200 1474 I0708 22:55:44.013399 2580 gae.go:668] 127.0.0.1:63818 "GAE DIRECT POST https ://ogs.google.com/u/0/_/notifications/count HTTP/1.1" 200 I0708 22:55:44.302416 2580 gae.go:668] 127.0.0.1:63776 "GAE DIRECT GET https: //www.google.com/images/nav_logo242.png HTTP/1.1" 200 16786 I0708 22:55:48.661665 2580 stripssl.go:151] 127.0.0.1:63859 "STRIP CONNECT pl ay.google.com:443 HTTP/1.1" - - I0708 22:55:49.634721 2580 gae.go:668] 127.0.0.1:63859 "GAE DIRECT POST https ://play.google.com/log?format=json HTTP/1.1" 200 I0708 22:56:38.102493 2580 dialer2.go:96] MULTIDIALER DialTLS("tcp", "clients 3.google.com:443") with good_addrs=30, bad_addrs=27 W0708 22:56:40.102608 2580 gaetransport.go:125] GAE http.Transport.RoundTrip ("https://clients3.google.com/generate_204") error: context deadline exceeded W0708 22:56:42.697756 2580 gaetransport.go:125] GAE http.Transport.RoundTrip ("https://clients3.google.com/generate_204") error: context deadline exceeded I0708 22:56:42.697756 2580 gae.go:410] GAE EnableDeadProbe "GET https://clien ts3.google.com/generate_204" error: context deadline exceeded I0708 22:56:40.756645 2580 autoproxy.go:737] 127.0.0.1:63861 "AUTOPROXY Proxy Pac GET /proxy.pac HTTP/1.1" - - I0708 22:56:47.934055 2580 gae.go:668] 127.0.0.1:63776 "GAE DIRECT GET https: //www.google.com/complete/search?client=psy-ab&hl=ja&gs_rn=64&gs_ri=psy-ab&tok=q 6GCymPePtbGccE5pdIOAQ&cp=0&gs_id=7e&q=&xhr=t HTTP/1.1" 200 I0708 22:56:55.354480 2580 dialer2.go:96] MULTIDIALER DialTLS("tcp", "clients 3.google.com:443") with good_addrs=34, bad_addrs=33 I0708 22:57:04.771018 2580 dialer2.go:96] MULTIDIALER DialTLS("tcp", "clients 3.google.com:443") with good_addrs=41, bad_addrs=37

MeABc commented 6 years ago

@jyuan15 谢谢!我看看。

这个不是证书问题。

MeABc commented 6 years ago

我知道这个是什么问题了,这是随机 CipherSuites 引起的问题:即第一次启动会出错,重载后如正常,后面就会一直正常使用;如重载一次不成功,只能多次重载。

关于这个问题,多说几句:这个问题,goproxy 早期版本一直都有,后来多人反映,社长就去掉了。在这个问题上,我和社长可能有“分歧”,所以,我在我的版本里重新恢复了这些代码。所以问题也就回来了。

后面我会在随机和正常启动之间取一个折中,可能会减少出现次数,但不保证会完全解决。

caofengzi commented 6 years ago

原來用的ip6啊。

Asteroids89 commented 6 years ago

弱弱的问一下各位大佬,SNI或是IP6如何使用?一直用的是主任的扫描IP的工具,IP类型是QUIC,之前一直可以正常使用,最近不知道是google调整规则,还是加强了封锁,可用IP一直是个位数,还时常断流.呼叫下 @MeABc @Kisesy

jasonliul commented 6 years ago

@jyuan15 俺out太久, IPV6 数据库都建好了~~

MeABc commented 6 years ago

SNI或是IP6如何使用?

在 goproxy 里当做 GCC IP 一样用(放在同一个地方)。前提是这些 IP 要“能用”。