自從學了計算機網絡,室友終於不在半夜打遊戲了,學以致用

溫馨提示:請您在閱讀本文之前,點擊文章上方的“關注”,以後您就可以免費收到智慧網絡2333每天推送的網絡、寬帶等內容了。謝謝您的關注與轉發!

相信很多好好學習天天睡覺的寶寶,經常會有這樣的苦惱:凌晨兩點,隔壁床遊戲打得正酣,機械鍵盤啪啪的響,嘴裡不時吼道“又撿到一個二級頭。我x這貨開掛了吧,舉報舉報。。。”你心裡可能恨恨地想著:撿你個頭,舉報你個頭,我特麼才要舉報你呢,大晚上的不睡覺,...(此處省去30字髒話)。好吧,總之,你可能想過,我要是有個辦法能讓他或她斷網就好了......

今天在學習ICMP協議(Internet Control Message Protocol)的時候,做到了一道題,問ping命令可以用來做什麼↓


自從學了計算機網絡,室友終於不在半夜打遊戲了,學以致用


做完這道題的時候,我虎軀一震,抖擻起了原本因為晚上沒睡好而萎靡的精神。對啊,如果我死命的ping對方,對方是不是就上不了網了?即使能讓對方的網絡變卡也行。其實這是一種網絡攻擊方式,它有種酷酷的名稱,叫“死亡之ping”, 英文為"ping flooding"(像洪水一樣ping對方,直到對方淹死在你的icmp裡)

要了解什麼是ping flooding,我們先要了解ping是什麼,要了解ping,則首先要了解什麼是ICMP。

總之,簡單來說,icmp首先可以用於所謂的“差錯報文”,就是發送出問題時對方回覆你“這裡出問題了,沒送到!”,比如下表:沒到達應到的網絡-->icmp報錯;包在網絡中迷路過期了-->icmp錯誤。第二則用於“控制報文”,比如我們總說某個網絡能不能ping通,那麼我們實際是看,我們給某個ip發一個icmp(echo request),看它會不會回覆我們一個icmp(echo reply),回覆了就意味著網絡是通的,沒回復就是哪裡出問題了。


自從學了計算機網絡,室友終於不在半夜打遊戲了,學以致用


自從學了計算機網絡,室友終於不在半夜打遊戲了,學以致用


假如小明是路由(router),你給小紅(host)寫了份情書(ip packet),但是不曉得怎麼被小明撿到了,不知所措的小明心想肯定是郵遞員弄錯了吧,他很好心的想把信件送還給你,但是由於你對小紅實在情深意切,寫的東西太多,而小明只想告訴你發送失敗了,再發一次,而沒必要告訴你,你自己究竟寫的是什麼鬼話,於是他把你的信封保留了(ip頭部),還把你的信撕得只留下八個字節(讓你知道哦原來是我寫的千萬封情書中的哪一封),然後,小明在你的舊信封上套了個ICMP牌子的大信封,還在大信封裡寫了張紙條,這是什麼類型什麼編碼的icmp(見上圖type,code欄),署名發信地為小明的ip,收件人為你的ip。


自從學了計算機網絡,室友終於不在半夜打遊戲了,學以致用


有一天,你惹小紅生氣了,她一連好幾天好幾天不理你,於是你想寫封信問候一下她,但是又怕說錯話惹得她更加生氣,於是你寫了封簡短的icmp,標號8、0代表這是用於"echo request",只是想看看小紅在家不,並不想打擾到她。小紅家的管家接到了你的信,啥也沒說,把一封”echo replay"的icmp回信發還給了你。於是你就知道小紅好著呢!只是不想理你~

言歸正傳,我們來看看用什麼方法可以讓舍友斷子絕孫,哦不,不能上網!打開電腦的終端。通過 man ping 命令,我們可以看到ping命令的詳細使用方法,其中-s可以指定發送包的大小,-i指定發送的包的頻率,這兩個正是我們想要的,因為首先我們需要發送足夠大的數據包從而能撐爆對方的帶寬,其次每秒ping一次可不夠,我們最好要每秒ping他個上千次,這樣才更有可能阻塞對方的網絡。

如果不指明,默認發送64字節ICMP數據以及8字節的icmp頭部

注意間隔如果低於0.2秒一次需要超級用戶權限,所以我們最後需要sudo+命令

好吧,重點來了,首先躺槍的是我的手機。


自從學了計算機網絡,室友終於不在半夜打遊戲了,學以致用


查看我手機的內網ip,這裡我用的是termux軟件

然後在你的電腦上輸入sudo ping ***.***.***.*** -i 0.01 -s 65500 ,這個意思就是說,每0.01秒給我的手機發送一個大小65500字節的icmp包。然後按回車:


自從學了計算機網絡,室友終於不在半夜打遊戲了,學以致用


於是可以看到,我手機的流量蹭蹭蹭的漲上去了,等十秒以後,我就連不上百度了。。。


自從學了計算機網絡,室友終於不在半夜打遊戲了,學以致用


按ctrl+c停止攻擊後,手機再次恢復了平靜

當然,這種攻擊方法還有很多新花樣,比如仿造對方ip發送,讓局域網下的電腦都收到對方的ping request,從而讓整個局域網ping reply對方的電腦,或者動動腦子在內網搞個大鬧天宮,我點到為止。

同樣,除了icmp攻擊,類似的攻擊方法還有udp攻擊,tcp攻擊。本人菜鳥,具體是不是叫這個名兒我不知道瞎說的別信。

我一直覺得,學習計算機和學習魔法有非常多的相似之處。在霍格沃茲,學生學習一系列的咒語來召喚出潛藏在魔杖中的魔力,而我們,學習一系列的編碼,代碼(code)來召喚出計算機中的算力,從而為我們所用,造福人類,to make the world a better place是所有程序員的信條。所以,當你學了更多的知識,當你有了更強大的魔力以後,不要試圖去做伏地魔,就像谷歌喊出的口號-------don't be evil!(不作惡!)

"


分享到:


相關文章: