我的上一篇文章《Linux編程之PING的實(shí)現(xiàn)》里使用ICMP協(xié)議實(shí)現(xiàn)了PING的程序,ICMP除了實(shí)現(xiàn)這么一個PING程序,還有哪些不為人知或者好玩的用途?這里我將介紹ICMP另一個很有名的黑科技:ICMP洪水攻擊。

 

ICMP洪水攻擊屬于大名鼎鼎的DOS(Denial of Service)攻擊的一種,一種是黑客們喜歡的攻擊手段,這里本著加深自己對ICMP的理解的目的,也試著基于ICMP寫一段ICMP的洪水攻擊小程序。

 

洪水攻擊(FLOOD ATTACK)指的是利用計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)向目的主機(jī)發(fā)送大量無用數(shù)據(jù)報文,使得目的主機(jī)忙于處理無用的數(shù)據(jù)報文而無法提供正常服務(wù)的網(wǎng)絡(luò)行為。

ICMP洪水攻擊:顧名思義,就是對目的主機(jī)發(fā)送洪水般的ping包,使得目的主機(jī)忙于處理ping包而無能力處理其他正常請求,這就好像是洪水一般的ping包把目的主機(jī)給淹沒了。

 

要實(shí)現(xiàn)ICMP的洪水攻擊,需要以下三項(xiàng)的知識儲備:

  • DOS攻擊原理

  • ICMP的深入理解

  • 原始套接字的編程技巧

一、ICMP洪水攻擊原理

ICMP洪水攻擊是在ping的基礎(chǔ)上形成的,但是ping程序很少能造成目的及宕機(jī)的問題,這是因?yàn)閜ing的發(fā)送包的速率太慢了,像我實(shí)現(xiàn)的PING程序里ping包發(fā)送速率限定在1秒1發(fā),這個速率目的主機(jī)處理ping包還是綽綽有余的。所以要造成“洪水”的現(xiàn)象,就必須提升發(fā)包速率。這里介紹三種ICMP洪水攻擊的方式:

 

(1)直接洪水攻擊

這樣做需要本地主機(jī)的帶寬和目的主機(jī)的帶寬之間進(jìn)行比拼,比如我的主機(jī)網(wǎng)絡(luò)帶寬是30M的,而你的主機(jī)網(wǎng)絡(luò)帶寬僅為3M,那我發(fā)起洪水攻擊淹沒你的主機(jī)成功率就很大了。這種攻擊方式要求攻擊主機(jī)處理能力和帶寬要大于被攻擊主機(jī),否則自身被DoS了?;谶@種思想,我們可以使用一臺高帶寬高性能的電腦,采用多線程的方法一次性發(fā)送多個ICMP請求報文,讓目的主機(jī)忙于處理大量這些報文而造成速度緩慢甚至宕機(jī)。這個方法有個大缺點(diǎn),就是對方可以根據(jù)ICMP包的IP地址而屏蔽掉攻擊源,使得攻擊不能繼續(xù)。

 

(2)偽IP攻擊

在直接洪水攻擊的基礎(chǔ)上,我們將發(fā)送方的IP地址偽裝成其他IP,如果是偽裝成一個隨機(jī)的IP,那就可以很好地隱藏自己的位置;如果將自己的IP偽裝成其他受害者的IP,就會造成“挑撥離間”的情形,受害主機(jī)1的icmp回復(fù)包也如洪水般發(fā)送給受害主機(jī)2,如果主機(jī)1的管理員要查是哪個混蛋發(fā)包攻擊自己,他一查ICMP包的源地址,咦原來是主機(jī)2,這樣子主機(jī)2就成了戴罪羔羊了。

 

(3)反射攻擊

這類攻擊的思想不同于上面兩種攻擊,反射攻擊的設(shè)計(jì)更為巧妙。其實(shí)這里的方式三的攻擊模式是前兩個模式的合并版以及升級版,方式三的攻擊策略有點(diǎn)像“借刀殺人“,反射攻擊不再直接對目標(biāo)主機(jī),而是讓其他一群主機(jī)誤以為目標(biāo)主機(jī)在向他們發(fā)送ICMP請求包,然后一群主機(jī)向目的主機(jī)發(fā)送ICMP應(yīng)答包,造成來自四面八方的洪水淹沒目的主機(jī)的現(xiàn)象。比如我們向局域網(wǎng)的其他主機(jī)發(fā)送ICMP請求包,然后自己的IP地址偽裝成目的主機(jī)的IP,這樣子目的主機(jī)就成了ICMP回顯的焦點(diǎn)了。這種攻擊非常隱蔽,因?yàn)槭芎χ鳈C(jī)很難查出攻擊源是誰。

 

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

 

二、ICMP洪水攻擊程序設(shè)計(jì)

這里我想實(shí)現(xiàn)一個ICMP洪水攻擊的例子,這里我想采用方式二來進(jìn)行設(shè)計(jì)。雖說方式三的“借刀殺人”更為巧妙,其實(shí)也是由方式二的偽裝方式進(jìn)一步延伸的,實(shí)現(xiàn)起來也是大同小異。

 

首先給出攻擊的模型圖:

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營銷培訓(xùn)

 

1.組IC