【趣事】一根網線發起的攻擊 - EtherDream

>>>  技術話題—商業文明的嶄新時代  >>> 簡體     傳統

剛上大學沒多久,就遇到件頭疼事。

富二代們剛來就帶著筆記本電腦,這讓咱們只能玩手機的屌絲輩們羨慕嫉妒恨。要命的事來了,晚上斷電不斷網,于是熄燈后筆記本仍然可以玩。

不巧的是,我們寢室也有個。常常熄燈后,非得把電池用干凈才罷休。邊游戲邊語音,還放著音樂,備受煎熬。雖經勸說有所好改,但過不了幾天又會復原。

為了迫切改變這個狀況,但又不想和新認識的同學扯,于是決定用技術方案解決。


可當時的家當只有一部諾基亞滑蓋手機,沒有裝備一切都是空談。唯一可行的,只有偷偷在他電腦里設置個計劃任務,晚上自動關機。但那樣萬一發現了更不好,根本沒有技術含量。

無奈,只能把目光轉移到電腦之外,網絡上。如果不能上網,就算電腦能用,也不至于熬夜玩單機游戲吧。

既然剛來時他的網線插口就能用,想必我這兒的也有信號。上一屆的肯定都開通過,總不至于走了以后還封掉。趁著有天寢室沒人,我把那筆記本的網線拖到我這邊一試,果然有信號!頓時來了精神,感覺有希望了!

也許你會說,總不可能把網線連到諾基亞上,然后用什么惡搞軟件吧~ 當然不可能,那時的手機哪有這么先進。

事實上,我們不用任何軟!件!,甚至可以不用硬!件! —— 除了一根網線之外。


要說如何玩轉網線,還能從之前安裝機頂盒的那天說起。

曾有段時間,很多城市開始流行起數字電視。我們這也不例外,挨家挨戶的贈送機頂盒,還免費上門安裝。華數電視本來就和網通是一家,數字電視當然就是共享網通的寬帶了。

由于之前已開通了網通,這次又要給機頂盒連網,我想至少得送個交換機才行吧。然而,安裝的師傅一進來,既沒掏出交換機、甚至連集線器也沒有,反而一剪刀把網線給割了!

當時就驚呆了,這究竟是搞哪門子鬼。盡管那時對網絡鏈路協議玩的挺嗨的,但物理層上的卻是一竅不通。那師傅不慌不忙的說,網線只要四個就夠了,還有些就是備用的。于是從之前的線里,拆了四根給機頂盒。

這大出之前所料,居然沒用任何設備就把機頂盒接上了!于是,又開始異想天開了。。。

這分出來的兩股,在交換機來看是不是兩個獨立用戶?如果把他們接在一起,效果和一線插兩口相同嗎?能一樣短路局域網嗎?

懷著興奮的心情一測,果然可以!真把整個小區的網絡搞掛了!

在恢復之后很長段時間里,一直撥不上號。在嗅探器里發現好多鄰居們的也在不斷的撥號。顯然,剛剛那接通兩個 4 股線,把外部的 STP 包也轉發了,導致小區網絡被外部隔離了。

這一天,改變了之前的看法。原來只需一根網線,就可以來一次 VLAN 風暴!

為什么一根網線插交換機的兩個口會產生風暴?因為交換機會把發往廣播地址的包,轉發到所有接口上。如果有兩個接口回路了,一旦出現廣播包,就會彼此不斷循環發送,耗盡整個設備的帶寬。別小看交換機,它天生就是為發包設計的,風暴能把每個接口都占滿,打出背板帶寬的流量。STP 協議就是為了解決這個問題,進行回路檢測。


盡管了解了這個新技能,但物理層的知識基本派不上用場,也就淡忘了 —— 直到發現寢室座位下有信號的那天。

根據回憶,寢室之間還打過局域網游戲,顯然這不是獨立的網段,于是更加信心滿滿了!

立即找來一根網線,減掉一邊的水晶頭,刮掉外皮,然后把對應的四股兩兩粘上。果然,附近的寢室開始傳來 —— 不,先是寂靜了幾秒,接著陸續傳來的尖叫聲,吼聲。“卡了!”,“誰掉了?“,什么情況?”,“靠,斷網了~~~”。。。

跑出走廊一看,整棟樓都暴動了!原來這寢室樓根本就沒劃 VLAN,所有幾百號寢室都是連在一起的!!!

這時既興奮又担心。興奮的是,以后有了電腦可以抓上千人的流量了。担心的是,現在只想惡搞自己寢室,不想牽扯所有人。

不管怎樣,行動還是繼續。熄燈后本該休息,斷了所有的也沒什么不好。


這時技術上已無大礙,就差實施了。如何從容而又隱蔽的操作呢?

為了不暴露沒電腦還插著根網線那么荒唐,于是盡量沿著有遮擋的柜子布線,從衣柜后一直拖到床鋪。剩下的水平部分就埋在床邊的縫隙里,并用席子蓋著。

整個布局不湊近仔細看,根本發現不了~

當晚熄燈后,夜貓子們又開始蠢蠢欲動了,我也迫不及待的開始試驗。和其他幾個同學一樣,假裝在玩手機,實際已開始悄悄的接線,頗有地下情報員的感覺。

當搭上最后一股時,流暢的游戲聲立即出現了卡頓。畢竟整棟樓都在這個 LAN 里,廣播包的數量是相當多的。

只聽得游戲剩背景音樂,卻沒有音效了!

想著 100Mbps 的流量從手中捏著的網線穿過,仿佛看見密密麻麻的 ARP、NetBIOS 廣播在黑暗中閃過 —— 還有那少得可憐的、被擠掉的游戲數據包。

下午的騷動又一次爆發了。盡管熄燈后少得多,但在夜晚的環境里,顯然越發清晰。

被斷開的大多不甘心,還想繼續玩。這一次,不打算這么暴力了,萬一觸發了回路檢測,說不定整樓就被封了。

于是,改成搭上幾秒,斷開。再搭上、斷開。。。游戲雖能運行,但不斷陷于卡頓之中。沒多久,傳來一陣陣溫馨的關機聲,紛紛洗洗睡了。

首戰告捷!終于睡了個好覺。


改良 v1

剛開始的幾天里,效果非常理想,大家都乖乖的提前睡覺了。

不過沒多久他們就發現,網絡過會就會恢復的。原因很簡單,哥睡著前就把線放開了,于是他們又開始了瘋狂。

在迷迷糊糊睡夢中,要把網線重新搭上會困難的多。經常把不相干的也纏在了一起,結果就沒效果了。

于是,需要一次用戶體驗上的改進。

事實上,其中三股線都是事先粘好的,實際就控制一股而已。不如把那三股都提前隱藏起來,只留一股在身旁,這樣就不會搭錯了。

換了根網線重新制作。這次,直接把其中 3 股用膠布粘好,藏在衣柜后面,只留一股拖上來。線路也細了不少。

這樣,就和電路開關一樣了。總共就兩根線,搭上或分開就行。

即使在睡夢中,也只需動動手指,就能輕松自如的控制整樓的網絡了!


改良 v2

不過這么簡陋的設備,總會有操作失誤的時候。

在一個周末的半夜,被通宵的吵醒后,狠狠的搭上了網線,然后繼續睡。沒想到這一次太困,直接沉睡了過去。直到早上 10 點多,才被敲門聲驚醒。

原以為是隔壁同學,但敲門不斷,打開后發現進來一個背著工具包的大叔。這時,才猛然意識到,搭著的網線忘了斷開了!!!整整斷了一晚,都查上門來了!

這時也來不及收拾了,心想這回終于要露陷了。不過那師傅一眼掃去,發現我們桌子上都是干干凈凈的,啥也沒有。唯獨敞著個筆記本,而且還沒關機。于是上前拔掉了網線,然后走了。

僥幸躲過了這一劫,迫切需要改進了。

如果能睡前開啟,睡著后自動關閉,那就十分理想了。再也不用睡夢中用意念去斷開了。

于是打算做一個有彈性的開關,必須按著才會開啟,松開就關閉。這樣睡著后身體放松就自動斷開了。

經過一番改進,把開關做得無比隱蔽:把兩根線塞到一個襪子里,里面塞了棉布等等有彈性的東西。正常情況線路是分開的,但輕輕往下壓就會搭住,放開后又恢復正常。

不過襪子捏手里也怪怪的,于是就藏到腳后頭。至此,每當夜晚吵鬧時,只要腳趾頭稍稍踮一下,周圍的氣氛就立即變得格外安靜。

到此,總共花了兩塊錢打造的裝備,能讓腳趾來控制上千人的網絡狀態,簡直太有成就感了:)

沒多久,大家似乎發現了規律,只要聲音太響網就會卡,但無奈又找不到原因。于是都變得乖乖的安靜上網了。(每次回想起就特別搞笑)


當然,這裝置只投入使用了半年。第二個學期大家都裝了電腦,于是一起愉快的通宵上網了。


Cnblogs EtherDream 2015-08-23 08:57:30

[新一篇] 30歲: 程序員心中永遠的痛?

[舊一篇] 為什么國外程序員愛用Mac?
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表