導航:首頁 > 凈水問答 > icmp數據包的過濾主要基於

icmp數據包的過濾主要基於

發布時間:2022-07-12 02:16:35

❶ ICMP是什麼ping有是什麼

ICMP是Internet控制報文協議。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制消息。

ping是DOS命令,通常用於檢測網路連接和故障。Ping是Internet包資源管理器,用於測試網路連接量的程序。Ping向目的地發送ICMP回聲清除消息,並報告是否接收到所需的ICMP回聲響應。

(1)icmp數據包的過濾主要基於擴展閱讀

控制消息是指網路通不通、主機是否可達、路由是否可用等網路本身的消息。這些控制消息雖然並不傳輸用戶數據,但是對於用戶數據的傳遞起著重要的作用。

ICMP協議是一種面向無連接的協議,用於傳輸出錯報告控制信息。它是一個非常重要的協議,它對於網路安全具有極其重要的意義。

它是TCP/IP協議族的一個子協議,屬於網路層協議,主要用於在主機與路由器之間傳遞控制信息,包括報告錯誤、交換受限控制和狀態信息等。

當遇到IP數據無法訪問目標、IP路由器無法按當前的傳輸速率轉發數據包等情況時,會自動發送ICMP消息。ICMP報文在IP幀結構的首部協議類型欄位(Protocol 8bit)的值=1。

❷ 什麼是ICMP攻擊方式

ICMP是「Internet Control Message Protocol」(Internet控制消息協議)的縮寫。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制消息。控制消息是指網路通不通、主機是否可達、路由是否可用等網路本身的消息。這些控制消息雖然並不傳輸用戶數據,但是對於用戶數據的傳遞起著重要的作用。 我們在網路中經常會使用到ICMP協議,只不過我們覺察不到而已。比如我們經常使用的用於檢查網路通不通的Ping命令,這個「Ping」的過程實際上就是ICMP協議工作的過程。還有其他的網路命令如跟蹤路由的Tracert命令也是基於ICMP協議的。 ICMP的重要性 ICMP協議對於網路安全具有極其重要的意義。ICMP協議本身的特點決定了它非常容易被用於攻擊網路上的路由器和主機。例如,在1999年8月海信集團「懸賞」50萬元人民幣測試防火牆的過程中,其防火牆遭受到的ICMP攻擊達334050次之多,占整個攻擊總數的90%以上!可見,ICMP的重要性絕不可以忽視! 比如,可以利用操作系統規定的ICMP數據包最大尺寸不超過64KB這一規定,向主機發起「Ping of Death」(死亡之Ping)攻擊。「Ping of Death」 攻擊的原理是:如果ICMP數據包的尺寸超過64KB上限時,主機就會出現內存分配錯誤,導致TCP/IP堆棧崩潰,致使主機死機。 此外,向目標主機長時間、連續、大量地發送ICMP數據包,也會最終使系統癱瘓。大量的ICMP數據包會形成「ICMP風暴」,使得目標主機耗費大量的CPU資源處理,疲於奔命。 應對ICMP攻擊 雖然ICMP協議給黑客以可乘之機,但是ICMP攻擊也並非無葯可醫。只要在日常網路管理中未雨綢繆,提前做好准備,就可以有效地避免ICMP攻擊造成的損失。 對於「Ping of Death」攻擊,可以採取兩種方法進行防範:第一種方法是在路由器上對ICMP數據包進行帶寬限制,將ICMP佔用的帶寬控制在一定的范圍內,這樣即使有ICMP攻擊,它所佔用的帶寬也是非常有限的,對整個網路的影響非常少;第二種方法就是在主機上設置ICMP數據包的處理規則,最好是設定拒絕所有的ICMP數據包。 設置ICMP數據包處理規則的方法也有兩種,一種是在操作系統上設置包過濾,另一種是在主機上安裝防火牆。具體設置如下: 1.在Windows 2000 Server中設置ICMP過濾 Windows 2000 Server提供了「路由與遠程訪問」服務,但是默認情況下是沒有啟動的,因此首先要啟動它:點擊「管理工具」中的「路由與遠程訪問」,啟動設置向導。在其中選擇「手動配置伺服器」項,點擊[下一步]按鈕。稍等片刻後,系統會提示「路由和遠程訪問服務現在已被安裝。要開始服務嗎?」,點擊[是]按鈕啟動服務。 服務啟動後,在計算機名稱的分支下會出現一個「IP路由選擇」,點擊它展開分支,再點擊「常規」,會在右邊出現伺服器中的網路連接(即網卡)。用滑鼠右鍵點擊你要配置的網路連接,在彈出的菜單中點擊「屬性」,會彈出一個網路連接屬性的窗口。 打開後有兩個按鈕,一個是「輸入篩選器」(指對此伺服器接受的數據包進行篩選),另一個是「輸出篩選器」(指對此伺服器發送的數據包進行篩選),這里應該點擊[輸入篩選器] 按鈕,會彈出一個「添加篩選器」窗口,再點擊[添加]按鈕,表示要增加一個篩選條件。 在「協議」右邊的下拉列表中選擇「ICMP」,在隨後出現的「ICMP類型」和「ICMP編碼」中均輸入「255」,代表所有的ICMP類型及其編碼。ICMP有許多不同的類型(Ping就是一種類型),每種類型也有許多不同的狀態,用不同的「編碼」來表示。因為其類型和編碼很復雜,這里不再敘述。 點擊[確定]按鈕返回「輸入篩選器」窗口,此時會發現「篩選器」列表中多了一項內容。點擊[確定]按鈕返回「本地連接」窗口,再點擊[確定]按鈕,此時篩選器就生效了,從其他計算機上Ping這台主機就不會成功了。 2. 用防火牆設置ICMP過濾 現在許多防火牆在默認情況下都啟用了ICMP過濾的功能。如果沒有啟用,只要選中「防禦ICMP攻擊」、「防止別人用ping命令探測」就可以了。 通過以上講解,你現在知道ICMP的重要性了吧?趕緊給你的伺服器設置ICMP過濾吧。

❸ 包過濾防火牆對數據包的過濾依據不包括 A:源ip地址 B:源埠號 C:mac地址 D:目的IP地址

C:mac地址

包過濾是在IP層實現的,包過濾根據數據包的源IP地址、目的IP地址、協議類型(TCP包、UDP包、ICMP包)、源埠、目的埠等報頭信息及數據包傳輸方向等信息來判斷是否允許數據包通過。

❹ 關於ICMP數據包的問題

ICMP是「Internet Control Message Protocol」(Internet控制消息協議)的縮寫。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制消息。控制消息是指網路通不通、主機是否可達、路由是否可用等網路本身的消息。這些控制消息雖然並不傳輸用戶數據,但是對於用戶數據的傳遞起著重要的作用。
我們在網路中經常會使用到ICMP協議,只不過我們覺察不到而已。比如我們經常使用的用於檢查網路通不通的Ping命令,這個「Ping」的過程實際上就是ICMP協議工作的過程。還有其他的網路命令如跟蹤路由的Tracert命令也是基於ICMP協議的。
ICMP的重要性
ICMP協議對於網路安全具有極其重要的意義。ICMP協議本身的特點決定了它非常容易被用於攻擊網路上的路由器和主機.
比如,可以利用操作系統規定的ICMP數據包最大尺寸不超過64KB這一規定,向主機發起「Ping of Death」(死亡之Ping)攻擊。「Ping of Death」 攻擊的原理是:如果ICMP數據包的尺寸超過64KB上限時,主機就會出現內存分配錯誤,導致TCP/IP堆棧崩潰,致使主機死機。
此外,向目標主機長時間、連續、大量地發送ICMP數據包,也會最終使系統癱瘓。大量的ICMP數據包會形成「ICMP風暴」,使得目標主機耗費大量的CPU資源處理,疲於奔命。
應對ICMP攻擊
雖然ICMP協議給黑客以可乘之機,但是ICMP攻擊也並非無葯可醫。只要在日常網路管理中未雨綢繆,提前做好准備,就可以有效地避免ICMP攻擊造成的損失。
對於「Ping of Death」攻擊,可以採取兩種方法進行防範:第一種方法是在路由器上對ICMP數據包進行帶寬限制,將ICMP佔用的帶寬控制在一定的范圍內,這樣即使有ICMP攻擊,它所佔用的帶寬也是非常有限的,對整個網路的影響非常少;第二種方法就是在主機上設置ICMP數據包的處理規則,最好是設定拒絕所有的ICMP數據包。
設置ICMP數據包處理規則的方法也有兩種,一種是在操作系統上設置包過濾,另一種是在主機上安裝防火牆。

❺ ICMP協議詳解

ICMP(Internet Control Message Protocol,網際報文控制協議)是Internet協議族的核心協議之一,它主要用來在網路計算機的操作系統中發送出錯信息,比如,提示請求的服務不可用,或者主機或者路由不可達.

ICMP依靠IP協議來完成其任務,通常也是IP協議的一個集成部分.和傳輸層協議如TCP和UDP的目的不同,它一般並不用來在端系統之間來傳送數據.它通常不被用戶網路程序直接使用,例外的情況是像Ping和tracert這樣的診斷程序.

IPv4版本的ICMP也被稱作ICMPv4,IPv6中也有對應的版本IPv6.

ICMP協議 - 什麼是ICMP協議

ICMP是「Internet Control Message Protocol」(Internet控制消息協議)的縮寫。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制消息。控制消息是指網路通不通、主機是否可達、路由是否可用等網路本身的消息。這些控制消息雖然並不傳輸用戶數據,但是對於用戶數據的傳遞起著重要的作用。

我們在網路中經常會使用到ICMP協議,只不過我們覺察不到而已。比如我們經常使用的用於檢查網路通不通的Ping命令,這個「Ping」的過程實際上就是ICMP協議工作的過程。還有其他的網路命令如跟蹤路由的Tracert命令也是基於ICMP協議的。

ICMP協議 - ICMP協議格式
ICMP報文類型

ICMP報文大體可以分為兩種類型,即ICMP差錯報文和ICMP詢問報文。但細分又可分為很多類型,如表1所示。

表一 ICMP報文類型

ICMP回射請求和應答報文頭部格式

ICMP報文被封裝在IP數據報內部傳輸。如圖1所示,是ICMP回射請求和應答報文頭部格式。

圖1 ICMP回射請求和應答報文頭部格式

各種ICMP報文的前32bits都一樣,它們是:

8bits類型和8bits代碼欄位:一起決定了ICMP報文的類型。常見的有:

類型8、代碼0:回射請求。

類型0、代碼0:回射應答。

類型11、代碼0:超時。

16bits校驗和欄位:包括數據在內的整個ICMP數據包的校驗和,其計算方法和IP頭部校驗和的計算方法是一樣的。

對於ICMP回射請求和應答報文來說,接下來是16bits標識符欄位:用於標識本ICMP進程。

最後是16bits序列號欄位:用於判斷回射應答數據報。

2.3 ICMP目標不可達報文

如圖2所示,是ICMP目標不可達報文頭部格式。

圖2 ICMP目標不可達報文頭部格式

其中代碼欄位的不同值又代表不同的含義,如,0代表網路不可達、1代表主機不可達等,見表1。

2.4 ICMP超時報文頭部格式

如圖3所示,是ICMP超時報文頭部格式。

圖3 ICMP超時報文頭部格式

其中:

類型11+代碼0:表示傳輸期間生存時間為0。

類型11+代碼1:表示數據報組裝期間生存時間為0。

由於篇幅有限,這里不再分析其他類型ICMP協議數據包的格式。

ICMP協議 - ICMP的重要性

ICMP協議對於網路安全具有極其重要的意義。ICMP協議本身的特點決定了它非常容易被用於攻擊網路上的路由器和主機。例如,在1999年8月海信集團「懸賞」50萬元人民幣測試防火牆的過程中,其防火牆遭受到的ICMP攻擊達334050次之多,占整個攻擊總數的90%以上!可見,ICMP的重要性絕不可以忽視!

比如,可以利用操作系統規定的ICMP數據包最大尺寸不超過64KB這一規定,向主機發起「Ping of Death」(死亡之Ping)攻擊。「Ping of Death」 攻擊的原理是:如果ICMP數據包的尺寸超過64KB上限時,主機就會出現內存分配錯誤,導致TCP/IP堆棧崩潰,致使主機死機。

此外,向目標主機長時間、連續、大量地發送ICMP數據包,也會最終使系統癱瘓。大量的ICMP數據包會形成「ICMP風暴」,使得目標主機耗費大量的CPU資源處理,疲於奔命。

ICMP協議 - 應對ICMP攻擊

雖然ICMP協議給黑客以可乘之機,但是ICMP攻擊也並非無葯可醫。只要在日常網路管理中未雨綢繆,提前做好准備,就可以有效地避免ICMP攻擊造成的損失。

對於「Ping of Death」攻擊,可以採取兩種方法進行防範:第一種方法是在路由器上對ICMP數據包進行帶寬限制,將ICMP佔用的帶寬控制在一定的范圍內,這樣即使有ICMP攻擊,它所佔用的帶寬也是非常有限的,對整個網路的影響非常少;第二種方法就是在主機上設置ICMP數據包的處理規則,最好是設定拒絕所有的ICMP數據包。

設置ICMP數據包處理規則的方法也有兩種,一種是在操作系統上設置包過濾,另一種是在主機上安裝防火牆。具體設置如下:

1.在Windows 2000 Server中設置ICMP過濾

Windows 2000 Server提供了「路由與遠程訪問」服務,但是默認情況下是沒有啟動的,因此首先要啟動它:點擊「管理工具」中的「路由與遠程訪問」,啟動設置向導。在其中選擇「手動配置伺服器」項,點擊【下一步】按鈕。稍等片刻後,系統會提示「路由和遠程訪問服務現在已被安裝。要開始服務嗎?」,點擊【是】按鈕啟動服務。

服務啟動後,在計算機名稱的分支下會出現一個「IP路由選擇」,點擊它展開分支,再點擊「常規」,會在右邊出現伺服器中的網路連接(即網卡)。用滑鼠右鍵點擊你要配置的網路連接,在彈出的菜單中點擊「屬性」,會彈出一個網路連接屬性的窗口,如圖1所示。

圖1

圖1中有兩個按鈕,一個是「輸入篩選器」(指對此伺服器接受的數據包進行篩選),另一個是「輸出篩選器」(指對此伺服器發送的數據包進行篩選),這里應該點擊【輸入篩選器】 按鈕,會彈出一個「添加篩選器」窗口,再點擊【添加】按鈕,表示要增加一個篩選條件。

在「協議」右邊的下拉列表中選擇「ICMP」,在隨後出現的「ICMP類型」和「ICMP編碼」中均輸入「255」,代表所有的ICMP類型及其編碼。ICMP有許多不同的類型(Ping就是一種類型),每種類型也有許多不同的狀態,用不同的「編碼」來表示。因為其類型和編碼很復雜,這里不再敘述。

點擊【確定】按鈕返回「輸入篩選器」窗口,此時會發現「篩選器」列表中多了一項內容(如圖2所示)。點擊【確定】按鈕返回「本地連接」窗口,再點擊【確定】按鈕,此時篩選器就生效了,從其他計算機上Ping這台主機就不會成功了。

圖2

2. 用防火牆設置ICMP過濾

現在許多防火牆在默認情況下都啟用了ICMP過濾的功能。如果沒有啟用,只要選中「防禦ICMP攻擊」、「防止別人用ping命令探測」就可以了,如圖3所示。

❻ ICMP是什麼協議,處於哪一層

ICMP是(Internet Control Message Protocol)Internet控制報文協議。它是TCP/IP協議簇的一個子協議,用於在IP主機、路由器之間傳遞控制消息。屬於網路層協議

控制消息是指網路通不通、主機是否可達、路由是否可用等網路本身的消息。這些控制消息雖然並不傳輸用戶數據,但是對於用戶數據的傳遞起著重要的作用。

(6)icmp數據包的過濾主要基於擴展閱讀:

在Internet沒有形成之前,世界各地已經建立了很多小型網路,但這些網路存在不同的網路結構和數據傳輸規則,要將它們連接起來互相通信,就好比要讓使用不同語言的人們交流一樣,需要建立一種大家都聽得懂的語言,而TCP/IP就能實現這個功能,它就好比Internet上的「世界語」。

網路層位於物聯網三層結構中的第二層,其功能為「傳送」,即通過通信網路進行信息傳輸。網路層作為紐帶連接著感知層和應用層。

它由各種私有網路、互聯網、有線和無線通信網等組成,相當於人的神經中樞系統,負責將感知層獲取的信息,安全可靠地傳輸到應用層,然後根據不同的應用需求進行信息處理。

❼ 防ICMP數據包的問題

一、什麼是ICMP協議?

ICMP全稱Internet Control Message Protocol(網際控制信息協議)。提起ICMP,一些人可能會感到陌生,實際上,ICMP與我們息息相關。在網路體系結構的各層次中,都需要控制,而不同的層次有不同的分工和控制內容,IP層的控制功能是最復雜的,主要負責差錯控制、擁塞控制等,任何控制都是建立在信息的基礎之上的,在基於IP數據報的網路體系中,網關必須自己處理數據報的傳輸工作,而IP協議自身沒有內在機制來獲取差錯信息並處理。為了處理這些錯誤,TCP/IP設計了ICMP協議,當某個網關發現傳輸錯誤時,立即向信源主機發送ICMP報文,報告出錯信息,讓信源主機採取相應處理措施,它是一種差錯和控制報文協議,不僅用於傳輸差錯報文,還傳輸控制報文。

二、ICMP報文格式

ICMP報文包含在IP數據報中,屬於IP的一個用戶,IP頭部就在ICMP報文的前面,所以一個ICMP報文包括IP頭部、ICMP頭部和ICMP報文(見圖表,ICMP報文的結構和幾種常見的ICMP報文格式),IP頭部的Protocol值為1就說明這是一個ICMP報文,ICMP頭部中的類型(Type)域用於說明ICMP報文的作用及格式,此外還有一個代碼(Code)域用於詳細說明某種ICMP報文的類型,所有數據都在ICMP頭部後面。RFC定義了13種ICMP報文格式,具體如下:

類型代碼 類型描述

0 響應應答(ECHO-REPLY)
3 不可到達
4 源抑制
5 重定向
8 響應請求(ECHO-REQUEST)
11 超時
12 參數失靈
13 時間戳請求
14 時間戳應答
15 信息請求(*已作廢)
16 信息應答(*已作廢)
17 地址掩碼請求
18 地址掩碼應答

其中代碼為15、16的信息報文已經作廢。

下面是幾種常見的ICMP報文:

1.響應請求

我們日常使用最多的ping,就是響應請求(Type=8)和應答(Type=0),一台主機向一個節點發送一個Type=8的ICMP報文,如果途中沒有異常(例如被路由器丟棄、目標不回應ICMP或傳輸失敗),則目標返回Type=0的ICMP報文,說明這台主機存在,更詳細的tracert通過計算ICMP報文通過的節點來確定主機與目標之間的網路距離。

2.目標不可到達、源抑制和超時報文

這三種報文的格式是一樣的,目標不可到達報文(Type=3)在路由器或主機不能傳遞數據報時使用,例如我們要連接對方一個不存在的系統埠(埠號小於1024)時,將返回Type=3、Code=3的ICMP報文,它要告訴我們:「嘿,別連接了,我不在家的!」,常見的不可到達類型還有網路不可到達(Code=0)、主機不可到達(Code=1)、協議不可到達(Code=2)等。源抑制則充當一個控制流量的角色,它通知主機減少數據報流量,由於ICMP沒有恢復傳輸的報文,所以只要停止該報文,主機就會逐漸恢復傳輸速率。最後,無連接方式網路的問題就是數據報會丟失,或者長時間在網路游盪而找不到目標,或者擁塞導致主機在規定時間內無法重組數據報分段,這時就要觸發ICMP超時報文的產生。超時報文的代碼域有兩種取值:Code=0表示傳輸超時,Code=1表示重組分段超時。

3.時間戳

時間戳請求報文(Type=13)和時間戳應答報文(Type=14)用於測試兩台主機之間數據報來回一次的傳輸時間。傳輸時,主機填充原始時間戳,接收方收到請求後填充接收時間戳後以Type=14的報文格式返回,發送方計算這個時間差。一些系統不響應這種報文。

三、回到正題:這樣的攻擊有效嗎?

在前面講過了,ping使用的是ECHO應答,不知道大家注意過沒有,ping的返回很慢,用NetXRAY抓包僅為1--5包/秒,這是為什麼呢?事實上,ICMP本身並不慢(由於ICMP是SOCK_RAW產生的原始報文,速度比SOCK_STREAM的SYN和SOCK_DGRAM的UDP要快幾乎10倍!),這樣的速度是ping程序故意延遲的(為什麼?M$可不想每個人都能用ping來干壞事),同樣,我測試過一些號稱「ping洪水」的程序,發現它們的效率和ping.exe沒什麼兩樣,經過Dependency Walker查看程序調用的函數發現,他們用的是icmp.dll提供的IcmpSendEcho這個API,這個函數是計算ECHO時間的,速度當然慢!而那兩個「高手」號召的ping攻擊實際上就是為了實現ICMP洪水攻擊,但是他們用的方法……想想洪水的速度和山澗小溪的速度相差多少吧!就用ping.exe和IcmpSendEcho這種小溪慢慢流淌的速度能做什麼?還不是讓人家看笑話!這種攻擊根本就是浪費自己的時間!(如今還經常有人問ping -l 65500 -t的攻擊威力如何……哎,悲哀啊悲哀……)

四、什麼是ICMP洪水?

1.ICMP洪水的成因

ping.exe和IcmpSendEcho速度慢的另一個原因是它們必須等待目標主機返回REPLY信息,這個過程需要花費大量時間,而Flood——洪水,顧名思義,是速度極快的,當一個程序發送數據包的速度達到了每秒1000個以上,它的性質就成了洪水產生器,洪水數據是從洪水產生器里出來的,但這樣還不夠,沒有足夠的帶寬,再猛的洪水也只能像公路塞車那樣慢慢移動,成了雞肋。要做真正的洪水,就需要有一條足夠寬的高速公路才可以。極慢的發送速度+56Kbps小貓等於什麼?等於一個未關緊的水龍頭,根本沒用。
由於ping.exe無法提速,這就需要專門的工具來做洪水了。足夠快的數據包速度+足夠的帶寬,這才是洪水。

2.實現ICMP洪水的前提

最大的前提是攻擊者的速度!如果你要用56K撥號去攻擊一個512Kbps ADSL用戶,後果和一隻螞蟻伸腿想絆倒大象的天方夜譚是一樣的!其次是你的機器運行速度和數據吞吐量,由於涉及IP校驗和的計算(先設置頭校驗和域的數值為0,然後對整個數據報頭按每16位求異或,再把結果取反,就得到了校驗和),如果數據處理能力不夠,在這步就慢了一個級別,效果當然大打折扣。最後就是目標機器的帶寬!如果對方比你大很多(例如你2M ADSL,別人用DDN或T1),那麼任何Flood都是無病呻吟,撓癢都不夠!(希望不要再問「小金,你的R-Series怎麼不好用啊」、「我用小金的AnGryPing攻擊別人半天都沒事!」、「獨裁者的攻擊怎麼無效啊?」這樣的問題了,天啊,我頭都大了!)
還有許多人都忽略的問題:發送的速度與數據包大小成反比,而且太大的數據包會被路由器等設備過濾掉!找到一個合適的數據包大小,對提高Flood的效率有很大幫助!

3.洪水——兩敗俱傷的攻擊方式

別以為洪水無所不能,實際上,你展開洪水攻擊時,攻擊程序在消耗對方帶寬和資源時,也在消耗你的帶寬和資源。這只是個看誰撐得住的攻擊而已。實際上,有經驗的攻擊者都是用被控制的伺服器(肉雞)來代替自己的機器發動攻擊的,不到萬不得已或者你對自己的機器網速有自信,否則盡量少用自己的機器來拼搏!

五、不同方式的ICMP洪水

1.直接Flood

要做這個的首要條件是你的帶寬夠,然後就是要一個好用的ICMP Flooder,別用ping.exe那種探路用的垃圾,例如我以前發布的AnGryPing,發包速度達到6000---9000包/秒(512 Kbps ADSL),默認是32bytes的ECHO報文洪水,用它即使不能flood別人下去,防火牆也叫得夠慘的了。直接攻擊會暴露自己IP(如果對方沒有還擊能力那還無所謂,固定IP用戶不推薦使用這種Flood),直接Flood主要是為了顧及Win9x/Me不能偽造IP的缺陷,否則一般還是別用為妙。

簡單示意:

ICMP
攻擊者[IP=211.97.54.3]--------------------------------->受害者[截獲攻擊者IP=211.97.54.3]==>換IP回來反擊,嘿嘿

2.偽造IP的Flood

如果你是Win2000/XP並且是Administrator許可權,可以試試看FakePing,它能隨意偽造一個IP來Flood,讓對方摸不到頭腦,屬於比較隱蔽陰險的Flood。

簡單示意:

偽造IP=1.1.1.1的ICMP
攻擊者[IP=211.97.54.3]--------------------------------->受害者[截獲攻擊者IP=1.1.1.1]==>倒死

3.反射

用採取這種方式的第一個工具的名稱來命名的「Smurf」洪水攻擊,把隱蔽性又提高了一個檔次,這種攻擊模式里,最終淹沒目標的洪水不是由攻擊者發出的,也不是偽造IP發出的,而是正常通訊的伺服器發出的!

實現的原理也不算復雜,Smurf方式把源IP設置為受害者IP,然後向多台伺服器發送ICMP報文(通常是ECHO請求),這些接收報文的伺服器被報文欺騙,向受害者返回ECHO應答(Type=0),導致垃圾阻塞受害者的門口……

從示意圖可以看出,它比上面兩種方法多了一級路徑——受騙的主機(稱為「反射源」),所以,一個反射源是否有效或者效率低下,都會對Flood效果造成影響!

簡單示意:

偽造受害者的ICMP 應答
攻擊者[IP=211.97.54.3]-------------------------->正常的主機--------------->受害者[截獲攻擊者IP=……網易?!]==>哭啊……

以上是幾種常見的Flood方式,在測試中,我發現一個有趣的現象:一些防火牆只能攔截ECHO請求(Ping)的ICMP報文,對於其他ICMP報文一概睜隻眼閉隻眼,不知道其他防火牆有沒有這個情況。所以想神不知鬼不覺對付你的敵人時,請盡量避開直接ECHO Flood,換用Type=0的ECHO應答或Type=14的時間戳應答最好,其他類型的ICMP報文沒有詳細測試過,大家可以試試看Type=3、4、11的特殊報文會不會有更大效果。

六、ICMP Flood能防嗎?

先反問你一個問題:洪水迅猛的沖來時,你能否拿著一個臉盆來抵擋?(坐上臉盆做現代魯賓遜倒是個不錯的主意,沒准能漂到MM身邊呢)

軟體的網路防火牆能對付一些漏洞、溢出、OOB、IGMP攻擊,但是對於洪水類型的攻擊,它們根本無能為力,我通常對此的解釋是「傾倒垃圾」:「有蟑螂或老鼠在你家門前逗留,你可以把它們趕走,但如果有人把一車垃圾傾倒在你家門口呢?」前幾天看到mikespook大哥對此有更體面的解釋,轉載過來——「香蕉皮原理:如果有人給你一個香蕉和一個香蕉皮你能區分,並把沒有用的香蕉皮扔掉。(一般軟體防火牆就是這么判斷並丟棄數據包的。)但是如果有人在同一時間內在你身上倒一車香蕉皮,你再能區分有用沒用也沒啥作用了~~因為你被香蕉皮淹沒了~~~~(所以就算防火牆能區分是DoS的攻擊數據包,也只能識別,根本來不及丟棄~~死了,死了,死了~~)」

所以,洪水沒法防!能做的只有提高自己的帶寬和預防洪水的發生(雖然硬體防火牆和分流技術能做到,但那價格是太昂貴的,而且一般人也沒必要這樣做)。

如果你正在被攻擊,最好的方法是抓取攻擊者IP(除非對方用第一種,否則抓了沒用——假的IP)後,立即下線換IP!(什麼?你是固定IP?沒轍了,打電話找警察叔叔吧)

七、被ICMP Flood攻擊的特徵

如何發現ICMP Flood?

當你出現以下症狀時,就要注意是否正被洪水攻擊:

1.傳輸狀態里,代表遠程數據接收的計算機圖標一直亮著,而你沒有瀏覽網頁或下載
2.防火牆一直提示有人試圖ping你
3.網路速度奇慢無比
4.嚴重時系統幾乎失去響應,滑鼠呈跳躍狀行走

如果出現這些情況,先不要慌張,冷靜觀察防火牆報警的頻率及IP來確認是否普通的Ping或是洪水,做出相應措施(其實大多數情況也只能換IP了)。

1.普通ping

這種「攻擊」一般是對方掃描網路或用ping -t發起的,沒多大殺傷力(這個時候,防火牆起的作用就是延遲攻擊者的數據報發送間隔時間,請別關閉防火牆!否則後果是嚴重的!),通常表現如下:

==============================================================
[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:24] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:26] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:30] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。
=============================================================
這么慢的速度,很明顯是由ping.exe或IcmpSendEcho發出的,如果對方一直不停的讓你的防火牆吵鬧,你可以給他個真正的ICMP Flood問候。

2.直接Flood

這是比較夠勁的真正意義洪水了,防火牆的報警密度會提高一個數量級:

==============================================================
[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:20] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:21] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:21] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:21] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:21] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:21] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:21] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:21] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。

[13:09:21] 61.151.252.106 嘗試用Ping 來探測本機,
該操作被拒絕。
=============================================================

這時候你的防火牆實際上已經廢了,換個IP吧。

3.偽造IP的Flood

比較厲害的ICMP Flood,使用的是偽造的IP而且一樣大密度,下面是the0crat用56K撥號對我的一次攻擊測試的部分數據(看看時間,真暈了,這可是56K小貓而已啊)

=============================================================
[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機,
該操作被拒絕。

[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機,
該操作被拒絕。

[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機,
該操作被拒絕。

[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機,
該操作被拒絕。

[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機,
該操作被拒絕。

[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機,
該操作被拒絕。

[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機,
該操作被拒絕。

[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機,
該操作被拒絕。
=============================================================

無言…………

4、反射ICMP Flood

估計現在Smurf攻擊還沒有多少人會用(R-Series的RSS.EXE就是做這事的,RSA.EXE和RSC.EXE分別用作SYN反射和UDP反射),所以這種方法還沒有大規模出現,但Smurf是存在的!而且這個攻擊方法比前面幾種更恐怖,因為攻擊你的是大網站(或一些受苦受難的伺服器)!

我正在被網易、萬網和新浪網站攻擊中(懶得修改策略,直接用其他工具抓的。實際攻擊中,反射的IP會多幾倍!)

=======================================================================
[15:26:32] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
=======================================================================

可以看出,攻擊者使用的是32bytes的ECHO請求,所以伺服器返回52-20=32bytes的REPLY報文,在這個情況下,是不會報警的。

還是那句話,報警也沒用了。

八、自己編寫ICMP Flooder

以上說的都是理論,如何才能自己寫一個呢?相信很多人已經躍躍欲試了,下面就用VC6.0來寫一個直接的ICMP Flooder(能在Win98/Me環境使用)……先等等——最重要的是原理。

1.程序原理

當然不能用IcmpSendEcho來做,我們必須自己從最原始的IP報文里做一個。構造一個SOCK_RAW報文後,填充ICMP數據和計算校驗和(CheckSum),循環sendto發出去就完成了,so easy!

2.ICMP報文的聲明

一個ICMP報文包括IP頭部、ICMP頭部和ICMP報文,用IPPROTO_ICMP創建這個類型的IP包,用以下結構填充:

typedef struct _ihdr
{
BYTE i_type; //8位類型
BYTE i_code; //8位代碼
USHORT i_cksum; //16位校驗和
USHORT i_id; //識別號
USHORT i_seq; //報文序列號
ULONG timestamp; //時間戳
}ICMP_HEADER;

❽ ICMP數據包是什麼東西

ICMP是「Internet Control Message Protocol」(Internet控制消息協議)的縮寫。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制消息。控制消息是指網路通不通、主機是否可達、路由是否可用等網路本身的消息。這些控制消息雖然並不傳輸用戶數據,但是對於用戶數據的傳遞起著重要的作用。

我們在網路中經常會使用到ICMP協議,只不過我們覺察不到而已。比如我們經常使用的用於檢查網路通不通的Ping命令,這個「Ping」的過程實際上就是ICMP協議工作的過程。還有其他的網路命令如跟蹤路由的Tracert命令也是基於ICMP協議的。
ICMP的全稱是 Internet Control Message Protocol 。從技術教度來說,ICMP就是一個「錯誤偵測與回報機制」,其目的就是讓我們能夠檢測網路的連線狀況﹐也能確保連線的准確性﹐其功能主要有:

· 偵測遠端主機是否存在。
· 建立及維護路由資料。
· 重導資料傳送路徑。
· 資料流量控制。

❾ 包過濾技術的技術原理

包過濾技術(IP Filtering or packet filtering) 的原理在於利用路由器監視並過濾網路上流入流出的IP包,拒絕發送可疑的包。由於Internet 與Intranet 的連接多數都要使用路由器,所以Router成為內外通信的必經埠,Router的廠商在Router上加入IP 過濾 功能,過濾路由器也可以稱作包過濾路由器或篩選路由器(Packet FilterRouter)。防火牆常常就是這樣一個具備包過濾功能的簡單路由器,這種Firewall應該是足夠安全的,但前提是配置合理。然而一個包過濾規則是否完全嚴密及必要是很難判定的,因而在安全要求較高的場合,通常還配合使用其它的技術來加強安全性。
包過濾技術是指網路設備(路由器或防火牆)根據包過濾規則檢查所接收的每個數據包,做出允許數據包通過或丟棄數據包的決定。包過濾規則主要基於IP包頭信息設置,包括如下內容:
1、TCP/UDP的源或目的埠號
2、協議類型:TCP、UDP、ICMP等
3、源或目的IP地址
4、數據包的入介面和出介面
數據包中的信息如果與某一條過濾規則相匹配並且該規則允許數據包通過,則該數據包會被轉發,如果與某一條過濾規則匹配但規則拒絕數據包通過,則該數據包會被丟棄。如果沒有可匹配的規則,預設規則會決定數據包是被轉發還是被丟棄。
舉例說明:如圖所示,如果我們需要允許IP地址為192.168.0.1的電腦瀏覽網頁(建立HTTP連接),允許IP地址為192.168.0.2的電腦與Internet建立FTP連接,不允許其他電腦與Internet通信,可以在路由器設置如下過濾規則:

1、允許源IP地址為192.168.0.1、目的埠號為80的數據包通過(HTTP的埠號為80)。
2、允許源IP地址為192.168.0.1、目的埠號為53的數據包通過(DNS的埠號為53,在瀏覽網頁時通常需要進行域名解析)。
3、允許源IP地址為192.168.0.2、目的埠號為21的數據包通過(FTP的埠號為21)。
4、預設禁止所有的其他連接。
包過濾規則允許Router取捨以一個特殊服務為基礎的信息流,因為大多數服務檢測器駐留於眾所周知的TCP/UDP埠。例如,Telnet Service 為TCP port 23埠等待遠程連接,而SMTP Service為TCP Port 25埠等待輸入連接。如要封鎖輸入Telnet、SMTP的連接,則Router舍棄埠值為23、25的所有的數據包。
表9.1 一些常用網路服務和使用的埠 服務名稱 埠號 協議 說明 ftp-data 20 tcp FTP數據 ftp 21 tcp FTP控制 telnet 23 tcp 如BBS smtp 25 tcp 發email用 time 37 tcp timserver time 37 udp timserver domain 53 tcp DNS domain 53 udp DNS tftp 69 udp gopher 70 tcp gopher查詢 http 80 tcp www pop3 110 tcp 收email用 nntp 119 tcp 新聞組,usernet netbios-ns 137 tcp NETBIOS 名稱服務 netbios-ns 137 udp NETBIOS 名稱服務 netbios-dgm 138 udp NETBIOS 數據報服務 netbios-ssn 139 tcp NETBIOS Session服務 snmp 161 udp SNMP snmptrap 162 udp SNMP trap irc 194 tcp IRC網路聊天服務 ldap 389 tcp 輕型目錄服務協議 https 443 tcp SSL加密 https 443 udp 典型的過濾規則有以下幾種:允許特定名單內的內部主機進行Telnet輸入對話、只允許特定名單內的內部主機進行FTP輸入對話、只允許所有Telnet 輸出對話、只允許所有FTP 輸出對話、拒絕來自一些特定外部網路的所有輸入信息。
有些類型的攻擊很難用基本包頭信息加以鑒別,因為這些獨立於服務。一些Router可以用來防止這類攻擊,但過濾規則需要增加一些信息,而這些信息只有通過以下方式才能獲悉:研究Router選擇表、檢查特定的IP選項、校驗特殊的片段偏移等。這類攻擊有以下幾種:
源IP地址欺騙攻擊:入侵者從偽裝成源自一台內部主機的一個外部地點傳送一些信息包;這些信息包似乎像包含了一個內部系統的源IP地址。如果這些信息包到達Router的外部介面,則舍棄每個含有這個源IP地址的信息包,就可以挫敗這種源欺騙攻擊。
源路由攻擊:源站指定了一個信息包穿越Internet時應採取的路徑,這類攻擊企圖繞過安全措施,並使信息包沿一條意外(疏漏)的路徑到達目的地。可以通過舍棄所有包含這類源路由選項的信息包方式,來挫敗這類攻擊。
殘片攻擊:入侵者利用IP殘片特性生成一個極小的片斷並將TCP報頭信息肢解成一個分離的信息包片斷。舍棄所有協議類型為TCP、IP片斷偏移值等於1的信息包,即可挫敗殘片的攻擊。
從以上可看出定義一個完善的安全過濾規則是非常重要的。通常,過濾規則以表格的形式表示,其中包括以某種次序排列的條件和動作序列。每當收到一個包時,則按照從前至後的順序與表格中每行的條件比較,直到滿足某一行的條件,然後執行相應的動作(轉發或舍棄)。有些數據包過濾在實現時,「動作」這一項還詢問,若包被丟棄是否要通知發送者(通過發ICMP信息),並能以管理員指定的順序進行條件比較,直至找到滿足的條件。
對流進和流出網路的數據進行過濾可以提供一種高層的保護。建議過濾規則如下:
(1)任何進入內部網路的數據包不能把網路內部的地址作為源地址。
(2)任何進入內部網路的數據包必須把網路內部的地址作為目的地址。
(3)任何離開內部網路的數據包必須把網路內部的地址作為源地址。
(4)任何離開內部網路的數據包不能把網路內部的地址作為目的地址。
(5)任何進入或離開內部網路的數據包不能把一個私有地址(private address)或在RFC1918中 127.0.0.0/8.)的地址作為源或目的地址。
(6)阻塞任意源路由包或任何設置了IP選項的包。
(7)保留、DHCP自動配置和多播地址也需要被阻塞。0.0.0.0/8 、169.254.0.0/16 、192.0.2.0/24 、224.0.0.0/4 、240.0.0.0/4。

❿ 數據包過濾是一種基於什麼層的什麼技術

摘要 隨著網路技術的不斷發展,出現了大量的基於網路的服務,網路安全問題也就專變得越來越重屬要。ACL即訪問控制列表,它是工作在OSI參考模型三層以上設備,通過對數據包中的第三、四層中的包頭信息按照給定的規則進行分析,判斷是否轉發該數據包。

閱讀全文

與icmp數據包的過濾主要基於相關的資料

熱點內容
液相用溶劑過濾器 瀏覽:674
納濾水導電率 瀏覽:128
反滲透每小時2噸 瀏覽:162
做一個純凈水工廠需要多少錢 瀏覽:381
最終幻想4回憶技能有什麼用 瀏覽:487
污水提升器采通 瀏覽:397
反滲透和不發滲透凈水器有什麼區別 瀏覽:757
提升泵的揚程 瀏覽:294
澤德提升泵合肥經銷商 瀏覽:929
飲水機後蓋漏水了怎麼辦 瀏覽:953
小型電動提升器 瀏覽:246
半透膜和細胞膜區別 瀏覽:187
廢水拖把池 瀏覽:859
十四五期間城鎮污水處理如何提質增效 瀏覽:915
怎麼測試空氣凈化器的好壞 瀏覽:519
提升泵是幹嘛的 瀏覽:744
布油做蒸餾起沫咋辦 瀏覽:252
廣州工業油煙凈化器一般多少錢 瀏覽:204
喜哆哆空氣凈化器效果怎麼樣 瀏覽:424
油煙凈化器油盒在什麼位置 瀏覽:582