v2ray / v2ray-core

A platform for building proxies to bypass network restrictions.
https://www.v2ray.com/
MIT License
45.43k stars 8.95k forks source link

TLS+WS+web 上网,联通的上网记录有时识别为SSL类安全流量,有时候识别为网页访问,是否联通能识别V2ray流量的某些特征模式? #1017

Closed ghost closed 6 years ago

ghost commented 6 years ago

中文: 提交 Issue 之前请先阅读 Issue 指引,然后回答下面的问题,谢谢。 除非特殊情况,请完整填写所有问题。不按模板发的 issue 将直接被关闭。

1) 你正在使用哪个版本的 V2Ray?(如果服务器和客户端使用了不同版本,请注明) 服务器:3.14/Ubuntu 16.04.3,客户端:3.14/kitsunebi 2) 你的使用场景是什么?比如使用 Chrome 通过 Socks/VMess 代理观看 YouTube 视频。 服务器配置为TLS+web+WS上网,并且申请了域名,服务器上配置了网站。上网通过服务器的caddy代理到V2ray,上网使用一切正常。 3) 你看到的不正常的现象是什么?(请描述具体现象,比如访问超时,TLS 证书错误等) 经测试发现: 1,Twitter上网:联通有时候会识别为“网页访问”,有时候被识别为”SSL类安全流量“; 2,Chrome上网:联通有时候会识别为“网页访问”,有时候被识别为”SSL类安全流量“; 3,Youtube和Telegram:被识别为”SSL类安全流量“; 总体来看,识别为”SSL类安全流量“的次数多于“网页访问”的次数; 4) 你期待看到的正确表现是怎样的? 一个疑问:从理论上来讲,联通是否应该统一识别为”SSL类安全流量“或“网页访问”,但是现在有时识别为”SSL类安全流量“有时被识别为“网页访问”,是否说明V2ray流量的某些特征模式? 5) 请附上你的配置(提交 Issue 前请隐藏服务器端IP地址)。

服务器端配置: V2Ray: { "log" : { "access": "/var/log/v2ray/access.log", "error": "/var/log/v2ray/error.log", "loglevel": "warning" }, "inbound": { "port": XXX, "listen":"127.0.0.1", "protocol": "vmess", "settings": { "udp":true, "clients": [ { "id": "XXXXXXX", "alterId":64 } ] }, "streamSettings": { "network": "ws", "wsSettings": { "connectionReuse": true, "path": "/ray", "headers": { "Host": "www.mydomain.com" } } } }, "outbound": { "protocol": "freedom", "settings": {} } }

Caddy: https://www.mydomain.com:443 { root /usr/local/caddy/www timeouts none tls XXX@XXX.com gzip proxy /ray localhost:18889 { websocket } }

客户端配置(kitsunebi导出的配置): { "inboundDetour" : [ { "domainOverride" : [ "http", "tls" ], "port" : 1086, "listen" : "127.0.0.1", "protocol" : "socks", "settings" : { "auth" : "noauth", "udp" : true } } ], "outboundDetour" : [ { "protocol" : "freedom", "settings" : {

  },
  "tag" : "direct"
},
{
  "protocol" : "blackhole",
  "settings" : {

  },
  "tag" : "block"
}

], "dns" : { "servers" : [ "223.5.5.5", "8.8.8.8" ] }, "inbound" : { "port" : 1087, "listen" : "127.0.0.1", "protocol" : "http", "settings" : { "allowTransparent" : true } }, "log" : { "access" : "\/private\/var\/mobile\/Containers\/Shared\/AppGroup\/XXXX\/v2ray_access.log", "loglevel" : "none", "error" : "\/private\/var\/mobile\/Containers\/Shared\/AppGroup\/XXXXX\/v2ray_error.log" }, "outbound" : { "mux" : { "concurrency" : 8, "enabled" : true }, "protocol" : "vmess", "settings" : { "vnext" : [ { "users" : [ { "id" : "XXXXX", "alterId" : 64, "security" : "chacha20-poly1305" } ], "address" : "www.mydomain.com", "port" : 443 } ] }, "streamSettings" : { "security" : "tls", "wsSettings" : { "path" : "\/ray" }, "network" : "ws", "tlsSettings" : { "allowInsecure" : true } }, "tag" : "proxy" }, "policy" : { "levels" : { "0" : { "uplinkOnly" : 5, "connIdle" : 150, "downlinkOnly" : 10, "handshake" : 4 } } }, "routing" : { "settings" : { "rules" : [ { "type" : "field", "ip" : [ "geoip:cn" ], "outboundTag" : "direct" }, { "type" : "field", "domain" : [ "geosite:cn" ], "outboundTag" : "direct" }, { "type" : "field", "domain" : [ ], "outboundTag" : "direct" }, { "type" : "field", "domain" : [ ], }, { "type" : "field", "domain" : [ ], "outboundTag" : "direct" }, { "type" : "field", "domain" : [ ], "outboundTag" : "block" }, { "type" : "field", "domain" : [ ], "outboundTag" : "proxy" }, { "type" : "field", "domain" : [ ], "outboundTag" : "block" }, { "type" : "field", "domain" : [ ], "outboundTag" : "direct" }, { "type" : "field", "domain" : [ ], "outboundTag" : "block" } ], "domainStrategy" : "IPIfNonMatch" }, "strategy" : "rules" } }

6) 请附上出错时软件输出的错误日志。在 Linux 中,日志通常在 /var/log/v2ray/error.log 文件中。

服务器端错误日志:

不涉及

客户端错误日志:
不涉及

7) 请附上访问日志。在 Linux 中,日志通常在 /var/log/v2ray/access.log 文件中。 不涉及

8) 其它相关的配置文件(如 Nginx)和相关日志。 不涉及

ghost commented 6 years ago

补充说明:以前用SSR上网的时候,用TLS的混淆,也是存在相同的问题,有时候识别为“网页访问”,有时候被识别为”SSL类安全流量“。

DarienRaymond commented 6 years ago

你可以试一下正常的 HTTPS 访问会被怎么记录,比如 bilibili 和 baidu 都是有 https 版本的。如果不用代理的 HTTPS 访问也会分两种方式记录,那就没问题了。

ghost commented 6 years ago

👌,我再试试,谢谢!

leo9800 commented 6 years ago

自己测试了下 B站443端口有的是网页访问,有的是SSL安全类流量,_没有_出现SSL VPN一类的(这类2015年左右有过,所有SSL连接都显示这个) B站的一个websocket over SSL(似乎是在TCP/4095上,域名里包含broadcast字样),显示SSL安全类流量。

后者可能用了SSL但不再443端口吧

此外,TCP/990上的FTP over implicit SSL和MySQL over SSL(通过stunnel实现SSL)也显示SSL安全类流量。

DarienRaymond commented 6 years ago

大致的猜测是完整的TLS握手,会被识别成网页访问,如果是session resumption的话,就被识别为SSL安全流量。两者数量的差别取决于浏览器行为。

hutozh commented 6 years ago

我的全部显示为ssl安全类网页流量,即使正常网页。相反ss加混淆能显示为网页,web get。

Justsoos commented 6 years ago

楼主说的是手机联通上网吧? 家庭宽带没听说过还有这种自己能看的记录。 另外,不要手机玩 “非法” 内容,最近监测到安卓vpn状态,依然会有多个方式泄露IP和其他信息。

frankang commented 6 years ago

@Justsoos 可以详细举例说一下安卓是怎么泄露的吗

DarienRaymond commented 6 years ago

这个 issue 应该和 v2ray 无关,先关了

ghost commented 6 years ago

@DarienRaymond,请教一下: 1、从你的分析来看,如果是session resumption的原因的话,联通识别出来的算是正常的吗? 2、本人菜鸟一个,请问session resumption是在什么场景下会出现呢?能否举一些具体的例子? 谢谢!

birdofprey commented 6 years ago

FTP over implicit SSL和MySQL over SSL(通过stunnel实现SSL)。是否可以给个详细的技术实现手册。谢谢。godeyes100000000061@gmail.com

Cwek commented 6 years ago

@frankang 应该是指webrtc吧?

DarienRaymond commented 6 years ago

@gitato

  1. 取决于联通是怎么实现的了,我觉得没问题
  2. 浏览器通常在第一次连接一个HTTPS站点的时候,使用完整的握手,之后所有的请求(如果服务器允许的话)都会使用 session resumption,直到session token失效为止。
birdofprey commented 6 years ago

V2能不能搞成TAR.GZ包放在提供下载的服务器上哦。

ghost commented 6 years ago

@DarienRaymond,多谢你的答复。我用的是caddy,请问这个session resumption的功能在caddy还是在什么地方可以配置的吗?谢谢!