icmp協(xié)議篇1
要知道這其中的奧秘,我們有必要來看看ping命令的工作過程到底是怎么樣的。
假定主機a的ip地址是192.168.1.1,主機b的ip地址是192.168.1.2,都在同一子網(wǎng)內(nèi),則當你在主機a上運行“ping 192.168.1.2”后,都發(fā)生了些什么呢?
首先,ping命令會構建一個固定格式的icmp請求數(shù)據(jù)包,然后由icmp協(xié)議將這個數(shù)據(jù)包連同地址“192.168.1.2”一起交給ip層協(xié)議(和icmp一樣,實際上是一組后臺運行的進程),ip層協(xié)議將以地址“192.168.1.2”作為目的地址,本機ip地址作為源地址,加上一些其他的控制信息,構建一個ip數(shù)據(jù)包,并在一個映射表中查找出ip地址192.168.1.2所對應的物理地址(也叫mac地址,熟悉網(wǎng)卡配置的朋友不會陌生,這是數(shù)據(jù)鏈路層協(xié)議構建數(shù)據(jù)鏈路層的傳輸單元??幀所必需的),一并交給數(shù)據(jù)鏈路層。后者構建一個數(shù)據(jù)幀,目的地址是ip層傳過來的物理地址,源地址則是本機的物理地址,還要附加上一些控制信息,依據(jù)以太網(wǎng)的介質訪問規(guī)則,將它們傳送出去。
主機b收到這個數(shù)據(jù)幀后,先檢查它的目的地址,并和本機的物理地址對比,如符合,則接收;否則丟棄。接收后檢查該數(shù)據(jù)幀,將ip數(shù)據(jù)包從幀中提取出來,交給本機的ip層協(xié)議。同樣,ip層檢查后,將有用的信息提取后交給icmp協(xié)議,后者處理后,馬上構建一個icmp應答包,發(fā)送給主機a,其過程和主機a發(fā)送icmp請求包到主機b一模一樣。
從ping的工作過程,我們可以知道,主機a收到了主機b的一個應答包,說明兩臺主機之間的去、回通路均正常。也就是說,無論從主機a到主機b,還是從主機b到主機a,都是正常的。那么,是什么原因引起只能單方向ping通的呢?
一、安裝了個人防火墻
在共享上網(wǎng)的機器中,出于安全考慮,大部分作為服務器的主機都安裝了個人防火墻軟件,而其他作為客戶機的機器則一般不安裝。幾乎所有的個人防火墻軟件,默認情況下是不允許其他機器ping本機的。一般的做法是將來自外部的icmp請求報文濾掉,但它卻對本機出去的icmp請求報文,以及來自外部的icmp應答報文不加任何限制。這樣,從本機ping其他機器時,如果網(wǎng)絡正常,就沒有問題。但如果從其他機器ping這臺機器,即使網(wǎng)絡一切正常,也會出現(xiàn)“超時無應答”的錯誤。
大部分的單方向ping通現(xiàn)象源于此。解決的辦法也很簡單,根據(jù)你自己所用的不同類型的防火墻,調(diào)整相應的設置即可。
二、錯誤設置ip地址
正常情況下,一臺主機應該有一個網(wǎng)卡,一個ip地址,或多個網(wǎng)卡,多個ip地址(這些地址一定要處于不同的ip子網(wǎng))。但對于在公共場所使用的電腦,特別是網(wǎng)吧,人多手雜,其中不泛有“探索者”。曾有一次兩臺電腦也出現(xiàn)了這種單方向ping通的情況,經(jīng)過仔細檢查,發(fā)現(xiàn)其中一臺電腦的“撥號網(wǎng)絡適配器”(相當于一塊軟網(wǎng)卡)的tcp/ip設置中,設置了一個與網(wǎng)卡ip地址處于同一子網(wǎng)的ip地址,這樣,在ip層協(xié)議看來,這臺主機就有兩個不同的接口處于同一網(wǎng)段內(nèi)。當從這臺主機ping其他的機器時,會存在這樣的問題:
(1)主機不知道將數(shù)據(jù)包發(fā)到哪個網(wǎng)絡接口,因為有兩個網(wǎng)絡接口都連接在同一網(wǎng)段;
icmp協(xié)議篇2
關鍵詞:黑客攻擊;網(wǎng)絡協(xié)議;ICMPIP
一、黑客基礎知識
不難想象,本文可選擇的攻擊類型范圍很廣。我之所以選取本文所討論的幾種特定攻擊,是因為它們不需要太多關于所涉及協(xié)議的知識,但仍然能有效地說明了攻擊是如何執(zhí)行的、攻擊實際上是多么簡單(一旦您知道了詳細信息)以及攻擊者所需的資源(計算和網(wǎng)絡)是多么有限。盡管不可能在本文中涵蓋關于黑客攻擊的整個主題,但我已盡可能簡化基本原理,而仍然盡量多地提供必要信息,以便您理解所描述的攻擊。
二、攻擊的種類。拒絕服務攻擊:通常,黑客瞄準特定系統(tǒng),闖入系統(tǒng)以便將其用于特定用途。那些系統(tǒng)的主機安全性經(jīng)常會阻止攻擊者獲得對主機的控制權。但進行拒絕服務攻擊時,攻擊者不必獲得對系統(tǒng)的控制權。其目標只是使系統(tǒng)或網(wǎng)絡過載,這樣它們就無法繼續(xù)提供服務了。拒絕服務攻擊可以有不同的目標,包括帶寬消耗(bandwidth consumption)和資源缺乏(resource starvation)。
三、分析選定的網(wǎng)絡攻擊
(一)協(xié)議
本段討論了針對網(wǎng)際控制報文協(xié)議(ICMP)和傳輸控制協(xié)議(TCP)上的攻擊,這兩個協(xié)議都屬于網(wǎng)際協(xié)議(IP)系列。在深入研究關于這些協(xié)議的詳細信息之前,我打算先在適合于這些協(xié)議的環(huán)境中討論它們。
網(wǎng)際控制報文協(xié)議(ICMP)是IP的組成部分,但它使用某些IP服務。ICMP提供服務,使主機能夠彼此交流控制信息。ICMP由IP和一些更高級別的協(xié)議使用,如傳輸控制協(xié)議(TCP)。
傳輸控制協(xié)議(TCP)是本文中討論的第三個重要協(xié)議。TCP的功能比IP更進一步,并提供兩個重要特性:連接和服務質量。這意味著您可以在兩臺主機之間開一個虛擬通道,通過這個通道,使得所發(fā)送的包的順序及其實際傳遞都得到保障。
接下來更高的一級是應用層協(xié)議,如Telnet和SMTP。它們都使用由TCP提供的服務。例如,當您用Telnet連接到主機時,打開一個連接,并且您希望所有輸入這個Telnet會話的數(shù)據(jù)都以正確的順序發(fā)送到接收主機。
(二)理解IP
因為IP提供的是無連接、不可靠、最高效的(best-effort)數(shù)據(jù)報傳遞服務,所以IP的使用范圍多少受到了限制。但是,它提供兩個基本功能:尋址和分段。地址(在IP數(shù)據(jù)報頭中封裝為源和目的地地址)用來將數(shù)據(jù)報傳輸?shù)狡淠康牡?,這個過程稱為路由。有兩種基本情況:
接收主機和發(fā)送主機位于同一子網(wǎng),這種情況下數(shù)據(jù)報將被直接從發(fā)送方發(fā)送到接收方。
接收主機位于不同的子網(wǎng),這種情況下發(fā)送主機將把數(shù)據(jù)報轉發(fā)到網(wǎng)關(連接兩個子網(wǎng)的IP主機),然后,如果目的地主機在一個與網(wǎng)關相連的子網(wǎng)中,則網(wǎng)關會嘗試將數(shù)據(jù)報傳遞到目的地主機。如果目的地主機不在與網(wǎng)關相連的子網(wǎng)中,網(wǎng)關將會把數(shù)據(jù)報轉發(fā)到另一個網(wǎng)關。這個過程將反復進行,直到能夠將數(shù)據(jù)報傳遞到其目的地主機為止。
既然我已經(jīng)介紹了基礎知識,現(xiàn)在可以討論個別協(xié)議了。在以下幾節(jié)中,您將找到關于ICMP和TCP的更詳細的信息以及一些使用這些協(xié)議的有趣的攻擊。
(三)使用ICMP
超時消息:每個IP數(shù)據(jù)報頭中都包含一個字段―稱為“生存時間字段”―它指出數(shù)據(jù)報在被丟棄之前還能在因特網(wǎng)上保持多久。數(shù)據(jù)報在因特網(wǎng)上保持的時間以跳躍點(hop)衡量,其中一個跳躍點表示數(shù)據(jù)報通向目的地節(jié)點路徑上的一個網(wǎng)關。當數(shù)據(jù)報經(jīng)過網(wǎng)關轉發(fā)時,它就將生存時間字段中的值減一。如果處理數(shù)據(jù)報的網(wǎng)關測定該數(shù)據(jù)報IP頭中的生存時間字段為0,則丟棄該數(shù)據(jù)報并用超時消息通知源主機。
回應請求和回應應答消息:如果主機A想知道主機B是否是活動的,則主機A會向主機B發(fā)送一條ICMP回應請求消息。主機B將用ICMP回應應答消息來應答,以表明自己是活動的。這條消息就是眾所周知的ping包。
以上這些并不是ICMP所使用的全部消息類型,但它們能使您大致了解ICMP的用途。接下來我將向您介紹兩種ICMP攻擊。
目的地不可到達攻擊
類別:拒絕服務攻擊
描述:如上所述,ICMP目的地不可到達消息向嘗試轉發(fā)消息的網(wǎng)關提供了一種工具,用來通知發(fā)送方:因為在數(shù)據(jù)報目的地地址中指定的主機不可到達,所以無法傳遞該消息。
如果入侵者獲得了網(wǎng)絡10.1.0.0中一臺主機的訪問權,那么,他可以廣播一條“目的地不可到達消息”,聲明網(wǎng)關G對于他所在網(wǎng)絡的所有主機是不可到達的。這將使網(wǎng)關G和網(wǎng)絡10.2.0.0暫時變得不可用,因而不可能從網(wǎng)絡10.1.0.0向網(wǎng)絡10.2.0.0傳輸任何消息。
這種攻擊背后的動機只是使網(wǎng)絡或服務暫時癱瘓。因為攻擊者不需要功能強大的機器或高速的網(wǎng)絡連接來執(zhí)行這種攻擊,所以它特別危險。
(四)Smurf攻擊
類別:拒絕服務攻擊
描述:Smurf攻擊是拒絕服務攻擊的一種非??膳碌男问剑驗樗哂蟹糯笮?。Smurf攻擊利用ICMP回應消息。如上所述,主機A每次向主機B發(fā)送回應請求消息時,主機B都會返回回應應答消息以表明自己是活動的。名稱“Smurf攻擊”源自一個名為smurf的利用程序,攻擊者用該程序來執(zhí)行這種攻擊。
(五)傳輸控制協(xié)議(TCP)
在繼續(xù)討論攻擊之前,我將更詳細地討論TCP的某些方面,這些知識對于下面討論的攻擊是必需的。尤其是TCP包(稱為段)的結構、如何在主機之間建立TCP連接和如何關閉連接。
(六)TCP包的結構
與IP數(shù)據(jù)報類似,TCP段包含頭部分、可選(選項)部分和數(shù)據(jù)部分?,F(xiàn)在,讓我們更仔細地研究一下TCP頭的某些重要字段:
源端口:分配給啟動連接的主機上虛連接的端口號。
目的地端口:目的地端口號。這也由啟動連接的主機分配,因為只有該主機知道自己“想”連接到哪里。例如,如果您打開到特定主機的Telnet連接,則目的地端口將被設置為23。
序列號和確認號:發(fā)送方和接收方使用兩個序列號來確保包沒有丟失、沒有重復以及可以在目的地節(jié)點以正確順序重新組裝。
標志:這個字段包含六個控制位:
URG:向接收方表明一接收完數(shù)據(jù)就進行緊急處理。
ACK:表明確認號字段是有意義的。
PSH:表明必須迅速地將數(shù)據(jù)傳遞到接收方。
RST:表明要立即復位連接。
SYN:在需要同步序列號的情況下設置。
FIN:表明不會再有來自發(fā)送方的數(shù)據(jù)了(也就是說,連接將要關閉)。
以上是TCP頭中的重要字段,下面關于TCP連接的建立和關閉的幾節(jié)將使您更好地理解這些字段的用途。
建立和關閉TCP連接。
icmp協(xié)議篇3
關鍵詞 遠程OS探測 協(xié)議棧指紋 TCP/IP協(xié)議
1 引言
探測和識別一個計算機系統(tǒng)在運行什么OS是黑客入侵的重要步驟。如果不知道目標系統(tǒng)在運行什么OS,就很難在目標系統(tǒng)上執(zhí)行操作,也無法判斷是否存在安全漏洞,更談不上攻擊。
從管理和防范的角度來說,如果能減少被探測時泄漏的信息,就減少了黑客入侵行為的信息來源,使其入侵行為變得相當困難。因此,研究這方面的技術,對于提高系統(tǒng)的安全性和抵抗入侵的能力具有重要的意義。
2 簡單的OS探測技術
在早期,黑客經(jīng)常采用一些簡單的探測方法來獲取目標系統(tǒng)的信息。如通過telnet標題,ftp的標題和STAT命令,通過HTTP服務程序,DNS ,SNMP等都可以得到很多有用信息。
但是,在長期的入侵和防入侵的斗爭中,通過簡單的手段即可獲得的信息越來越少了。管理員努力地減少通過網(wǎng)絡泄漏的信息,有時還修改OS的代碼,給出虛假的信息。在這種情況下,簡單的方法已經(jīng)很難奏效了,因此出現(xiàn)了通過網(wǎng)絡協(xié)議棧指紋來識別OS的技術。
3 網(wǎng)絡協(xié)議棧指紋原理
常用的網(wǎng)絡協(xié)議是標準的,因而從理論上講各個操作系統(tǒng)的協(xié)議棧應該是相同的。但是,在實踐中,各種操作系統(tǒng)的協(xié)議棧的實現(xiàn)存在細微的差異。這些差異稱作網(wǎng)絡協(xié)議棧的“指紋”。
對TCP協(xié)議族來說,這些差異通常表現(xiàn)在數(shù)據(jù)包頭的標志字段中。如window size、ACK序號、TTL等的不同取值。通過對這些差別進行歸納和總結,可以比較準確地識別出遠程系統(tǒng)的OS類型。
由于Internet廣泛使用TCP/IP協(xié)議族,因此下面的討論主要圍繞TCP/IP來進行。
4 網(wǎng)絡協(xié)議棧指紋構成
下面列出了不同OS的網(wǎng)絡協(xié)議棧的差異,這些差異可作為協(xié)議棧指紋識別的依據(jù)。
1) TTL
TTL:Time To Live,即數(shù)據(jù)包的“存活時間”,表示一個數(shù)據(jù)包在被丟棄之前可以通過多少躍點(Hop)。不同操作系統(tǒng)的缺省TTL值往往是不同的。
常見操作系統(tǒng)的TTL值:
Windows 9x/NT/2000 Intel 128
Digital Unix 4.0 Alpha 60
Linux 2.2.x Intel 64
Netware 4.11 Intel 128
AIX 4.3.x IBM/RS6000 60
Cisco 12.0 2514 255
Solaris 8 Intel/Sparc 64
…
2) DF位
DF(不分段)位識別:不同OS對DF位有不同的處理方式,有些OS設置DF位,有些不設置DF位;還有一些OS在特定場合設置DF位,在其它場合不設置DF位。
3) Window Size
Window Size:TCP接收(發(fā)送)窗口大小。它決定了接收信息的機器在收到多少數(shù)據(jù)包后發(fā)送ACK包。
特定操作系統(tǒng)的缺省Window Size基本是常數(shù),例如,AIX 用0x3F25,Windows、OpenBSD 、FreeBSD用0x402E。
一般地,UNIX的Window Size較大。MSWindows,路由器,交換機等的較小。
4) ACK 序號
不同的OS處理ACK序號時是不同的。如果發(fā)送一個FIN|PSH|URG的數(shù)據(jù)包到一個關閉的TCP 端口,大多數(shù)OS會把回應ACK包的序號設置為發(fā)送的包的初始序號,而Windows 和一些打印機則會發(fā)送序號為初始序號加1的ACK包。
5) ICMP地址屏蔽請求
對于ICMP地址屏蔽請求,有些OS會產(chǎn)生相應的應答,有些則不會。會產(chǎn)生應答的系統(tǒng)有OpenVMS, MSWindows, SUN Solaris等。在這些產(chǎn)生應答的系統(tǒng)中,對分片ICMP地址屏蔽請求的應答又存在差別,可以做進一步的區(qū)分。
6) 對FIN包的響應
發(fā)送一個只有FIN標志位的TCP數(shù)據(jù)包給一個打開的端口,Linux等系統(tǒng)不響應;有些系統(tǒng),例如 MS Windows, CISCO, HP/UX等,發(fā)回一個RESET。
7) 虛假標記的SYN包
在SYN包的TCP頭里設置一個未定義的TCP 標記,目標系統(tǒng)在響應時,有的會保持這個標記,有的不保持。還有一些系統(tǒng)在收到這樣的包的時候會復位連接。
8) ISN (初始化序列號)
不同的OS在選擇TCP ISN時采用不同的方法。一些UNIX系統(tǒng)采用傳統(tǒng)的64K遞增方法,較新的Solaris,IRIX,FreeBSD,Digital Unix,Cray等系統(tǒng)采用隨機增量的方法;Linux 2.0,OpenVMS, AIX等系統(tǒng)采用真隨機方法。Windows系統(tǒng)采用一種時間相關的模型。還有一些系統(tǒng)使用常數(shù)。如,3Com集線器使用0x803,Apple LaserWriter打印機使用0xC7001。
9) ICMP 錯誤信息
在發(fā)送ICMP錯誤信息時,不同的OS有不同的行為。RFC 1812建議限制各種錯誤信息的發(fā)送率。有的OS做了限制,而有的沒做。
10) ICMP 消息引用
RFC 規(guī)定ICMP錯誤消息可以引用一部分引起錯誤的源消息。
在處理端口不可達消息時,大多數(shù)OS送回IP請求頭外加8 字節(jié)。Solaris 送回的稍多,Linux 更多。
有些OS會把引起錯誤消息的頭做一些改動再發(fā)回來。例如,F(xiàn)reeBSD,OpenBSD,ULTRIX,VAXen等會改變頭的ID 。
這種方法功能很強,甚至可以在目標主機沒有打開任何監(jiān)聽端口的情況下就識別出Linux和Solaris 。
11) TOS(服務類型)
對于ICMP端口不可達消息,送回包的服務類型(TOS)值也是有差別的。大多數(shù)OS是0,而Linux 是0xc0。
12) 分段重組處理
icmp協(xié)議篇4
【關鍵詞】蜜罐;指紋匹配;相關函數(shù)
1 Honeyd軟件介紹
Honeyd是由Niels Provos創(chuàng)建的一種具有開放源代碼的輕型低交互級別的蜜罐,除了具有蜜罐的共性――引誘攻擊者的攻擊外,它自身的設計特點不但可以使Honeyd更有效的完成任務,還能開發(fā)出許多新的應用出來。它可以同時模仿400多種不同的操作系統(tǒng)和上千種不同的計算機。
Honeyd有如下特點:
第一,Honeyd可以同時模仿上百甚至上千個不同的計算機,大部分蜜罐在同一時間僅可以模仿一臺計算機,而Honeyd可以同時呈現(xiàn)上千個不同的IP地址。
第二,可以通過簡單的配置文件對服務進行任意配置,可以對虛擬的主機進行ping操作或者進行traceroute,Honeyd可以根據(jù)簡單的配置文件對虛擬主機的任何服務進行任意的配置,它甚至可以作為其他主機的。
第三,可以在TCP/IP層模仿操作系統(tǒng),這就意味著如果有人闖入用戶的蜜罐時,服務和TCP/IP都會模擬操作系統(tǒng)做出各種響應。當前,還沒有任何其他的蜜罐具有這種功能,可以完成的工作包括虛擬nmap和xprobe,調(diào)節(jié)分配重組策略以及調(diào)節(jié)FIN掃描策略。
第四,可以模擬任何路由拓撲結構,可以配置等待時間和丟包率。
第五,作為一種開放源代碼的工具,Honeyd可以免費使用,同時也迅速成為了很多安全組織的開發(fā)源代碼的一部分。
2 Honeyd邏輯結構
Honeyd結構由以下幾個部件組成:配置數(shù)據(jù)庫,中心數(shù)據(jù)包分配器,協(xié)議管理器,服務處理單元,特征引擎,可選的路由器部分。Honeyd的邏輯結構如圖1所示:
圖1 Honeyd的邏輯結構
各部分的功能分別為:
路由器:路由數(shù)據(jù)包到達某個虛擬蜜罐所在的地址,會產(chǎn)生三種情況:沒有找到目的地址而丟棄數(shù)據(jù)包;沒有找到目的地址,但是可以把數(shù)據(jù)包交付給下一個路由器;可以直接把數(shù)據(jù)包交付給目的地址。路由是一個可選擇的邏輯部件。
數(shù)據(jù)包分配器:該邏輯部件核查IP數(shù)據(jù)包的長度,對IP數(shù)據(jù)包進行正確性檢查,核實確認序列號。分配器只對協(xié)議管理器分配三種數(shù)據(jù)包:ICMP、UDP、TCP。其他協(xié)議的數(shù)據(jù)包會被丟棄并且不做任何記錄。
協(xié)議管理器:它包括ICMP/UDP/TCP協(xié)議管理和服務處理單元。ICMP協(xié)議管理支持ICMP請求。默認的,所有的蜜罐配置都響應回射請求和處理目標主機不可達信息;TCP和UDP協(xié)議管理器和服務處理單元能夠對外建立特定服務的連接。服務的行為完全依賴于外部應用。TCP協(xié)議管理器能夠很好的支持三次握手的建立和FIN或RST的拆卸,但是還不能很好地支持窗口管理和擁塞控制。
特征引擎:將對發(fā)送的所有數(shù)據(jù)包進行指紋匹配,以便在指紋識別工具前能很好地隱蔽。
配置數(shù)據(jù)庫:它當中包含了一切配置參數(shù),例如虛擬蜜罐的IP地址、默認的ICMP響應,虛擬鏈路的網(wǎng)絡屬性,指紋數(shù)據(jù)等。
3 關鍵技術
Honeyd能夠虛擬蜜罐,并且能夠利用這些虛擬的蜜罐構建松散的虛擬蜜罐網(wǎng)絡或有層次結構的虛擬蜜罐網(wǎng)絡,這些虛擬的蜜罐網(wǎng)絡中甚至可以包含真實的主機。然而Honeyd要構建虛擬的蜜罐網(wǎng)絡需要面對這樣一些問題:首先是攻擊者利用指紋工具對連接的蜜罐進行識別時該怎么辦;其次,虛擬出的蜜罐網(wǎng)絡如果面對網(wǎng)絡拓撲發(fā)現(xiàn)工具時怎么辦。
Honeyd采用了兩種關鍵的技術來欺騙攻擊者,一種是指紋匹配技術,另一種是虛擬蜜罐網(wǎng)絡技術。
4 指紋匹配
為了在被探測的時候表現(xiàn)得跟真實的系統(tǒng)一樣,虛擬蜜罐要模擬給定操作系統(tǒng)的網(wǎng)絡棧行為,這是虛擬蜜罐的一部分特征。不同的特征能被設計成不同的虛擬蜜罐。特征引擎通過改變協(xié)議數(shù)據(jù)包頭部來匹配特定的操作系統(tǒng),從而表現(xiàn)出相應的網(wǎng)絡協(xié)議棧行為,這一過程成為指紋匹配。
Honeyd運用NMAP的指紋數(shù)據(jù)庫作為TCP和UDP行為特征的的參考;用XPROBE指紋數(shù)據(jù)庫作為ICMP行為的參考。
下面用NMAP提供的指紋信息來改變蜜罐網(wǎng)絡棧的特征為例來進行說明:
Fingerprint IRIX 6.5.15m on SGI 02
Tseq(Class=TD%gcd=
T1(DF=N%W=EF2A%ACK=S++%Flags=AS%Ops=MNWNNTNNM)
T2(Resp=Y%DF=N%W=O%ACK=S%Flags=AR%Ops=)
T3(Resp=Y%DF=N%W=EF2A%ACK=O%Flags=A%Ops=NNT)
T4(DF=N%W=O%ACK=O%FlagsR%Ops=)
T5(DF=N%W=O%ACK=S++%Flags=AR%Ops=)
T6(DF=N%W=O%ACK=O%Flags=R%Ops=)
T7(DFN%W=O%ACK=S%Flags=R%Ops=)
PU(Resp=n)
T1測試設置了SYN和ECE TCP flags;T5測試僅設置了SYN TCP flags。后面7個測試決定了數(shù)據(jù)包到達開放的或關閉的端口的網(wǎng)絡棧行為。最后一個分析ICMP對關閉的UDP端口的響應。
Honeyd保持每一個蜜罐的可靠性。包括產(chǎn)生ISN信息可靠性,蜜罐的初始化時間,當前IP數(shù)據(jù)包的確認號的可靠性。保持狀態(tài)有利于我們在指紋修改后發(fā)送的數(shù)據(jù)包產(chǎn)生后續(xù)的ISN。
滑動窗口在不同的環(huán)境下表現(xiàn)出來的大小同樣也會成為攻擊者進行識別的一部分。當Honeyd為一個新建的連接發(fā)送一個數(shù)據(jù)包時,它會用NMAP指紋去檢測內(nèi)部窗口的大小,在一個連接建立好以后,Honeyd框架將根據(jù)緩沖區(qū)中數(shù)據(jù)的多少調(diào)整窗口的大小。
5 指紋匹配相關函數(shù)
Honeyd邏輯上的特征引擎是由相關的函數(shù)參考配置數(shù)據(jù)庫中的參數(shù),然后分別對各自的數(shù)據(jù)包進行指紋處理得到的。這些被處理的數(shù)據(jù)包主要由TCP數(shù)據(jù)包、UDP數(shù)據(jù)包和ICMP數(shù)據(jù)包。其中tcp _send(),tcp_personality()負責處理TCP數(shù)據(jù)包的指紋;udp_send()負責處理UDP數(shù)據(jù)包的指紋;icmp_send()數(shù)據(jù)包負責處理ICMP數(shù)據(jù)包的指紋。下面我們重點介紹處理TCP數(shù)據(jù)包的函數(shù)。
tcp_send()負責發(fā)送基于tcp協(xié)議的數(shù)據(jù)包,重要的是,它對即將發(fā)送的數(shù)據(jù)包進行改動,修改報頭,使得看上去和對應的操作系統(tǒng)的特征準確地吻合,以達到欺騙的效果。因而此函數(shù)只是在通過查詢特征庫后,得到返回的id(ip報頭的標識字段的值),調(diào)整其他參數(shù),封裝成ip包發(fā)送。
udp_send()函數(shù)負責發(fā)送基于udp協(xié)議的數(shù)據(jù)包,如同上面的一樣,發(fā)送前,必須參考特征庫,修改得當?shù)膱箢^。
icmp協(xié)議篇5
關鍵詞:ICMP;TCP;UDP;路由追蹤
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)18-2pppp-0c
1 背景
網(wǎng)路故障的一般表現(xiàn)是網(wǎng)速變慢或者無法訪問互聯(lián)網(wǎng)或內(nèi)網(wǎng)服務器,在現(xiàn)場進行網(wǎng)絡故障診斷時,往往需要借助各種工具軟件如Sniffer、ping、traceroute等進行逐步排查,最后經(jīng)過分析,選擇懷疑的網(wǎng)絡節(jié)點,然后在局端或現(xiàn)場對懷疑的網(wǎng)絡節(jié)點進行各種連通性、替代性測試,方法步驟繁雜,而且往往無法準確診斷。
經(jīng)過分析,故障診斷的過程,可以使用專用的設備,并編寫相應的診斷程序,自動完成網(wǎng)絡故障節(jié)點的測試和判斷。
2 算法和設計
當測試節(jié)點到達目的網(wǎng)絡位置的鏈路存在問題時,一般可能是:物理鏈路斷開(線纜或節(jié)點設備故障);目的地址的相應端口沒有開放,或者中間鏈路經(jīng)過的設備(交換機,路由器等)禁止了協(xié)議或端口;終端設備故障。故,處理流程首先是找到測試節(jié)點到達連接服務器節(jié)點的路徑,確定經(jīng)過的網(wǎng)絡節(jié)點位置,然后對節(jié)點中的各個位置實施連通性測試,最后根據(jù)測試結果判斷故障節(jié)點位置和原因。
2.1 網(wǎng)絡路由的查詢
該部分的功能類似于Linux系統(tǒng)中提供的命令traceroute,不同的是,該部分功能進行路由診斷依賴的協(xié)議不僅僅是ICMP。
ICMP的原理是鏈路上的節(jié)點設備都要在轉發(fā)該 ICMP 回顯請求報文之前將報文頭部的 TTL 值減 1,當報文的 TTL 值減少到 0 時,節(jié)點設備向源發(fā)回 ICMP 超時信息。該診斷實用程序通過向目的地發(fā)送具有不同生存時間 (TTL) 的 ICMP報文,確定至目的地的路由。通過發(fā)送 TTL 為 1 的第一個回顯報文并且在隨后的發(fā)送中每次將 TTL 值加 1,直到目標響應或達到最大 TTL 值,可以確定鏈路經(jīng)過的路由。通過檢查鏈路中間節(jié)點設備發(fā)回的 ICMP 超時信息,可以確定故障節(jié)點。
如果使用ICMP協(xié)議無法完成測試,則改為使用UDP協(xié)議和TCP協(xié)議分別進行路由偵測。源發(fā)出UDP數(shù)據(jù)包,源端口使用隨機的大于32768的高段端口號,目的端口從33434開始依此遞增,直至33434+29,同時TTL從1開始依此遞增,直至1+29=30。節(jié)點設備送回的 ICMP超時報文,使得源可以偵測到鏈路上每一個節(jié)點。
2.2 網(wǎng)絡節(jié)點診斷
向節(jié)點發(fā)送TCP握手信號,如果該節(jié)點可以通過connect連接成功,表示節(jié)點可以正常連接,如果回應RST,表示該節(jié)點禁止了該端口的訪問,如果該節(jié)點長時間不回復SYN,也可以認為該節(jié)點禁止端口。
因此,依據(jù)上述現(xiàn)象可以很容易判斷當前故障節(jié)點――離測試者最近的故障點,可以被認定為當前網(wǎng)絡故障點。
2.3 故障節(jié)點位置的判斷策略
如果路由尋找完整,一般能夠找到節(jié)點。在所有不回應SYN包或者回應RST包的
節(jié)點中,應該是離源最近跳數(shù)的節(jié)點設備將端口關閉。
如果路由尋找不完整,有可能找不到所找的故障點。如果在找到的n個節(jié)點中,只有非最遠離源的一個節(jié)點不回應,或回應RST包,則不能確定故障節(jié)點;如果是包括最遠離源在內(nèi)的一個或多個節(jié)點不回應或回應RST包,則最右端節(jié)點可能為故障節(jié)點,但并不能確定在整個路由中的故障節(jié)點所在,因為路由不完整。
2.4 不能覆蓋的異常情況
如果使用ICMP和UDP都無法尋找到完整路由,則有可能找不到故障節(jié)點,但這種情況非常少,因為根據(jù)UDP的測試原理,除非中間節(jié)點將大于32768的端口全部封掉,否則都可以得到完整的路由路徑。
3 代碼片段和程序流程
3.1 整體框架代碼
int f_procon_scan_showerr(char *re_info)
{char err_node[16];
inet_ntoa_b(info_scan.node[info_scan.err_num],err_node);
if(err_tcpscan == ERR_PORTSCAN_ROUTE_HALF){
sprintf(re_info,"路由信息不完整,故障點可能是:%s",err_node);
}else if(err_tcpscan == ERR_PORTSCAN_ROUTE_NO){
sprintf(re_info,"未找到達到目的地址的路徑,無法診斷故障");
}else{
sprintf(re_info,"路由信息完整,故障點是:%s",err_node);
}
return OK;
}
static int quitflag=0;
int f_procon_scan_tcp(void)
{char * re_info; /* 測試完后返回的信息 */
int re_find;
int i,rv;
char buf[512];
int numBytes,count;
int on,len;
int ctrlSock;
struct sockaddr_in ctrlAddr;
struct router_node bak_router_node;
sprintf(buf,"正在使用ICMP獲取路由信息...");
server_virtual_display_output(buf,0);
bzero((char *)&info_scan,sizeof(info_scan));
re_find = find_node(0);/*使用ICMP協(xié)議*/
if(info_scan.number == 0){/* 沒有正確找到到目的地址的路由信息,嘗試使用udp協(xié)議查找*/
sprintf(buf,"正在使用UDP獲取路由信息...");
server_virtual_display_output(buf,0);
bzero((char *)&info_scan,sizeof(info_scan));
re_find = find_node(1);/*使用UDP協(xié)議*/
if(info_scan.number == 0){
err_tcpscan = ERR_PORTSCAN_ROUTE_NO;
return OK;
}
}else if(re_find == ERROR){/*獲取不完整路徑,嘗試用udp獲取*/
sprintf(buf,"正在使用UDP獲取路由信息...");
server_virtual_display_output(buf,0);
memcpy(&bak_router_node,&info_scan,sizeof(info_scan));
bzero((char *)&info_scan,sizeof(info_scan));
re_find = find_node(1);/*使用UDP協(xié)議*/
if(info_scan.number == 0){/*udp沒有獲取到路徑,則恢復icmp的路徑*/
memcpy(&info_scan,&bak_router_node,sizeof(bak_router_node));
re_find=ERROR;
}else if(re_find == ERROR){/*udp獲取的也是不完整路徑,則進行比較,選最多的*/
if(info_scan.number
memcpy(&info_scan,&bak_router_node,sizeof(bak_router_node));
}
}
}
if(re_find == ERROR){
err_tcpscan = ERR_PORTSCAN_ROUTE_HALF;
}else{
err_tcpscan = ERR_PORTSCAN_ROUTE_OK;
}
quitflag=1;
info_scan.node[info_scan.number].s_addr=self_ip;
for(i=info_scan.number-1;i>=0;i--){
/*創(chuàng)建socket*/
ctrlSock = socket (AF_INET, SOCK_STREAM, 0);
if (ctrlSock < 0){
sprintf(buf,"無法創(chuàng)建socket");
server_virtual_display_output(buf,0);
return (ERROR);
}
/*設置socket為非阻塞模式*/
on=TRUE;
if(ioctl(ctrlSock,FIONBIO,(int)&on)
printf("set socket to no block is error/n");
}
ctrlAddr.sin_family= AF_INET;
ctrlAddr.sin_addr.s_addr = info_scan.node[i].s_addr;
ctrlAddr.sin_port= htons(s_procon_info.port);
if(connect(ctrlSock,(struct sockaddr *)&ctrlAddr, sizeof (ctrlAddr))< 0){
if(!((errno==EINPROGRESS) || (errno==EALREADY))){
shutdown(ctrlSock,2);
close(ctrlSock);
continue;
}
}
rv=server_wait_for_write_timeout(ctrlSock,&quitflag);
if(rv!=0){
shutdown(ctrlSock,2);
close(ctrlSock);
break;
}
shutdown(ctrlSock,2);
close(ctrlSock);
}
if(i
i=0;
}else if(i!=info_scan.number-1){/*不是最后一個不同,則認為就是他了*/
i++;
}else if(err_tcpscan == ERR_PORTSCAN_ROUTE_OK){/*最后一個竟然也是通的,則認為是服務器本身了*/
i++;
}
info_scan.err_num=i;
return OK;
}
3.2 查找路由節(jié)點函數(shù)
static int find_node(int flag)
{int dst_ip, gateway;
int i,num;
int result = OK;
S_TRACERT_INTERFACES info_tracert;
S_TRACERT_INTERS *intrs;
struct in_addr ip_tra;
dst_ip = s_procon_info.ip_remote.s_addr; /* tracert ip is test ip */
switch(s_netcon_info.mode){
case D_NETCON_MODE_STATIC_IP:
gateway = s_netcon_info.sta_ip.ip_router.s_addr;
self_ip = s_netcon_info.sta_ip.ip_local.s_addr;
break;
case D_NETCON_MODE_DHCPC:
gateway = s_netcon_info.dhcpc.ip_router[0].s_addr;
self_ip = s_netcon_info.dhcpc.ip_local.s_addr;
break;
case D_NETCON_MODE_PPPOEH:
gateway = s_netcon_info.pppoeh.ip_remote.s_addr;
self_ip = s_netcon_info.pppoeh.ip_local.s_addr;
break;
}
f_tracert_routine(dst_ip,gateway,flag); /* exec tracert for find node */
/* 如果tracert未結束,查看是否出現(xiàn)超時找不到路由情況,如果是,終止測試 */
/* 如果tracert停止,看是否追蹤到最終的路由 */
while(!v_tracert_end){
f_tracert_show((char *)&info_tracert); /* 取信息,判斷 */
for(i=0;i
intrs=&info_tracert.tracert_info[i];
ip_tra.s_addr = intrs->ip;
if(intrs->ip == 0){
info_tracert.number -= 1;
f_tracert_end();
result = ERROR;
}
}
taskDelay(sysClkRateGet()/2);
}
f_tracert_show((char *)&info_tracert);
info_scan.number = info_tracert.number;
/* save the node infomation to my struct */
for(i=0;i
intrs=&info_tracert.tracert_info[i];
info_scan.node[i].s_addr = intrs->ip;
}
num = info_scan.number - 1;
if(info_scan.node[num].s_addr == 0){
info_scan.number -= 1;
}
return result;
}
3.3 涉及到的數(shù)據(jù)結構
保存狀態(tài)的結構體。
static struct router_node{
int number; /* 到目的地址能找到的節(jié)點總數(shù) 如果為0,表示未找到路由*/
int err_num; /* 詢查所有節(jié)點,最后一個對端口無回應的節(jié)點序號*/
struct in_addr node[31]; /* 用Tracert查到的路由節(jié)點地址 */
char f_send[30]; /* 向相應節(jié)點成功發(fā)送TCP SYN包標志 ,成功置 1*/
charf_recv[30]; /* 成功接收各節(jié)點回復包標志,接收到置 1 */
int send_seq[30]; /* 發(fā)送的各SYN包的SEQ號,用來判斷接收包 */
unsigned char flag[30]; /* 如果接收返回包,保存返回包的TCP FLAG字段 */
}info_scan;
錯誤狀態(tài)如下:
#define ERR_PORTSCAN_ROUTE_NO 0x01
#define ERR_PORTSCAN_ROUTE_OK 0x02
#define ERR_PORTSCAN_ROUTE_HALF 0x03
#define ERR_PORTSCAN_SEND_SYN 0x11 //向網(wǎng)絡節(jié)點發(fā)送SYN同步包出錯
4 應用案例
現(xiàn)有一計算機終端,無法登錄其開通的網(wǎng)絡多媒體點播服務系統(tǒng),但可以登錄其它網(wǎng)站,使用網(wǎng)絡測試儀的網(wǎng)絡故障診斷軟件來診斷該案例。
首先,通過用戶界面,填入多媒體點播系統(tǒng)的IP地址(如202.102.249.174)極其端口號(1026),然后點擊測試,診斷軟件首先查找從局域網(wǎng)絡到達202.102.249.174的路由如下:
1
2 *** Request timed out.
3 2 ms 1 ms 1 mshn.kd.ny.adsl [125.42.110.1]
4
5
6
然后,軟件將根據(jù)算法,從最后一個節(jié)點開始診斷,發(fā)現(xiàn)直到hn.kd.ny.adsl時,1026端口的連接測試不能通過,從而確定,問題是因為hn.kd.ny.adsl設備禁止了1026端口。向局端工程師確認,并修改多媒體登錄系統(tǒng)的端口為其它端口(8080),可以登錄,問題解決。
5 后記
使用該算法的網(wǎng)絡測試儀產(chǎn)品已經(jīng)研制成功,該產(chǎn)品同時具備了ping、sniffer等更多的網(wǎng)絡功能,可以更好的替代網(wǎng)絡維護人員隨聲攜帶的筆記本電腦和其它設備,簡便地進行網(wǎng)絡故障的診斷。
參考文獻:
[1](美)科默(Comer,D.E.),林瑤,蔣慧,等,譯.用TCP/IP進行網(wǎng)際互聯(lián)(第1卷):原理、協(xié)議與結構.北京:電子工業(yè)出版社,2001,5.
[2](美)W.Richard Stevens,范建華,等,譯.TCP/IP詳解.北京:機械工業(yè)出版社,2000,4.
[3](美)DonnaL.Harrington,童小林,等,譯.CCNP實戰(zhàn)指南:故障排除.北京:人民郵電出版社,2003,12.
[4](美)史蒂文斯,(美)芬納,(美)魯?shù)婪?楊繼張,譯. UNIX網(wǎng)絡編程.北京:清華大學出版社,2006,1.
收稿日期:2008-03-10
icmp協(xié)議篇6
關鍵詞:木馬關鍵技術;動態(tài)嵌入技術;反向連接技術
中圖分類號:TP393.08 文獻標識碼:A文章編號:1007-9599 (2011) 10-0000-01
The Implementation of Trojan Key Technology
Wang Delei
(BeiJin LuHang Institute,Beijing101123,China)
Abstract:With the development of internet technology and the popularization of the global information technology has become a major trend.However,in recent years,hackers,technology continues to mature,network information security face a great challenge.This paper describes the dynamics of Trojans embedded technology,connectivity and reverse ICMP Trojan communications technology.
Keywords:Trojan key technology;Dynamic embedding;Reverse connection technology
一、引言
隨著計算機網(wǎng)絡和程序設計技術的普及和發(fā)展,木馬程序的編制技術也不斷地普及和發(fā)展,目前,世界上有20多萬個黑客網(wǎng)站在介紹一些攻擊方法和攻擊軟件的使用以及系統(tǒng)的漏洞。
二、木馬技術發(fā)展狀況
按其在不同階段使用的典型技術可分為以下幾代木馬:第一代,即簡單的密碼竊取、發(fā)送等,如“QQ密碼大盜”。第二代木馬在遠程控制技術上有了很大的進步,“冰河”是當時國內(nèi)木馬的典型代表之一。第三代木馬在數(shù)據(jù)傳遞技術上又做了不小的改進,出現(xiàn)了ICMP和反彈端口等類型的木馬,利用畸形報文傳遞數(shù)據(jù),增加了殺毒軟件查殺木馬的難度。比較典型的是“網(wǎng)絡神偷”。第四代木馬在進程隱藏方面,采用了內(nèi)核插入式的嵌入方式,利用遠程插入線程技術,嵌入DLL線程,或者掛接API,從而實現(xiàn)木馬程序的隱藏?,F(xiàn)在第五代木馬正在發(fā)展中,具有遠程DLL動態(tài)入侵、模塊化升級、智能化通信等新特點。
三、木馬關鍵技術的實現(xiàn)
(一)動態(tài)嵌入技術的實現(xiàn)。動態(tài)嵌入技術是指木馬采用遠程線程技術或HOOK技術注入其他進程的運行空間等方法導致殺毒軟件無法發(fā)現(xiàn)木馬的運行痕跡。(二)反向連接技術的實現(xiàn)。反向連接技術是指木馬為了克服服務端在某一端口上偵聽易被發(fā)現(xiàn)這一缺點,而采用服務端主動連接,客戶端偵聽的一種技術。這樣用一般的port scanner或者fport就發(fā)現(xiàn)不了服務端。這種反彈端口型木馬的典型例子是國產(chǎn)木馬“網(wǎng)絡神偷”。實現(xiàn)時主要的難點有兩個:一個是客戶端IP地址不能確定,服務端如何找到客戶端。另一個是服務端主動連接客戶端時防火墻也會報警。下面圍繞這兩點探討解決方法。1.解決IP地址問題。一種解決方法是客戶端通過一個有固定IP或者固定域名的第三方自己的IP,比如:事先約定好一個個人主頁的空間,放置一個文本文件,木馬固定多長時間去取一次這個文件,如果文件內(nèi)容為空就什么都不做,如果有內(nèi)容就按照文本文件中的數(shù)據(jù)計算出控制端的IP和端口,反彈一個TCP鏈接回去,這樣每次控制者上線只需要上傳一個文本文件就可以告訴木馬自己的位置。另一種方法是使用RAW socket來收聽ECHO REPLY類型的ICMP包且在ICMP數(shù)據(jù)包的數(shù)據(jù)中就包含了客戶端IP。或者是截獲其他進程收到的TCP數(shù)據(jù)或UDP包,然后分析截獲的數(shù)據(jù),從中確定是否客戶端發(fā)來了一個報告其IP的數(shù)據(jù)片斷。這種客戶端通過某種方法主動告訴服務端自己的IP和端口的方法可以保證最大的可靠性,安全性和靈活性。2.解決防火墻報警問題。一種方法是上面提到的動態(tài)嵌入技術,服務端將自己注入到一個可以合法的與外界進行網(wǎng)絡通訊的進程的地址空間中,然后就可以以一個新線程的形式運行。在新線程內(nèi)去主動連接客戶端,如果是寄生在IE內(nèi)就連接客戶端的80端口;如果是寄生在OICQ內(nèi),可以連接客戶端的8000端口。另一種方法是木馬服務端使用80端口,將傳送的數(shù)據(jù)包含在HTTP的報文中,就算是能夠分析報文、過濾TCP/UDP的防火墻,也不可能分辨出通過HTTP協(xié)議傳送的究竟是網(wǎng)頁還是控制命令和數(shù)據(jù)。
(三)ICMP木馬技術的實現(xiàn)。ICMP全稱是Internet Control Message Protocol(互聯(lián)網(wǎng)控制報文協(xié)議)它是IP協(xié)議的附屬協(xié)議,用來傳遞差錯報文以及其他的消息報文,例如工具Ping就是通過發(fā)送接收ICMP_ECHO和ICMP_ECHOREPLY報文來進行網(wǎng)絡診斷的。ICMP木馬技術的出現(xiàn)正是得到了Ping程序的啟發(fā),ICMP木馬技術利用ICMP報文由系統(tǒng)內(nèi)核或進程直接處理而不是通過端口的特點,將自己偽裝成一個Ping的進程,系統(tǒng)就會將ICMP_ECHOREPLY(Ping的回包)的監(jiān)聽、處理權交給木馬進程,木馬進程通過判斷包大小、ICMP_SEQ等特征,來確定是否是自己需要的數(shù)據(jù),一旦事先約定好的ICMP_ECHOREPLY包出現(xiàn),木馬就會接受、分析并從報文中解碼出命令和數(shù)據(jù)來執(zhí)行。另外一種辦法是修改ICMP頭的構造,加入木馬的控制字段。由于ICMP_ECHOREPLY包還有對于防火墻和網(wǎng)關的穿透能力,這種技術使得木馬擺脫了端口的限制,突破了防火墻對目標主機的保護。
四、結束語
綜上所述,隨著internet技術的發(fā)展和使用的普及,木馬技術也在不斷的成熟和普及,本文僅從一個側面加以討論,希望通過這一探討讓我們對木馬的關鍵技術有一個簡單的認識,同時也為我們防范他人利用木馬非法入侵提供參考。
參考文獻:
[1]張友生,米安然.計算機病毒與木馬程序的剖析[M].北京:科海電子出版社,2003
[2]周明全,呂林濤,李軍懷.網(wǎng)絡信息安全技術[M].西安:電子科技大學出版社,2003
[3]孫鋒.網(wǎng)絡安全與防黑技術[M].北京:機械工業(yè)出版社,2004
icmp協(xié)議篇7
【關鍵詞】 漏桶 攻擊 配置
一、引言
松原局s8016設備曾被病毒惡意攻擊過,經(jīng)過認真核實,訪問列表等都已經(jīng)設置了,但是CPU的占用率為100%,這顯然是不正常的現(xiàn)象,為了有效遏制病毒攻擊,我們及時與華為工程師溝通,采取了有效的措施及時地進行障礙診斷處理,對該設備的漏桶進行重新設置。因為通過漏桶上傳的報文一般都是與網(wǎng)關有交互,需要到MPU處理的協(xié)議報文或者ping網(wǎng)關及telnet、FTP等報文,根據(jù)實際情況,考慮配置以下漏桶,對丟棄頻繁的漏桶進行限流配置。
二、故障現(xiàn)象描述:
首先查看漏桶:
[8016]display system-bucket 1
****Token information****
#The slot number: 1 /*板號*/
#The token ID: 1 /*漏桶號*/
The time of the last packets arrive:36403113 /*上次報文到來的時間ms*/
The number of present tokens: 32716 /*當前剩余的令牌*/
The traffic rate of the token: 32K /*漏桶通道大小*/
The height of the token bucket:32768 /*漏桶深度*/
The number of the discarded packets: 0 /*丟棄報文數(shù)*/
三、障礙處理過程
根據(jù)網(wǎng)上設備運行經(jīng)驗:如果單板ARP數(shù)小于100個,則漏桶可以配置為2K;如果單板的ARP數(shù)小于500個,對于ARP攻擊建議將漏桶配置成4K;如果大于500個,建議漏桶配置值為8K。通過上述的配置,在一般情況或者攻擊很少的情況對正常業(yè)務影響不大。具體配置如下:
apply system-bucket 1 22 traffic-rate 4/*將1號板的22號漏桶ARP配置為4K*/每個漏桶的報文類型可以通過?命令查看“display system-bucket ?”
display system-bucket 7 ?
1 Default bucket,any packet not list here use this bucket
缺省類型,也就是表中沒有列出的其他類型報文都公用這一個桶
2 ARP Miss message,use it to form ARP entry
ARP MISS 消息(請求下一跳的ARP)
3 FIB Miss Message,use it to form host route entry
FIB MISS消息(掃描網(wǎng)段時經(jīng)常發(fā)生,上送觸發(fā)ARP請求)
4 PPP protocol control frame
PPP控制報文
5 Packet MFIB Miss ,use it to form (S,G) route
組播路由MISS后導致的上送消息
6 ARP response packet
回應S8016的ARP應答報文
8 ISIS protocol packet
ISIS報文
9 IP multicast packet which destIP address is 224.0.0.2(used by IGMP, LDP
etc)
224.0.0.2:所有組播路由器,應用的協(xié)議:IGMP、LDP
10 IP multicast packet which destIP address is 224.0.0.5(used by OSPF) 224.0.0.5:OSPF路由器
11 IP multicast packet which destIP address is 224.0.0.6(used by OSPF) 224.0.0.6:OSPF指定路由器
12 IP multicast packet which destIP address is 224.0.0.9(used by RIP2) 224.0.0.9:RIP2路由器
14 IP multicast packet which destIP address is 224.0.0.13(used by PIM)
15 Other IP multicast packet which destIP address is in
224.0.0.0-224.0.0.255(excluded.2 .5 .6 .9 .10 .13 .18)
其他組播報文應用不多,本參數(shù)應該可以滿足
16 HGMP protocol packet
HGMP報文上送
17 GVRP protocol packet
GVRP報文上送
19 BPDU protocol packet
BPDU報文上送
21 Packet length exceed MTU and DF flag is set,it is used by host to discover the MTU in the route
MTU超值且DF置位上送
22 ARP request packet send by all the host,use it to learning host route
ARP 請求報文,一般用戶發(fā)出或者下級設備發(fā)出
23 DHCP protocol packet
DHCP報文
24 Arp request packet witch destIP is in NAT pool
NAT地址池的ARP請求報文,應用很少
25 Register packet used in PIM SIM protocol
組播注冊報文
27 Packet which destIP is ip address of gateway, exclude ICMP and TCP
目的地址為網(wǎng)關的報文,不報括ICMP和TCP,通常為UDP報文等
28 ICMP request packet witch destIP is webswitch’s VIP
和CLPU板相關,應用很少
30 IP multicast packet which destIP address is 224.0.0.18(used by VRRP) VRRP組播報文,如果有VRRP配置時會有
31 ICMP packet which destIP is ip address of gateway, for example, ping packet
目的地址為網(wǎng)關的ICMP報文,典型的為ping
32 TCP packet which destIP is ip address of gateway, for example, FTP, BGP peer, LDP session
目的地址為網(wǎng)關的的TCP報文,如果沒有BGP和LDP,注意此漏桶的攻擊,默認帶寬較大,有256K
33 RIP1 protocol packet
RIP協(xié)議報文
A:想查看8016的CPU占用率,只需要在系統(tǒng)視圖下輸入display cpu命令。
四、故障總結
icmp協(xié)議篇8
摘要:該文介紹一個新的主動型的網(wǎng)絡安全系統(tǒng)-蜜罐。首先給出了蜜罐的定義和分類,然后詳細描述了一個網(wǎng)絡層次上的模擬計算機系統(tǒng)的虛擬蜜罐框架Honeyd,討論了Honeyd的原理、結構、特點、設計和實現(xiàn),并對它的功能作了全面的測試評估。關鍵字:蜜罐,交互性,個性,路由拓撲,模板1蜜罐(Honeypot)的介紹今天網(wǎng)絡安全問題正日益嚴重。黑客利用自動化的大規(guī)模的漏洞掃描工具,可以在發(fā)現(xiàn)漏洞后不久就使全球的計算機系統(tǒng)遭受破壞??墒墙?jīng)過數(shù)十年的研究和探索,我們?nèi)匀徊荒艽_保計算機系統(tǒng)的安全,甚至無法準確評估它們的安全性?,F(xiàn)在我們介紹一種新的網(wǎng)絡安全預警系統(tǒng):蜜罐(Honeypot)。蜜罐是指受到嚴密監(jiān)控的網(wǎng)絡誘騙系統(tǒng),它可以迷惑敵人,將攻擊從網(wǎng)絡中比較重要的機器上轉移開,對新攻擊發(fā)出預警,更重要的是可以引誘黑客攻擊而并對其攻擊的行為和過程進行深入的分析研究。將蜜罐和入侵檢測系統(tǒng)、防火墻等結合使用,可以有效提高系統(tǒng)安全性。Honeypot分為兩種類型:一種是低交互性蜜罐(Low-InteractionHoneypot),另一種是高交互性蜜罐(High-InteractionHoneypot)。低交互性蜜罐通常是運行于現(xiàn)有操作系統(tǒng)上的仿真服務,只允許少量的交互動作,黑客只能在仿真服務預設的范圍內(nèi)動作,它的優(yōu)點是結構簡單,部署容易,風險很低。高交互性蜜罐通常由真實的操作系統(tǒng)來構建,提供給黑客的是真實的系統(tǒng)和服務。采用這種方式可以獲得大量的有用信息,包括我們完全不了解的新的網(wǎng)絡攻擊方式。同時,它也帶來了更多的風險--黑客可能通過這個完全開放的真實系統(tǒng)去攻擊和滲透網(wǎng)絡中的其他機器。配置高交互性的物理的蜜罐成本很高,因為每個蜜罐是具有自已IP地址的真實機器,要有它自已的操作系統(tǒng)和相應硬件。而虛擬蜜罐是由一臺機器去模擬構造一個擁有的多個虛擬主機和虛擬服務的網(wǎng)絡。相對而言,虛擬蜜罐需要較少的計算機資源和維護費用。本文描述的Honeyd,就是一個在網(wǎng)絡層次上模擬計算機系統(tǒng)的虛擬蜜罐框架。2Honeyd的設計和實施Honeyd是一個輕型的開放源代碼的虛擬蜜罐的框架,可以模擬多個操作系統(tǒng)和網(wǎng)絡服務,支持IP協(xié)議族,創(chuàng)建任意拓撲結構的虛擬網(wǎng)絡。同時,為了模擬拓撲分散的網(wǎng)絡地址空間和共享負荷,該結構也支持網(wǎng)絡通道。圖1Honeyd的數(shù)據(jù)接收圖2Honeyd的結構2.1網(wǎng)絡數(shù)據(jù)的接收要使Honeyd可以對目的IP地址屬于虛擬蜜罐之一的網(wǎng)絡數(shù)據(jù)包正常的接受和回應,有如下方法:對指向Honeyd主機的虛擬IP地址創(chuàng)建特定路由、使用ARP及使用網(wǎng)絡通道。如圖1所示,假設10.0.0.1為我們路由器的IP地址,10.0.0.2為Honeyd主機的IP地址。10.0.0.11-14是Honeyd虛擬的蜜罐的IP地址。最簡單的情況是虛擬蜜罐的IP位于我們局域網(wǎng)內(nèi)。當從互聯(lián)網(wǎng)向蜜罐WindowsNT4.0發(fā)送一個包時,路由器首先查詢它的路由表由找到10.0.0.13的轉送地址,如果沒有配置專用的路由,路由器通過ARP請求確定虛擬蜜罐的MAC地址,因為沒有相應的物理機器ARP請求會不被響應,因此我們配置Honeyd主機用自己的MAC地址的對10.0.0.13的ARP請求做出反應,這樣通過ARP路由器就把發(fā)送蜜罐WindowsNT4.0的包轉到Honeyd主機的MAC地址。在復雜的情況下,我們也可以應用通用路由封裝(GRE)通道協(xié)議在網(wǎng)絡地址空間和hondyd主機間建立通道。2.2Honeyd結構Honeyd結構由幾部分構成:一個配置數(shù)據(jù)庫,一個中央包分配器,協(xié)議處理器,個性化引擎和隨機的路由組件,見圖2。Honeyd支持三種主要的互聯(lián)網(wǎng)協(xié)議:ICMP,TCP和UDP。輸入的包由中央包分配器處理,它首先檢測IP包的長度并驗證校驗,然后查詢配置數(shù)據(jù)庫找到與目的IP地址相對應的蜜罐配置,如果不存在專用的配置,則應用缺省模板。確定了配置后,數(shù)據(jù)包被傳送給相應的協(xié)議處理器。ICMP協(xié)議處理器支持大多數(shù)ICMP請求。缺省時,對ECHO請求做出反應并給出目的地址不可達的信息。對TCP和UDP來說,該結構能為任意的服務建立連接,服務是在STDIN上接受數(shù)據(jù)并把輸出發(fā)送到STDOUT的外部應用。Honeyd包含一個簡化的TCP狀態(tài)機,完全支持三次握手(Three-wayHandshake)的建立連接和通過FIN或RST撤消連接,但是接受器和擁塞窗口管理沒有完全實現(xiàn)。UDP數(shù)據(jù)報直接傳到應用,當收到一個發(fā)往封閉端口的UDP包的時候,默認發(fā)出一個ICMP端口不可達的信息。Honeyd結構也支持連接的重定向,重定向可以是靜態(tài)的或依賴于連接四元組(源地址,源端口,目的地址,目的端口)。重定向允許我們把虛擬蜜罐上的一個服務連接請求轉遞給一個在真正的服務器上運行的服務,例如,我們可以把DNS請求重指向一個域名服務器甚至可以把連接反傳給敵人。2.3個性化引擎(PersonalityEngine)黑客通常會運用象Xprobe或Nmap的指紋識別工具來收集目標系統(tǒng)的信息,為了迷惑敵人,Honeyd可以模擬給定操作系統(tǒng)的網(wǎng)絡堆棧行為,我們把這稱為虛擬蜜罐的個性(Personality)。個性化引擎使蜜罐的網(wǎng)絡堆棧按照個性設置來改變每個外出包的協(xié)議頭,以便與被配置的操作系統(tǒng)的特征相符。Honeyd結構應用Nmap指紋庫作為個性的TCP和UCP行為的參照,用Xprobe的指紋據(jù)庫作為個性的ICMP行為的參照。下面介紹怎樣應用Nmap提供的指紋信息來改變蜜罐的網(wǎng)絡堆棧特性。FingerprintWindowsNT4.0SP6ahotfixesTSeq(Class=RI%gcd=<6%SI=<40132&>290%IPID=BI|RPI%TS=U)T1(DF=Y%W=2017琄=S%Flags=AS%Ops=M)T2(Resp=Y
本文鏈接:http://m.edgebase.com.cn/v-141-3071.htmlicmp協(xié)議范文8篇
相關文章:
感謝閨蜜送的禮物的話10-18
班主任助理工作總結09-04
2024年公司安保一年工作總結 公司安保年終總結報告(8篇)08-09
法人委托書授權給法人本人07-16
晨練之友聚會主持詞11-09
團建活動通知07-20
假如我有特異功能小學想象作文07-23
2024年陜西考區(qū)醫(yī)師資格考試醫(yī)學綜合考試打印準考證須知(8月7日起)08-06
花詩歌語錄說說10-11
青春慢些走作文08-02