(转一篇2010年9月写的破文章)

我有好几个舅舅,职业不同,按照西方的说法,一个是银行家,一个是机械师(兼电工和水管工),一个是药剂师(现在从事安保职业),他们在晚年的共同爱好就是上网,通过这个窗口他们几乎可以接触到太阳系之外的世界。
我为他们解决过很多电脑和网络问题,但有一个问题从来也没能让他们真正明白过:为什么有些网站别人上得了我们却上不了?

=========

最近我们在工作中花了好几天,定位了一个“不能上网”的问题。于是我觉得应该好好写个技术贴,能够让我这几个舅舅从本质上明白这个问题。他们之中只有银行家会打字,所以我得尽量一次把话说明白,免得他们心存疑惑又不能回帖提问以致抓狂。
简单的说,我们工作中的问题是为什么上不了facebook和twitter(可怜舅舅们可能现在就开始抓狂了:这是啥玩意儿啊...)。对一些人来说这不是问题,因为他们知道有VPN这种东西。我的银行家舅舅也知道这个。我们的问题具体一点说就是,使用相同的VPN,在电脑上可以看见twitter小鸟,可是在手机上不行——在手机通过VPN上是可以访问picasa,playboy这类网站的。
我们在手机上使用了诸多手段来定位问题:抓IP包,ping,curl,wget...舅舅们不用抓狂,这些只是一些简单基本的网络技术,就好比机械师使用各种螺丝刀/电钻/车床来解决你们的问题一样。我们还得到了这两个网站的IP地址,还请身在美国的朋友帮忙访问刺探,结果很诡异:要么是一个保留地址,要么服务器就是在意大利一类不靠谱的地方。也就是说,闹了半天我们真正访问的其实不是这两个网站的真身。

=========

现在先解释一下上网的流程。简单的说我们上网时输入的网址一般是一串好记的英文字母(以后还会有中文),这好比人的名字;每个网址都会对应一个唯一的IP地址,好比人的电话号码。上网的过程就好比打电话。也就是说,你光知道一个人的名字是不能给他打电话的,得知道他的电话才行。世界上有很多看不见的服务器叫DNS,专门提供网址到IP地址的查询,就好比邮局里的黄页(银行家舅舅也知道这个),或是114,一按我帮您,或者号码百事通...什么的。所以你敲了一个网址,例如facebook之后,电脑会通过DNS查到它对应的IP地址,然后才能连到真正的服务器那里。
很自然的想法就是,如果我不想让你找到这个人,那就让你 1) 查不到他的电话号码,或者 2) 查到一个错误的电话号码。对应的技术就是DNS劫持,或DNS感染。前者是我偷偷在黄页里把号码改了,比如改成派出所或是某夜店的号码...后者有点像这种场景:你给114打了查询电话,服务员刚说“稍等”就有另外一个声音把恶意的结果告诉你了,然后你就把电话挂了,然后真正的服务员会说“艹怎么挂了...”,然后你按照那个号码打过去发现不是派出所就是夜店...

=========

再回到我们的问题:为什么只在手机上不能访问。不好意思那是我们的错,因为我们在手机操作系统的协议栈里列了好几个DNS地址,有无线wifi提供的,还有VPN提供的,甚至还有移动网关协商的。而DNS查询是一件很简单的活儿,它会按顺序查询并使用返回的第一个结果,很不幸在我们里案例中VPN提供的DNS排在了后边。

或者说得更明白一点:排在前边的DNS查到的twitter小鸟的IP地址是错误的,或者是恶意的指向意大利黑手党报名网站的。技术上叫“被劫持的”。这年头已经不能简单的让你查不到IP地址了,那样太低级;给你一个错误的无法访问的地址,至少可以让大多数人骂街时不太有把握该骂谁。

=========

舅舅们肯定会问,什么坏人这么NB,连黄页和114都动的了?在技术领域里其实很难界定“好人”和“坏人”,就好比我的药剂师舅舅有时会偷偷浏览一些几乎不穿衣服的美女图片,但我不能跟舅妈说你是坏人一样。据我所知,经常在DNS服务器上动手脚的人包括运营商,还有“上边”,你能简单的说他们是坏人吗?
我的机械师舅舅以前总觉得每个网站都有一根管子连着,把管子掐住你就访问不了,现在你明白不是这么回事了。还是我的银行家舅舅比较靠谱,他认为是“上边”不想让你访问,所以你不能访问。我的药剂师舅舅虽然现在当了保安,但是脑子依然灵光,我知道他会说那太简单了,你把蓝色小鸟的IP记住了,以后直接打电话不就能看见小鸟了...这个问题其实没那么简单,不然要VPN干什么...我今天还没想好怎么说明白,下次吧...
=========
另外一件有意思的事情是,我们发现VPN提供的DNS地址十分NB:8.8.4.4。开始以为是一个私有地址,后来才知道是Google提供的两个开放DNS之一,另外一个更加NB的8.8.8.8。前段时间谷歌跟我们干架闹了一阵去香港了,按说不是什么好东西,但是它在09年底为各国网民提供了两个相当NB的免费DNS服务器,并宣传让网民上网更加迅速和安全。再次验证了技术领域里不要说好人还是坏人。
世界上最抓狂的事情之一就是,有些事情明明简单得如同穿衣吃饭,偏偏就不能让你轻易做到。好在我懂点技术,知道点皮毛,可以少抓点狂。
有点晚了,舅舅们要想知道怎么换DNS,下次再说吧。搞不好过一段时间就不好使了...

技术里的故事里的技术相关推荐

  1. abaqus pythonreader_【技术邻】Abaqus里应用Python的一些技巧

    原标题:[技术邻]Abaqus里应用Python的一些技巧 例如:cell4 = mdb.models['block'].parts['crankcase'].cells[4],要把part模块中编号 ...

  2. 一文理清散乱的物联网里开发者必须关注的技术!

    一文理清散乱的物联网里开发者必须关注的技术! 不管是从商业模式导出的业务模型,还是从技术发展的角度看,文本都倾向于将物联网技术构架看作是互联网技术构架的延展.而与这个观念对立的,是传统嵌入式软件开发的 ...

  3. linux查看usb设备文件,技术|在 Linux 系统里识别 USB 设备名字的 4 种方法

    对于初学者来说,在 Linux 系统里你必须掌握的技术之一就是识别出插入系统里的各种设备.这也许是你的系统硬盘.外部的存储设备或者是可移动设备,比如 USB 设备或 SD 闪存卡等. 现如今,使用 U ...

  4. 噼里啪智能·财税产品技术 VP 张芳:DI 和 AI 双引擎为智能财税保驾护航

    图为噼里啪智能·财税产品技术VP 张芳(中间),高级产品经理张晶(左三),高级产品经理 陈浩(右三),产品经理 李慧凝(左二),架构师 朱孟欣(右二),高级研发经理 李忠敏(左一),架构师 郭焕猛(右 ...

  5. UWB+ZigBee定位技术开创井下空间里的“GPS”导航

    由于煤矿井下空间内卫星信号几近于无,井下人员定位系统的建设需要依赖高精度定位技术UWB.UWB作为一个目前来说,定位精度高.功耗低.覆盖距离远.多径分辨能力强等优势的室内定位技术,被很多煤矿企业明确要 ...

  6. 揭秘智能音箱里那些神秘的声学技术

    音箱行业有着悠久的历史,但是在过去十多年里,传统的音箱行业面临着极大的市场困境,例如蓝牙音箱刚出现各个厂商便直接杀成了一片红海.而2015年随着智能音箱的涌现,特别是亚马逊的Echo.京东的叮咚.阿里 ...

  7. 美术的故事 —— 那些用技术创造艺术的游戏开发者

    他们不仅仅只是游戏美术,他们还是想去触摸未来的人. 当世界上第一只基于三维计算机图形技术制作的手部模型出现的时候,就已经有很多人开始想象未来的样子.而随着硬件技术的逐渐发展,许多曾经的构想逐渐变成了现 ...

  8. 腾讯技术分享:微信小程序音视频技术背后的故事

    1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...

  9. 计算机科学小故事,三月份实习小故事计算机科学与技术学院

    三月份实习小故事计算机科学与技术学院 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 7.9 积分 三月实习小故事指缝很宽,时间太瘦,悄悄从指缝间溜走 ...

最新文章

  1. MySQL数据库开发常见问题及几点优化!
  2. 给你一个热爱阅读的机会,走到哪儿,看到哪儿的读书体验
  3. Android之SwipeRefreshLayout
  4. 2019.1.23 01迷宫
  5. WdatePicker日历控件使用方法
  6. 物联网带来的安全梦魇
  7. 计算机一级b必背知识点,全国计算机等级考试B经典必考资料_知识点总结.doc
  8. 报错AttributeError: Can‘t pickle local object ‘Worker.__init__.<locals>.<lambda>‘解决办法
  9. 大话机器人之云端架构
  10. encode()和decode()
  11. Java算法之 循序搜寻法
  12. 2019计蒜之道初赛第一场 A 商汤的AI伴游小精灵(DFS)
  13. lcd和oled的区别哪个好
  14. 易语言编程乱码解决方案
  15. 网站备案必须要云服务器,备案必须要云服务器吗
  16. CTF—RGB三原色
  17. tcl c语言笔试题,TCL2014校园招聘笔试真题及答案
  18. 量子计算机没有热量,最新研究:量子气体不会带走热量
  19. 强化学习和 Q-Learning
  20. 联想V450中禁用触摸鼠标(MousePad/TouchPad)的3种方法

热门文章

  1. 笔记本计算机电池没有电,笔记本主板电池没电会影响开机吗
  2. 干货 | 双曲空间度量学习在情绪识别中的应用
  3. Unreal Engine 5 不修改引擎添加渲染管线
  4. 谷歌浏览器(Chrome)如何安装crx插件?(详细步骤)
  5. 「新职业」背后赚钱的需求在哪里?
  6. 为什么只看重结果_不要只看重结果 过程也是美丽的
  7. 华人学者再创佳绩!包揽CoRL2021最佳论文奖项
  8. Tableau 人言可畏:快速捕获客户对产品的关键评价
  9. 数字电网白皮书 附下载
  10. 二进制安全之NX绕过方法--ROP技术