热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

花了2元,用1根网线发起攻击,控制上千人

转自:EtherDream的博客(EtherDream)刚上大学没多久,就遇到件头疼事。富二代们刚来就带着笔记本电脑

转自:EtherDream 的博客(@EtherDream)

刚上大学没多久,就遇到件头疼事。


富二代们刚来就带着笔记本电脑,这让咱们只能玩手机的屌丝辈们羡慕嫉妒恨。要命的事来了,晚上断电不断网,于是熄灯后笔记本仍然可以玩。


不巧的是,我们寝室也有个。常常熄灯后,非得把电池用干净才罢休。边游戏边语音,还放着音乐,备受煎熬。虽经劝说有所好改,但过不了几天又会复原。


640?wx_fmt=jpeg


为了迫切改变这个状况,但又不想和新认识的同学扯,于是决定用技术方案解决。


可当时的家当只有一部诺基亚滑盖手机,没有装备一切都是空谈。唯一可行的,只有偷偷在他电脑里设置个计划任务,晚上自动关机。但那样万一发现了更不好,根本没有技术含量。


无奈,只能把目光转移到电脑之外,网络上。如果不能上网,就算电脑能用,也不至于熬夜玩单机游戏吧。

640?wx_fmt=jpeg

既然刚来时他的网线插口就能用,想必我这儿的也有信号。上一届的肯定都开通过,总不至于走了以后还封掉。趁着有天寝室没人,我把那笔记本的网线拖到我这边一试,果然有信号!顿时来了精神,感觉有希望了!


也许你会说,总不可能把网线连到诺基亚上,然后用什么恶搞软件吧~ 当然不可能,那时的手机哪有这么先进。


事实上,我们不用任何软!件!,甚至可以不用硬!件! —— 除了一根网线之外。


要说如何玩转网线,还能从之前安装机顶盒的那天说起。


曾有段时间,很多城市开始流行起数字电视。我们这也不例外,挨家挨户的赠送机顶盒,还免费上门安装。华数电视本来就和网通是一家,数字电视当然就是共享网通的宽带了。


由于之前已开通了网通,这次又要给机顶盒连网,我想至少得送个交换机才行吧。然而,安装的师傅一进来,既没掏出交换机、甚至连集线器也没有,反而一剪刀把网线给割了!


当时就惊呆了,这究竟是搞哪门子鬼。尽管那时对网络链路协议玩的挺嗨的,但物理层上的却是一窍不通。那师傅不慌不忙的说,网线只要四个就够了,还有些就是备用的。于是从之前的线里,拆了四根给机顶盒。


这大出之前所料,居然没用任何设备就把机顶盒接上了!于是,又开始异想天开了。


640?640?wx_fmt=jpeg


这分出来的两股,在交换机来看是不是两个独立用户?如果把他们接在一起,效果和一线插两口相同吗?能一样短路局域网吗?


怀着兴奋的心情一测,果然可以!真把整个小区的网络搞挂了!


640?wx_fmt=jpeg


在恢复之后很长段时间里,一直拨不上号。在嗅探器里发现好多邻居们的也在不断的拨号。显然,刚刚那接通两个 4 股线,把外部的 STP 包也转发了,导致小区网络被外部隔离了。


这一天,改变了之前的看法。原来只需一根网线,就可以来一次 VLAN 风暴!


为什么一根网线插交换机的两个口会产生风暴?

因为交换机会把发往广播地址的包,转发到所有接口上。如果有两个接口回路了,一旦出现广播包,就会彼此不断循环发送,耗尽整个设备的带宽。别小看交换机,它天生就是为发包设计的,风暴能把每个接口都占满,打出背板带宽的流量。STP 协议就是为了解决这个问题,进行回路检测。


尽管了解了这个新技能,但物理层的知识基本派不上用场,也就淡忘了 —— 直到发现寝室座位下有信号的那天。


根据回忆,寝室之间还打过局域网游戏,显然这不是独立的网段,于是更加信心满满了!


立即找来一根网线,减掉一边的水晶头,刮掉外皮,然后把对应的四股两两粘上。果然,附近的寝室开始传来 —— 不,先是寂静了几秒,接着陆续传来的尖叫声,吼声。“卡了!”,“谁掉了?“,什么情况?”,“靠,断网了~~~”。


跑出走廊一看,整栋楼都暴动了!原来这寝室楼根本就没划 VLAN,所有几百号寝室都是连在一起的!!!


这时既兴奋又担心。兴奋的是,以后有了电脑可以抓上千人的流量了。担心的是,现在只想恶搞自己寝室,不想牵扯所有人。


不管怎样,行动还是继续。熄灯后本该休息,断了所有的也没什么不好。


这时技术上已无大碍,就差实施了。如何从容而又隐蔽的操作呢?


为了不暴露没电脑还插着根网线那么荒唐,于是尽量沿着有遮挡的柜子布线,从衣柜后一直拖到床铺。剩下的水平部分就埋在床边的缝隙里,并用席子盖着。


整个布局不凑近仔细看,根本发现不了~


640?wx_fmt=jpeg


当晚熄灯后,夜猫子们又开始蠢蠢欲动了,我也迫不及待的开始试验。和其他几个同学一样,假装在玩手机,实际已开始悄悄的接线,颇有地下情报员的感觉。


640?wx_fmt=jpeg


当搭上最后一股时,流畅的游戏声立即出现了卡顿。毕竟整栋楼都在这个 LAN 里,广播包的数量是相当多的。


只听得游戏剩背景音乐,却没有音效了!


想着 100Mbps 的流量从手中捏着的网线穿过,仿佛看见密密麻麻的 ARP、NetBIOS 广播在黑暗中闪过 —— 还有那少得可怜的、被挤掉的游戏数据包。


640?640?wx_fmt=jpeg


下午的骚动又一次爆发了。尽管熄灯后少得多,但在夜晚的环境里,显然越发清晰。


被断开的大多不甘心,还想继续玩。这一次,不打算这么暴力了,万一触发了回路检测,说不定整楼就被封了。


于是,改成搭上几秒,断开。再搭上、断开。游戏虽能运行,但不断陷于卡顿之中。没多久,传来一阵阵温馨的关机声,纷纷洗洗睡了。


首战告捷!终于睡了个好觉。


改良 v1


刚开始的几天里,效果非常理想,大家都乖乖的提前睡觉了。


不过没多久他们就发现,网络过会就会恢复的。原因很简单,哥睡着前就把线放开了,于是他们又开始了疯狂。


在迷迷糊糊睡梦中,要把网线重新搭上会困难的多。经常把不相干的也缠在了一起,结果就没效果了。


于是,需要一次用户体验上的改进。


事实上,其中三股线都是事先粘好的,实际就控制一股而已。不如把那三股都提前隐藏起来,只留一股在身旁,这样就不会搭错了。


换了根网线重新制作。这次,直接把其中 3 股用胶布粘好,藏在衣柜后面,只留一股拖上来。线路也细了不少。


640?wx_fmt=jpeg


这样,就和电路开关一样了。总共就两根线,搭上或分开就行。


即使在睡梦中,也只需动动手指,就能轻松自如的控制整楼的网络了!


改良 v2


不过这么简陋的设备,总会有操作失误的时候。


在一个周末的半夜,被通宵的吵醒后,狠狠的搭上了网线,然后继续睡。没想到这一次太困,直接沉睡了过去。直到早上 10 点多,才被敲门声惊醒。


原以为是隔壁同学,但敲门不断,打开后发现进来一个背着工具包的大叔。这时,才猛然意识到,搭着的网线忘了断开了!!!整整断了一晚,都查上门来了!


640?wx_fmt=jpeg


这时也来不及收拾了,心想这回终于要露陷了。不过那师傅一眼扫去,发现我们桌子上都是干干净净的,啥也没有。唯独敞着个笔记本,而且还没关机。于是上前拔掉了网线,然后走了。


侥幸躲过了这一劫,迫切需要改进了。


如果能睡前开启,睡着后自动关闭,那就十分理想了。再也不用睡梦中用意念去断开了。


于是打算做一个有弹性的开关,必须按着才会开启,松开就关闭。这样睡着后身体放松就自动断开了。


640?wx_fmt=jpeg


经过一番改进,把开关做得无比隐蔽:把两根线塞到一个袜子里,里面塞了棉布等等有弹性的东西。正常情况线路是分开的,但轻轻往下压就会搭住,放开后又恢复正常。


不过袜子捏手里也怪怪的,于是就藏到脚后头。至此,每当夜晚吵闹时,只要脚趾头稍稍踮一下,周围的气氛就立即变得格外安静。


到此,总共花了两块钱打造的装备,能让脚趾来控制上千人的网络状态,简直太有成就感了:)


640?wx_fmt=jpeg


没多久,大家似乎发现了规律,只要声音太响网就会卡,但无奈又找不到原因。于是都变得乖乖的安静上网了。(每次回想起就特别搞笑)


当然,这装置只投入使用了半年。第二个学期大家都装了电脑,于是一起愉快的通宵上网了。




推荐阅读
  • 本文介绍了在电信光猫自带wifi信号不好的情况下,如何通过添加无线路由器来改善信号。具体包括关闭光猫的无线功能的方法,以及将路由器作为交换机使用或作为路由器使用的连接方法。同时还提到了一些注意事项,如设置固定IP地址、避免地址冲突等。欢迎大家留言讨论该问题。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了如何找到并终止在8080端口上运行的进程的方法,通过使用终端命令lsof -i :8080可以获取在该端口上运行的所有进程的输出,并使用kill命令终止指定进程的运行。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文介绍了C++中省略号类型和参数个数不确定函数参数的使用方法,并提供了一个范例。通过宏定义的方式,可以方便地处理不定参数的情况。文章中给出了具体的代码实现,并对代码进行了解释和说明。这对于需要处理不定参数的情况的程序员来说,是一个很有用的参考资料。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了MyBioSource转甲状腺素蛋白定量检测ELISA试剂盒的应用方法及特点。ELISA法作为一项新技术在免疫诊断中的应用范围不断扩大,不仅适用于多种病原微生物引起的传染病、非传染病的免疫诊断,也可用于大/小分子抗原的定量检测。ELISA法具有灵敏、特异、简单、快速、稳定及易于自动化操作等特点,是一种早期诊断的良好方法,也可用于血清流行病学调查。MyBioSource转甲状腺素蛋白定量检测ELISA试剂盒使用方法包括对血清和血浆的操作要求。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了一种划分和计数油田地块的方法。根据给定的条件,通过遍历和DFS算法,将符合条件的地块标记为不符合条件的地块,并进行计数。同时,还介绍了如何判断点是否在给定范围内的方法。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
author-avatar
手机用户2502906317
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有