HTTPS

A collection of 2 posts

HTTPS

使用 sniproxy 隐藏 SSL 握手时的域名以躲过 ISP 嗅探

最近在论坛上有不少同学反馈,由于将家中 NAS 的服务暴露到了公网,其中包含了管理页面的 HTTP 或者 WebDAV,导致 ISP 发现并断网发文通知整改。其中有部分回帖称其没有使用 HTTPS 而导致流量被运营商嗅探到。但使用了 HTTPS 服务就万无一失吗?不是的。就算使用了 HTTPS ,也有可能在 SSL 握手时域名遭到泄漏,导致运营商可以通过域名形式访问到用户开启的网页服务。 当然,运营商如何操作的,对于我们来说是一个黑盒,运营商可能通过抓包等方式获取请求中的明文的 SNI 信息。要确保万无一失,您还需要使用加密的 SNI。 需要注意的是,如果您的 ISP 未分配给您互联网上的地址,此篇教程不适用您的情况。请移步 frp 进行端口映射。我们假设以下的这种情况: 某用户使用了群晖的 NAS,

SecPolicyCreateSSL

DNS Anti-spoofing using NSURLProtocol and HappyDNS

2/26/2016 更新1: NSURLConnection 在 iOS 9 中已经被标记为 deprecated,如果你想在生产环境里使用,可以将 NSURLConnection 实现替换为 NSURLSession。具体的代码可以参考 CustomHTTPProtocol。 2/26/2016 更新2: NSURLProtocol 可能会导致某些情况下的意外崩溃,这与 NSURLProtocol 本身实现没有关系,可能与系统内部有一定的冲突,具体原因还在调查中。 最近在参与一个 iOS 项目的时候,遇到了一点部署在 AWS 上服务器 IP 地址解析上的问题,表现是大量用户反馈出现了 -1003 错误,即 NSURLErrorCannotFindHost,而且这个错误在蜂窝数据下和 WiFi 环境下都有发生。