最新消息

欢迎来到 DH Hub!

我们是 南信大 DH 互联网技术社团

在这里收集当下火热的技术文章,并且分到对应板块内,作为社团的技术积累,供历届社友学习

本站不开放注册,访客可以正常浏览

  • 由于一些解析原因,建议先在本地编辑器写完以后再上传
  • 由于服务器原因,在编辑主题 / 回复时会有一定卡顿,请谅解。

杂项 中间人能知道我上什么网站吗?

主题 作者
成员
09
4
2
文章类型
完全原创 —— 不得转载
这是一篇抛砖引玉的讨论,适合至少是初次浏览过计算机网络的玩家观看,本文的很多观点可能是不成熟或者错误的,欢迎指正。

在我们平时上网的过程中,往往总有一些中间人,比如运营商、中间设备等,或多或少地能够窥探到我们的流量中的隐私信息。知乎上有个有趣的问题:网络运营商知道我上什么网站吗?
关于这个问题,下面给出了不少回答,但是没有看到结合计算机网络教材进行条理化分析的内容,下面来作一点点尝试。

用户上网多多少少都会用到应用层,从应用层来入手分类讨论:

首先,如果使用http协议,由于http协议是明文传递的,那么中间人自然也是知道得一清二楚;

接下来,考虑https协议,由于https协议对内容是加密的(整个HTTP内容都会被加密,包括行、头、体),中间人能知道的信息一下子就少了很多;
关于https协议具体能保护哪些信息,可以查阅:what-information-does-https-protect或者are-https-urls-encrypted

但是,即使用了https协议,仍然有很多地方会露出蛛丝马迹,我们可以按照浏览器地址栏输入链接按下回车后的过程来逐步寻找哪些地方可能有问题:
  • 首先,浏览器需要先发起DNS请求。
    • DNS请求时,用户计算机的DNS服务器默认是会配置成运营商提供的本地服务器,所以运营商可以通过本地服务器知道你最近解析了哪些域名(这个环节也常被利用来DNS污染和DNS劫持)
    • 待分析Doh的情形
  • 往下层经过TCP时,由于TCP报文里其实只有源目端口,并没有IP信息,所以这一层暂时是安全的
  • 经过网络层时,IP帧的首部里面有目的IP,中间人有可能察觉你所访问的实际网站
  • HTTPS开始握手,此时的证书还是明文传递的,证书中也包含目标网站的信息(Subject)(在Chrome浏览器中,对应证书的“颁发对象”-“公用名”)
  • SSL握手过程中,URL前面的一部分(不包括路径和参数的那部分)其实也是明文的
即使使用https协议,也存在被中间人窥探到一些痕迹的可能,不过,由于内容加密,相对原始的http要安全了很多。


更新:
如果使用浏览器的无痕模式,是不是就高枕无忧了呢?
考虑到不同浏览器对无痕模式的实现可能有所不同,这里参考Chrome浏览器的解释:
support.google.com/chrome/answer/95464
support.google.com/chrome/answer/7440301
  • Chrome 不会保存您的浏览记录、Cookie 和网站数据,也不会保存您在表单中填写的信息。
  • 您下载的文件和创建的书签将会保留下来。
  • 以下各方仍可看到您的活动:您访问的网站、您的雇主或学校、您的互联网服务提供商。
让我们来考虑一下Chrome开启无痕模式后,行为的一些变化:
  • 停止保存历史记录
    • 这一条对中间人影响不大,因为记录只是在本地保存
  • Cookie不会被持久化保存
    • 下一次打开浏览器时,Cookie就会丢失(注意不是停止记录Cookie,而只是退出时删除,否则基于Cookie的登录活动就根本没法完成了),某种意义上,如果中间人使用Cookie来追踪和定位一个用户,那开启无痕确实有可能会增加一些难度;但是如前面所分析的各种活动中泄露出去的IP地址的情形并没有改变,所以基本上中间人仍旧可以看到你在访问什么
因此,Chrome的无痕模式整体上更接近于是防止目标网站对你进行持续地跟踪和画像,而对于防范中间人的窥探影响并不大。Chrome的解释也确认了诸如雇主、互联网服务提供商这些组织仍然可以看到你在干什么。
(未完,学习中)
 
最后编辑:
顶部