我偷偷監(jiān)聽了他們的通信流量···
我是一個監(jiān)聽軟件,主人花了好幾個晚上才把我開發(fā)出來,我的使命是監(jiān)聽網(wǎng)絡(luò)中的所有流量然后報告給他。
那天,主人給要被監(jiān)聽的電腦小白發(fā)了一封電子郵件,郵件中有一個鏈接,小白一點鏈接,我就偷偷的被下載到了這臺電腦上,開始在背后默默的運行。
太好了,這臺電腦上居然沒有安全軟件,我可以為所欲為了!
我加載了一個驅(qū)動程序,開始在內(nèi)核中劫持網(wǎng)絡(luò)數(shù)據(jù)包的接收流程,這下,這臺電腦的網(wǎng)絡(luò)通信,我都能捕獲到了!
過了一段時間,我發(fā)現(xiàn)這個小白的電腦沒有什么有價值的信息,除了打游戲就是看視頻。
混雜模式
那天主人在云端給我下達了一個指令:打開網(wǎng)卡混雜模式,監(jiān)控局域網(wǎng)內(nèi)所有流量!
我有點不太懂,去請教網(wǎng)卡:“老哥,什么是混雜模式?”
網(wǎng)卡告訴我:“我跟你講哦,正常情況下,收到數(shù)據(jù)包后如果發(fā)現(xiàn)收件人唔系我,我就丟掉咗。開啟混雜模式后,只要收到數(shù)據(jù)包,唔理收件人系唔系我,我都給你提交上來”
好家伙,這網(wǎng)卡還抄著一口廣東腔,難道是華強北產(chǎn)的?
“為什么會收到收件人不是你的數(shù)據(jù)包呢?”,我有點好奇。
“這你就不知道了吧,咱們這個網(wǎng)絡(luò)中,所有電腦都連在一個集線器上面,這個家伙可笨了,不管誰給誰發(fā)的消息,他都廣播出去,所以所有人的通信其實我都能看到,只需要你打開混雜模式就好了”
“那別愣著了,趕緊打開吧”
我激動的讓網(wǎng)卡打開了混雜模式,期待監(jiān)聽到別人的通信。
果不其然,一下子就涌來了大量的數(shù)據(jù)包,搞得我措手不及。
我開始認(rèn)真工作起來,解析所有的網(wǎng)絡(luò)通信,把感興趣的提取下來,匯報給我的主人,主人對我的工作非常滿意。
交換機
就這樣過了好長一段日子,突然有一天,我發(fā)現(xiàn)網(wǎng)絡(luò)通信中沒有了別人的通信,只有小白這臺電腦的流量了,我又找上了網(wǎng)卡。
“老哥,誰把你的混雜模式給關(guān)了嗎?”
“沒有啊,你看,這不開著了呢嘛!”
“這就奇怪了,為什么看不到別人通信的流量了?”
“我也母雞啊,以前經(jīng)常發(fā)生通信沖突,最近這段日子突然也沒有了”,網(wǎng)卡說到。
“通信沖突?什么意思?”,我問到。
“集線器不是會廣播所有通信嘛,我們所有人都相當(dāng)于共用了一個線路,別人傳輸數(shù)據(jù)的時候就得等著,有時候發(fā)到半路上才發(fā)現(xiàn)跟別人傳輸?shù)臄?shù)據(jù)沖突了,就得等會兒重發(fā),我們把這叫CSMA/CD,載波偵聽多路訪問沖突檢測,怪拗口的名字”
原來是這樣,但如今這一切都消失了,我感覺事情有些不正常,趕緊把這個消息匯報給了主人,主人得知以后對我做了升級,讓我潛入這個家伙那里看看到底發(fā)生了什么。
在一個夜深人靜的夜晚,順著網(wǎng)卡老哥連接的那根網(wǎng)線,我偷偷潛入到了網(wǎng)線的那一頭,發(fā)現(xiàn)了一個黑乎乎的大塊頭。
好家伙,這個大塊頭背后有好多網(wǎng)口,連接了好多網(wǎng)線啊,每一個都通向了一臺電腦,在背板的銘片上,我還看到這個大塊頭的名字:交換機。
我決定躲在一旁,偷偷觀察它是怎么工作的。
只見這個叫交換機的家伙,拿著一張表格,里面填寫了每一個網(wǎng)卡的MAC地址和對應(yīng)連接的網(wǎng)口,收到數(shù)據(jù)包后,取出數(shù)據(jù)包中的目的MAC地址,再找到對應(yīng)連接的端口,只給這一個端口轉(zhuǎn)發(fā)過去,根本沒有廣播!
這下我總算明白,為什么就算開啟混雜模式,也看不到別人的通信了,都怪這個叫交換機的家伙,太可惡了!
不過我有點奇怪,他這個表格是哪里來的,怎么知道哪個網(wǎng)卡對應(yīng)哪個端口呢,難不成要人工配置,可要是拔了網(wǎng)線換個口插,那不就出錯了嗎,我百思不得其解,決定再觀察觀察。
這大晚上的上網(wǎng)的人少,網(wǎng)絡(luò)流量也少,這一等竟然就是天亮。
第二天,來了一個新的數(shù)據(jù)包,大塊頭在它的那張表里面沒有找到收件地址,這下有好戲了,看你怎么辦。
沒想到,這家伙竟然學(xué)起了集線器,把這個新的數(shù)據(jù)包給所有端口都下發(fā)下去了,隨后發(fā)現(xiàn)只有一個端口有響應(yīng)包過來,然后就把這個端口和這個收件人地址添加到了表格中!好家伙,還挺聰明,會自己學(xué)習(xí)總結(jié)映射關(guān)系。
因為擔(dān)心白天被發(fā)現(xiàn),我不敢久留,撤了回去,隨后,我把看到的這些都上報給了主人,沒多久,主人再一次對我進行了升級。
ARP欺騙
這一次,我挨個給局域網(wǎng)中的其他電腦發(fā)送ARP報文,并在報文中的源IP地址的位置填上了網(wǎng)關(guān)(也就是大塊頭交換機)的IP地址,大伙收到我的報文后,紛紛把網(wǎng)關(guān)的MAC地址改成了我所在這臺電腦的網(wǎng)卡地址。
好一招偷天換日,所有人都被我蒙在鼓里,他們原來訪問互聯(lián)網(wǎng)要發(fā)給網(wǎng)關(guān)的數(shù)據(jù)包,現(xiàn)在都一股腦兒發(fā)到了我這邊來了,我再轉(zhuǎn)發(fā)給真正的網(wǎng)關(guān),我又一次可以監(jiān)聽所有人的網(wǎng)絡(luò)通信啦!
幸福的日子總是過得很快,沒過多久,我發(fā)現(xiàn)流量又變少了,不知道誰走漏了風(fēng)聲,它們不再把數(shù)據(jù)包發(fā)到我這里來,而是發(fā)給了真正的網(wǎng)關(guān)。而且,不管我怎么發(fā)送ARP報文欺騙,它們也不再信任我了。
終于有一天,這個電腦小白不知道下載了什么,捆綁安裝了一個361殺毒軟件,我感覺我的日子快到頭了。
我趕緊聯(lián)系主人,報告我艱難的處境,卻發(fā)現(xiàn)怎么也連不上了···難道主人也被端了?