本文转载自程序员不高兴
刚上大学没多久,就遇到件头疼事。
富二代们刚来就带着笔记本电脑,这让咱们只能玩手机的屌丝辈们羡慕嫉妒恨。要命的事来了,晚上断电不断网,于是熄灯后笔记本仍然可以玩。
不巧的是,我们寝室也有个。常常熄灯后,非得把电池用干净才罢休。边游戏边语音,还放着音乐,备受煎熬。虽经劝说有所好改,但过不了几天又会复原。
为了迫切改变这个状况,但又不想和新认识的同学扯,于是决定用技术方案解决。
可当时的家当只有一部诺基亚滑盖手机,没有装备一切都是空谈。唯一可行的,只有偷偷在他电脑里设置个计划任务,晚上自动关机。但那样万一发现了更不好,根本没有技术含量。
无奈,只能把目光转移到电脑之外,网络上。如果不能上网,就算电脑能用,也不至于熬夜玩单机游戏吧。
既然刚来时他的网线插口就能用,想必我这儿的也有信号。上一届的肯定都开通过,总不至于走了以后还封掉。趁着有天寝室没人,我把那笔记本的网线拖到我这边一试,果然有信号!顿时来了精神,感觉有希望了!
也许你会说,总不可能把网线连到诺基亚上,然后用什么恶搞软件吧~ 当然不可能,那时的手机哪有这么先进。
事实上,我们不用任何软!件!,甚至可以不用硬!件!—— 除了一根网线之外。
要说如何玩转网线,还能从之前安装机顶盒的那天说起。
曾有段时间,很多城市开始流行起数字电视。我们这也不例外,挨家挨户的赠送机顶盒,还免费上门安装。华数电视本来就和网通是一家,数字电视当然就是共享网通的宽带了。
由于之前已开通了网通,这次又要给机顶盒连网,我想至少得送个交换机才行吧。然而,安装的师傅一进来,既没掏出交换机、甚至连集线器也没有,反而一剪刀把网线给割了!
当时就惊呆了,这究竟是搞哪门子鬼。尽管那时对网络链路协议玩的挺嗨的,但物理层上的却是一窍不通。那师傅不慌不忙的说,网线只要四个就够了,还有些就是备用的。于是从之前的线里,拆了四根给机顶盒。
这大出之前所料,居然没用任何设备就把机顶盒接上了!于是,又开始异想天开了。。。
这分出来的两股,在交换机来看是不是两个独立用户?如果把他们接在一起,效果和一线插两口相同吗?能一样短路局域网吗?
怀着兴奋的心情一测,果然可以!真把整个小区的网络搞挂了!
在恢复之后很长段时间里,一直拨不上号。在嗅探器里发现好多邻居们的也在不断的拨号。
显然,刚刚那接通两个 4 股线,把外部的 STP 包也转发了,导致小区网络被外部隔离了。
这一天,改变了之前的看法。原来只需一根网线,就可以来一次 VLAN 风暴!
为什么一根网线插交换机的两个口会产生风暴?因为交换机会把发往广播地址的包,转发到所有接口上。
如果有两个接口回路了,一旦出现广播包,就会彼此不断循环发送,耗尽整个设备的带宽。
别小看交换机,它天生就是为发包设计的,风暴能把每个接口都占满,打出背板带宽的流量。STP 协议就是为了解决这个问题,进行回路检测。
尽管了解了这个新技能,但物理层的知识基本派不上用场,也就淡忘了 —— 直到发现寝室座位下有信号的那天。
根据回忆,寝室之间还打过局域网游戏,显然这不是独立的网段,于是更加信心满满了!
立即找来一根网线,剪掉一边的水晶头,刮掉外皮,然后把对应的四股两两粘上。果然,附近的寝室开始传来 —— 不,先是寂静了几秒,接着陆续传来的尖叫声,吼声。“卡了!”,“谁掉了?“,什么情况?”,“靠,断网了~~~”。。。
跑出走廊一看,整栋楼都暴动了!原来这寝室楼根本就没划 VLAN,所有几百号寝室都是连在一起的!!!
这时既兴奋又担心。兴奋的是,以后有了电脑可以抓上千人的流量了。担心的是,现在只想恶搞自己寝室,不想牵扯所有人。
不管怎样,行动还是继续。熄灯后本该休息,断了所有的也没什么不好。
这时技术上已无大碍,就差实施了。如何从容而又隐蔽的操作呢?
为了不暴露没电脑还插着根网线那么荒唐,于是尽量沿着有遮挡的柜子布线,从衣柜后一直拖到床铺。剩下的水平部分就埋在床边的缝隙里,并用席子盖着。
整个布局不凑近仔细看,根本发现不了~
当晚熄灯后,夜猫子们又开始蠢蠢欲动了,我也迫不及待的开始试验。和其他几个同学一样,假装在玩手机,实际已开始悄悄的接线,颇有地下情报员的感觉。
当搭上最后一股时,流畅的游戏声立即出现了卡顿。毕竟整栋楼都在这个 LAN 里,广播包的数量是相当多的。
只听得游戏剩背景音乐,却没有音效了!
想着 100Mbps 的流量从手中捏着的网线穿过,仿佛看见密密麻麻的 ARP、NetBIOS 广播在黑暗中闪过 —— 还有那少得可怜的、被挤掉的游戏数据包。
下午的骚动又一次爆发了。尽管熄灯后少得多,但在夜晚的环境里,显然越发清晰。
被断开的大多不甘心,还想继续玩。这一次,不打算这么暴力了,万一触发了回路检测,说不定整楼就被封了。
于是,改成搭上几秒,断开。再搭上、断开。。。游戏虽能运行,但不断陷于卡顿之中。没多久,传来一阵阵温馨的关机声,纷纷洗洗睡了。
首战告捷!终于睡了个好觉。
改良 v1
刚开始的几天里,效果非常理想,大家都乖乖的提前睡觉了。
不过没多久他们就发现,网络过会就会恢复的。原因很简单,哥睡着前就把线放开了,于是他们又开始了疯狂。
在迷迷糊糊睡梦中,要把网线重新搭上会困难的多。经常把不相干的也缠在了一起,结果就没效果了。
于是,需要一次用户体验上的改进。
事实上,其中三股线都是事先粘好的,实际就控制一股而已。不如把那三股都提前隐藏起来,只留一股在身旁,这样就不会搭错了。
换了根网线重新制作。这次,直接把其中 3 股用胶布粘好,藏在衣柜后面,只留一股拖上来。线路也细了不少。
这样,就和电路开关一样了。总共就两根线,搭上或分开就行。
即使在睡梦中,也只需动动手指,就能轻松自如的控制整楼的网络了!
改良 v2
不过这么简陋的设备,总会有操作失误的时候。
在一个周末的半夜,被通宵的吵醒后,狠狠的搭上了网线,然后继续睡。没想到这一次太困,直接沉睡了过去。直到早上 10 点多,才被敲门声惊醒。
原以为是隔壁同学,但敲门不断,打开后发现进来一个背着工具包的大叔。这时,才猛然意识到,搭着的网线忘了断开了!!!整整断了一晚,都查上门来了!
这时也来不及收拾了,心想这回终于要露陷了。不过那师傅一眼扫去,发现我们桌子上都是干干净净的,啥也没有。唯独敞着个笔记本,而且还没关机。于是上前拔掉了网线,然后走了。
侥幸躲过了这一劫,迫切需要改进了。
如果能睡前开启,睡着后自动关闭,那就十分理想了。再也不用睡梦中用意念去断开了。
于是打算做一个有弹性的开关,必须按着才会开启,松开就关闭。这样睡着后身体放松就自动断开了。
经过一番改进,把开关做得无比隐蔽:把两根线塞到一个袜子里,里面塞了棉布等等有弹性的东西。正常情况线路是分开的,但轻轻往下压就会搭住,放开后又恢复正常。
不过袜子捏手里也怪怪的,于是就藏到脚后头。至此,每当夜晚吵闹时,只要脚趾头稍稍踮一下,周围的气氛就立即变得格外安静。
到此,总共花了两块钱打造的装备,能让脚趾来控制上千人的网络状态,简直太有成就感了:)
没多久,大家似乎发现了规律,只要声音太响网就会卡,但无奈又找不到原因。于是都变得乖乖的安静上网了。(每次回想起就特别搞笑)
当然,这装置只投入使用了半年。第二个学期大家都装了电脑,于是一起愉快的通宵上网了。