icmp協議范例6篇

前言:中文期刊網精心挑選了icmp協議范文供你參考和學習,希望我們的參考范文能激發你的文章創作靈感,歡迎閱讀。

icmp協議

icmp協議范文1

關鍵詞:DELPHI;icmp協議;監控

中圖分類號:TP311.11 文獻標識碼:A 文章編號:1007-9599 (2012) 17-0000-02

1 DELPHI簡介

Delphi,是Windows平臺下著名的快速應用程序開發工具(Rapid Application Development,簡稱RAD)。它的前身,即是DOS時代盛行一時的“BorlandTurbo Pascal”,最早的版本由美國Borland(寶蘭)公司于1995年開發。主創者為Anders Hejlsberg。經過數年的發展,此產品也轉移至Embarcadero公司旗下。Delphi是一個集成開發環境(IDE),使用的核心是由傳統Pascal語言發展而來的Object Pascal,以圖形用戶界面為開發環境,透過IDE、VCL工具與編譯器,配合連結數據庫的功能,構成一個以面向對象程序設計為中心的應用程序開發工具。

2 ICMP協議

2.1 ICMP簡介

ICMP是(Internet Control Message Protocol)Internet控制報文協議。它是TCP/IP協議族的一個子協議,用于在IP主機、路由器之間傳遞控制消息??刂葡⑹侵妇W絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸用戶數據,但是對于用戶數據的傳遞起著重要的作用。ICMP在網絡中的主要作用是:主機探測、路由維護、路由選擇、流量控制。Ping的過程實際上就是ICMP協議工作的過程。還有其他的網絡命令如跟蹤路由的Tracert命令也是基于ICMP協議的。Windows 2000提供的icmp.dll模塊,用于網絡ICMP請求。

2.2 ICMP報文

ICMP報文分為兩種,一是錯誤報告報文,二是查詢報文。每個ICMP報頭均包含類型、編碼和校驗和這三項內容,長度為8位,8位和16位,其余選項則隨ICMP的功能不同而不同。在網絡設備監測時主要用到是ICMP_ECHO和ICMP_ECHOREPLY,它們分別代表:請求回送和請求回應。

2.3 工作原理

簡單來ICMP的工作原理是使用一個ICMPECHO數據包來探測主機地址是否存活,通過簡單的發送一個ICMPECHO(Type 8)數據包到目標主機,如果ICMPECHOReply(ICMPtype0)數據包接受到,說明主機是存活狀態。如果沒有就可以初步判斷主機沒有在線或者使用了某些過濾設備過濾了ICMP的REPLY。這種機制就是我們通常所用的ping命令來檢測目標主機是否可以ping到?;厮拖⒌脑吹刂肥腔厮晚憫⒌哪康牡刂贰H粢纬梢粋€回送響應消息,應該將源和目的地址交換,將類型代碼更改為0,重新計算機校驗碼。

下面結合一個編程語言對實現過程做一個詳解。

3 實現方式

3.1 創建PING操作的一個類

為了調用方便,首先創建一個類,供程序中使用。源代碼如下:

constructor Tping.create;

begin

inherited create;

hICMPdll := LoadLibrary('icmp.dll');

@ICMPCreateFile := GetProcAddress(hICMPdll, 'IcmpCreateFile');

@IcmpCloseHandle := GetProcAddress(hICMPdll,'IcmpCloseHandle');

@IcmpSendEcho := GetProcAddress(hICMPdll, 'IcmpSendEcho');

hICMP := IcmpCreateFile;

end;

3.2 主機活動判斷

用IcmpSendEcho函數包含ICMP.DLL中,它是用于Internet控制報文協議測試的,可以直觀地測試本地計算機的網絡速度。利用這個函數,可以判斷主機是否活動。它包含主機IP,數據包大小、延遲時間等8個參數。如果有返回值,返回值表示收到的回復的個數。如果為0表示沒有回復,主機無法到達。通過IcmpSendEcho函數進行主機活動的判斷。

3.3 主程序的實現

在主程序中放置一個Timer控件,設置掃描時間為10分鐘。定義一個ttPing : TPing 變量,并進行初始化。在OnTimer事件中,加入ping操作的代碼,根據返回值,顯示該主機是否在線,當出現異常時,通過文字和聲音進行提示。實現對網絡及關鍵主機的監控。程序代碼如下:

ttPing := tPing.create;

try

tStr := '';

ttPing.pinghost(tPingTask.Strings[1],tStr);

if pos('Can not find host',tStr) = 0 then

begin

AddMsg(self.CurentTaskLog,'正常');

end

else

begin

addmsg(self.TaskLog,tPingTask.Strings[0]+ tPingTask.Strings[1]+'出現異常,請查找原因');

Windows.Beep(480, 20000);

end

finally

tPingTask.Free;

ttPing.Free;

end;

3.4 廣域網監控實現

以上程序可以實現對局域網內設備進行監控。但要監控外網地址入口就需要增加路由來實現。Windows下添加路由命令為“Route add 目的IP段 mask 子網掩碼 路由器IP”,將外網入口地址加到Windows路由表中,通過以上程序就可直接針對外網地址進行PING測試,實現廣域網的監控。

4 結束語

本文結合DELPHI編程工具,對icmp.dll實現PING功能做了說明。這只是簡單的應用,通過深入開發,可以方便的實現局域網設備、關鍵主機、廣域網入口等設備的監控,以最大程度地減少人工勞動強度,提高工作效率,提高自動化程度,為設備正常、高效的運轉奠定良好的基礎。

參考文獻:

[1]杜新華,杜力耘,張蓓蓓.基于ICMP的Ping軟件實現[J].上海交通大學學報,1997,05.

[2]黃躍青,崔智慧,崔炳儉等.MAS系統的二次開發[J].氣象與環境科學,2010,33(B09),201-202.

[3]王新剛,柴喬林,李琳.基于Windows的綜合網絡性能監測系統[J].計算機應用研究,2002,10.

icmp協議范文2

關鍵詞:Wireshark;Omnipeek;TCP/IP協議

中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2016)35-0050-02

The Application of Network Packet Capture Software in Computer Network Technology in Teaching

WAMG Hai-yan

(Jiangxi Province Industry of Electronic and Information Engineering Career Technical College, Nanchang 330095, China)

Abstract:To analyze the network protocol with the wireshark software in CNT course, the students could be have a visual understanding fordata network transmission process. The students can through the rote memorization learning method to learn the abstract and complicated network protocol knowledge. In practical pplication of teaching, students'study interests was obvious increased by learning with the wireshark software, it lays a good foundation for students' further study such

as network programming, network equipment debugging and other professional knowledges.

Key words: wireshark;omnipeek;TCP/IP protocol

隨著“互聯網+”時代的到來,網絡技術成為我們生活、工作、學習中不可缺少的重要部分,這對我國職業院校“計算機網絡技術”課程教學提出了更高的要求。在以往課程中,協議理論部分的教學一直是教學中的一個難點,因為傳統的計算機網絡教材中對各協議層都是純理論的描述,對于此類看不見又摸不著的內容,學生理解非常的抽象,實在不行只能通過死記硬背的方式將各層的功能強行記下來,但到實踐應用的時候又不能把理論聯系上。所以在教材的組織上,把協議部分壓縮了,另外加入如網絡軟件的使用等其他不重要的內容來充實教材內容。筆者認為,如果在“計算機網絡技術”課程中,沒有對基礎網絡協議有一個清晰的認識,對計算機后續的課程學習是非常不利的,也喪失了“計算機網絡技術”這門課的教學意義。以下簡單列舉兩個例子:1計算機軟件開發課程中,沒有網絡協議的知識基礎,影響學生在SOCKET編程的部分學習,SOCKET涉及W絡層與傳輸層的協議。2計算機網絡互聯課程中,對協議掌握的深淺,更是直接影響學生對交換機與路由器運行原理的學習進度。

為了解決以上提出的問題,需要對教學內容進行有效的改革。在制定教學內容時,應該以TCP/IP網絡協議模型簇為中心,對常見的協議內容與專業名詞(如:IP地址、廣播地址、虛擬局域網、路由協議等)講解要做到講清、講透,但是如果依然采用前面的純理論的講解的方式,嚴重影響了教學效果。經過反復細致的研究,加之與同行之間的研討。決定將抓包軟件(Wireshark、Omnipeek)融入到教學中來。

Wireshark(前身叫Ethereal),在網絡抓包軟件當中,是目前使用率最高的協議分析軟件,它主要的功能就是可以從網絡適配器驅動層,對網絡數據進行捕獲,其中“捕獲過濾器”與“顯示過濾器”,能很容易在大量的數據捕獲數據中找出自己所需要的相關數據,它有多平臺版本(Windows、Linux),最新的有2.X版本可供下載使用。在高職教學中,我們一般采用WINDOWS 7操作系統,下面,我們可以從實例教學知識點來說明一下軟件對教學的輔助作用。

ICMP網際協議:ICMP全稱(Internet Control Message Protocol),主要用于確認IP數據包是否成功送達目標地址,并通知在發送過程中IP數據包被丟棄的原因,改善網絡設置等。有了這些功能,就可以獲得網絡通信是否正常、設置是否有誤以及設備有何異常等信息,方便對網絡出現問題的分析。協議的工作過程如圖1所示。

中我們分析得出:首先,從地址上分析(包括MAC地址與IP地址),源MAC變為(00:12:80:4B:C0:7F),目標MAC變為(00:16:D4:B8:59:B1),源IP變為(192.168.100.1),目標變為(192.168.100.138),與前面的ICMP查詢報文比較得出,數據報由主機B發出,在ICMP數據部分變化的主要是(Type:0,ICMP Code:0),按照協議的要求,就正是ICMP應答包的協議規定數據。

經過對上面一個教學實例的分析描述,利用Wireshark抓包,使用Omnipeek對一個ICMP包進行分析,在上述圖中可以清晰地看出以太網鏈路層與IP數據報也就是網絡層數據及ICMP協議以IP數據報的形式在網絡上傳輸的過程。在抓包軟件的有力幫助下,我們可以非常直觀的觀察協議數據的結構方式,傳輸方向,了解ICMP協議工作的原理。

實踐證明,在網絡協議教學過程中,我們通過合理的使用數據包捕獲軟件,將其良好的融入到我們的教學內容當中,能讓教學內容形象的表示出來。新的教學內容與教學方式讓學生在學習的過程中更加容易理解復雜抽象的網絡協議結構,學生在學習網絡協議的興趣明顯提高了,對“計算機網絡技術”的課程教學起到了較大的幫助。

參考文獻:

icmp協議范文3

關鍵詞:Windows 2000/XP;網絡管理;工具命令

中圖分類號: TP393.08 文獻標識碼:A 文章編號:1673-8500(2013)03-0089-01

使用操作系統提供的網絡命令可以解決絕大部分網絡運行的問題,了解網絡運行的狀況。這里主要介紹Windows2000的網絡工具命令。在Windows2000的“運行”對話框中輸入命令“cmd”,既可打開命令窗口,使用工具命令。

1. Windows2000的網絡工具命令

當ping目標主機使用域名或主機地址時,首先會返回目標主機的IP地址:

C:\WINDOWS>ping

Pinging [162.105.129.12] with 32 bytes of data:

…………

Reply from 162.105.129.12: bytes=32 time=27ms TTL=244說明數據包的大小、從目標主機返回的時間、返回時的TTL值。

2.TTL:生存時間

指定數據報被路由器丟棄之前允許通過的網段數量。

TTL 是由發送主機設置的,以防止數據包不斷在 IP 互聯網絡上永不終止地循環。轉發 IP 數據包時,要求路由器至少將 TTL 減小 1。

使用PING時涉及到的 ICMP 報文類型。一個為ICMP請求回顯(ICMP Echo Request);一個為ICMP回顯應答(ICMP Echo Reply)

TTL 字段值可以幫助我們識別操作系統類型。

UNIX 及類 UNIX 操作系統 ICMP 回顯應答的 TTL 字段值為 255

Compaq Tru64 5.0 ICMP 回顯應答的 TTL 字段值為 64

微軟 Windows NT/2K操作系統 ICMP 回顯應答的 TTL 字段值為 128

微軟 Windows 95 操作系統 ICMP 回顯應答的 TTL 字段值為 32

當然,返回的TTL值是相同的,但有些情況下有所特殊:

LINUX Kernel 2.2.x & 2.4.x ICMP 回顯應答的 TTL 字段值為 64

FreeBSD 4.1, 4.0, 3.4;

Sun Solaris 2.5.1, 2.6, 2.7, 2.8;

OpenBSD 2.6, 2.7,

NetBSD

HP UX 10.20

ICMP 回顯應答的 TTL 字段值為 255

Windows 95/98/98SE

Windows ME

ICMP 回顯應答的 TTL 字段值為 32

Windows NT4 WRKS

Windows NT4 Server

Windows 2000

ICMP 回顯應答的 TTL 字段值為 128

這樣,我們就可以通過這種方法來辨別操作系統。

3. tracert

tracert通過向目標主機發送不同TTL值的數據包,跟蹤從本地計算機到目標主機之間的路由,顯示所經過的網關的IP地址和主機名。命令格式為:

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] 目標主機

tracert可以檢測某個主機不能連通時,在路由哪個環節出現了問題。

(1)netstat

netstat命令的功能是顯示網絡連接、路由表和網絡端口信息,可以讓用戶得知目前都有哪些網絡連接正在運作。檢查系統是否有非法連接以及利用系統漏洞的病

4.毒或木馬程序時,經常使用此命令。該命令的一般格式為:

netstat [選項]

-p proto 顯示TCP協議的連接情況。

(1)ipconfig和winipcfg

(2)ipconfig

ipconfig可以查看和修改網絡中的TCP/IP協議的有關配置,如IP地址、子卡掩碼、網關、網卡的MAC地址等。命令格式是

ipconfig [參數1] [參數2]……

5.常用參數:

1.all:顯示與TCP/IP協議的細節,如主機名,節點類型,網卡的物理地址,默認網關等。

Batch [文本文件名]:將測試的結果存入指定的文本文件名中。

2.winipcfg

winipcfg的功能和ipconfig基本相同,使用Windows

對話框顯示TCP/IP配置情況。

6. nslookup的網絡工具命令

nslookup命令的功能是查詢一臺機器的IP地址和其對應的域名。此命令需要在本機設置正確的域名服務器來提供域名服務。

命令的一般格式為:nslookup [IP地址/域名]

1. finger

finger命令的功能是查詢用戶的信息,通常會顯示系統中某個用戶的用戶名、主目錄、停滯時間、登錄時間、登錄shell等信息。如果要查詢遠程機上的用戶信息,

8.finger守護進程。

需要在用戶名后面接“@主機名”,采用[用戶名@主機名]的格式,不過要查詢的網絡主機需要運行finger守護進程。

命令的一般格式為: finger [-l] [user] [@host]

1.arp

arp命令可以顯示和修改“地址解析協議”(ARP) 所使用的到以太網的IP 或令牌環物理地址翻譯表。該命令只有在安裝了 TCP/IP 協議之后才可用。

命令的一般格式為:

arp -a [inet_addr] [-N [if_addr]

arp -d inet_addr [if_addr]

arp -s inet_addr ether_addr [if_addr]

icmp協議范文4

關鍵詞:簡單網絡管理協議(SNMP );網絡拓撲自動發現算法

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2007)15-30661-02

Study on Arithmetic on Finding Network's Topological Structure

YE Shun-fu

(Zhangzhou City Employment Center,Zhangzhou 363000,China)

Abstract:The original arithmetic is based on SNMP,which is fine in finding network's main topological structure, but not well in getting a full one of a subnet.So,a way based on ICMP is putted forward to solve this problem for achieving the full one.

Key words:SNMP(Simple Network Management System);Arithmetic on auto-finding network's topological structure

隨著計算機網絡的普及,人們對計算機網絡的依賴性大大加強了。在現有的技術條件下,人們希望有一個更加穩定可靠的網絡環境。計算機網絡管理系統就是應這樣的需求而產生的。它對網絡上的各種設備進行管理,通過監視和控制這些設備,及時地向管理人員報告網絡狀態,并且簡化網絡故障的處理,減少故障造成的損失,提高網絡的服務質量和效率。在我國,人們開始認識到網絡管理的重要性。

國外在網絡管理這一領域起步較早,取得了一些成果。在學術界,IEEE通信學會下屬的網絡營運與管理專業委員會(CNOM , Committee of Network Operation and Management),從1988年起每兩年舉辦一次網絡營運與管理專題討論會。國際信息聯合會(1FIP)也從1989年開始每兩年舉辦一屆綜合網絡管理專題討論會。以及OSI網絡管理論壇(OSI/NM FORUM ),專門討論網絡管理的有關問題[1]。近年來,也有一些廠商和組織開始推出自己的網絡管理解決方案[2]。比較有影響的有:網絡管理論壇的OMNIPoint和開放軟件基金會(OSF)的DME(Distributed Management Environment)[3]。本文詳細介紹系統網絡拓撲自動發現算法的實現。

1 拓撲發現算法的相關理論

1.1路由選擇算法

網絡拓撲的發現,實際上就是根據網絡上節點連接情況,構造出來一個反應這種連接關系的圖。網絡節點可以是網關,也可以是子網:網關節點是與子網和其它網關節點相鄰的節點;子網節點可被認為只與網關節點相鄰,至少與它的缺省網關相鄰。

各子網通過各目的網關與其他子網通信,這些子網可以是一個局域網,也可以是某個局域網的一部分,它們都連接到網關的一個端口上,網關的端口可以連接子網,也可以同其他路由器相連。當子網的某一機器發送數據時,數據包首先到達子網的缺省網關,缺省網關檢測數據包中的目的地址,根據其路由確定該日的地址是否在與自己相連的子網中,如果是,則把數據包直接發往目的地,否則轉發給路由表中規定的下一個網關。這樣,下一個網關再進行類似處理,依次類推,數據包將最終到達目的地。

1.2圖論中的遍歷算法

遍歷的定義是:對于無向圖,以圖中某一點為出發點,沿著邊依次訪問圖的其余節點,如果圖是連通的,則從圖的任一點出發按一定的順序沿著某些邊可以訪問圖中的所有節點,而且每個節點僅被訪問一次,這一過程稱為圖的遍歷。

在網絡上,一個節點可以和很多的節點連接,所以當進行網絡拓撲結構發現的時候,有可能會訪問己經被發現過的節點。因此,在遍歷的時候,必須對每一個節點設置一個標志。當節點未被訪問過時,相應的標志為0,否則,就置為1。

2 拓撲發現算法的設計與實現

2.1主拓撲的發現

主拓撲指的是反映出關鍵設備包括路由器,它們的接口和子網的連接關系,即路由器-路由器、路由器-子網、接口的關系。這些信息需要對網絡進行搜索而獲得:一般只需要對連接設備進行遍歷就可以得到主拓撲結構。當前的網管軟件都是通過對網絡設備的MIB庫進行訪問,所以這種方法又被稱為基于SNMP的拓撲發現。

2.2子網發現

經過上述的遍歷過程,可以得到網絡拓拓撲圖的整體構成,知道了網絡主干通道情況。但是子網內部的具體設備以及連接狀態尚不可知。這就需要依靠子網發現來做進一步的工作。子網發現完成的任務是確定子網內各網絡設備的狀態、類型以及網絡接口。

3 改進的拓撲算法

前面基于SNMP的拓撲算法在一定程度上是非常有效的,拓撲的速度也非??臁5嬖谝粋€缺陷。那就是,在一個特定的域中,所有的子網的信息都依賴于設備具有SNMP的特性,如果系統不支持SNMP,則這種方法就無能為力了。還有對網絡管理的不重視,或者考慮到安全方面的原因,人們往往把網絡設備的SNMP功能關閉,這樣就難于取得設備的MIB值,就出現了拓撲的不完整性,嚴重影響了網絡管理系統的功能。針對這一的問題,下面討論本文對上述算法的改進-基于ICMP協議的拓撲發現。

3.1 ICMP報文的格式

ICMP被認為是IP層的一個組成部分。它傳遞差錯報文以及其他需要注意的信息。網際協議CIP)沒有出錯報告或出錯校正機制,它依靠網際控制報文協議〔ICMP)模塊來報告數據處理過程,井提供管理和狀態信息。ICMP報文在傳送時被封裝在IP數據報中,使用IP協議發送,但ICMP不看作是高層協議的內容。ICMP報文的格式如圖1。

圖1 ICMP報文的格式

類型區:定義報文類型;

代碼區:描述錯誤類型或狀態信息;

校驗和區:計算ICMP報文16位校驗和;

利用ICMP進行網絡拓撲圖的發現,需要利用其中的響應請求與應答報文。其報文格式如圖2所示,回應請求/應答被用于測試信宿機的可到達性或連通性。請求者(某機器)向特定信宿機發送一個回應請求,其中包含一個任選的數據區;信宿機發回響應的回應應答,其中包含一個請求中的任選數據區的拷貝。圖2所示的“標識符”和“序號”用于匹配請求與應答(同一機器可以同時向若干信宿機發出請求)。

圖2 回應請求(類型8)/應答(類型0)報文格式

回應請求與應答均以IP數據報的形式在網間傳輸,假如成功地收到一個應答(應答中的數據拷貝與請求中的任選數據完全一致),不但說明信宿機可以到達,而且說明數據報傳輸系統的相應部分工作正常,至少信源機和信宿機的ICMP軟件和IP軟件工作正常,請求與應答經過中間網關也在正常工作。在許多TCP/IP實現中,用戶命令Ping便是利用ICMP回應請求/應答報文測試信宿機的可到達性的。

3.2 PING的實現

PING的主要操作是發送報文,并簡單地等待回答。PING之所以如此命名,是因為它是一個簡單的回顯協議,使用ICMP響應請求與響應應答報文。PING主要由系統程序員用于診斷和調試。一般的,PING的功能有:

LOOP BACK PING用于驗證TCP/IP軟件的操作。

PIN G地址確定能否尋址物理網絡設備。

PING遠程IP地址驗證能否尋址網絡。

PING遠程主機名驗證主機上某個服務器的操作。

實現PING的過程主要是:首先向目的機器發送一個響應請求的ICMP報文,然后等待目的機器的應答,直到超時。如收到應答報文,貝以報告目的機器運行正常,程序退出。

3.3 traceroute的實現

traceroute的實現與IP數據報文的報頭有關。IP頭的結構如下:

struct ip{

char ip_ verlen; //IP version&header length

char ip_ tos; //type of service

short ip_len; //total packet length(in octets)

short ip_ id;//datagram id

short ip_fragoff //fragment offset

char ip_t1;//time to live, in gateway hops

char ip_proto//IP protocol

short ip_chksum//header checksum

Ipaddr ip_src//IP address of source

Ipaddr ip_dst//IP address of destination

char ip_data//variable length data

}

在IP頭的結構中,存在一個ip_ttl域,即生存時間(time to_ live,TTL ). TTL參數用于測量數據報在網際存在多長時間。網絡中的每個路由器都檢查該域,如果TTL值為0,路由器就拋棄該數據報。路由器還必須對它處理的每個數據報的該域進行減I操作。在實際執行中,TTL域是一個反映跳段的值。所以,當數據報穿過一個IP節點(網關)時,TTL域中的值就減1。

traceroute的功能就是利用IP頭中的TTL域。開始時信源設置IP頭的TTL值為0,發送報文給信宿,第一個網關收到此報文后,發現TTL值為0,它丟棄此報文,并發送一個類型為超時的ICMP報文給信源。信源接收到此報文后對它進行解析,這樣就得到了路由中的第一個網關地址。然后信源發送TTL值為1的報文給信宿,第一個網關把它的TTL值減為0后轉發給第二個網關,第二個網關發現報文TTL值為0,丟棄此報文并向信源發送超時ICMP報文。這樣就得到了路由中和第二個網關地址。如此循環下去,直到報文正確到達信宿,這樣就得到了通往信宿的路由。

3.4網絡拓撲的發現算法

具體實現的步驟:

(1)于給定的IP區間,利用PING依次檢測每個IP地址,將檢測到的IP地址記錄到IP地址表中。

(2)對第一步中查到的每個IP地址進行traceroute操作,記錄到這些IP地址的路由。并把每條路由中的網關地址也加到IP表中。

(3)對IP地址表中的每個IP地址,通過發送掩碼請求報文與接收掩碼應答報文,找到這些IP地址的子網掩碼。

(4)根據子網掩碼,確定對應每個IP地址的子網地址,并確定各個子網的網絡類型。把查到的各個子網加入地址表中。

(5)試圖得到與IP地址表中每個IP地址對應的域名(Domain Name),如具有相同域名,則說明同一個網絡設備具有多個IP地址,即具有多個網絡接口。

(6)根據第二步中的路由與第四步中得到的子網,產生連接情況表。

4 結論

本文主要論述了網管系統中一個重要的功能網絡拓撲的自動發現。闡述了相關的理論知識,并具體討論了基于SNMP和基于ICMP的拓撲發現,最后對算法所適用范圍加以說明。雖然這種方法能夠較好的發現網絡拓撲,但是它需要占用大量的帶寬資源。

參考文獻:

[1]Breibart Y,et al.Topology Discovery in Heterogeneous IP Networks[C].Tel Avivl Israel Proceeding of INFOCOM 2000.

[2]Clarke,Freenet A Distributed Anonymous Information Storage and Retrieval System [C].Workshop on Design Issues in Anonym ity and Unobservability, 2000 25-31.

icmp協議范文5

關鍵詞:TCP/IP; 網絡安全; 協議分析

1.TCP/IP數據鏈路層安全性缺陷

在TCP/IP協議棧中,數據鏈路層位于網絡層底下,網絡層的包拆封成不同的數據幀。數據鏈路層上的常見攻擊方式是嗅探(sniff),嗅探是在共享的網絡信道上,利用網絡接口卡接收不屬于自己的數據包。廣泛應用的以太網、共享信道的媒體訪問協議CSMA/CD、廣播機制等構成了嗅探的物理基礎。

攻擊者可能從數據中分析出帳戶、口令等關鍵數據。同時嗅探也是其他攻擊(如IP欺騙、拒絕服務攻擊)的基礎。嗅探使用的包捕獲技術依賴于具體的操作系統,其中比較流行的是UNIX平臺上的BPF技術,在通常情況下,網卡驅動程序從網絡上接收一個數據包,然后提交給系統協議棧。如果有BPF偵聽網絡,則驅動程序會先調用BPF,復制一個包給BPF的過濾器,過濾器根據用戶規則決定是否接收此數據包,并判斷此包是否是發給本機的。如果是,則提交給協議棧,然后返回。否則,驅動程序從中斷中返回,繼續接收數據包。

2.TCP/IP無線鏈路性能缺陷

無線鏈路的特點是易受干擾、多徑衰減的影響。信道通信行為會隨時間和地理位置而變化,鏈路層差錯控制對包一級QOS的影響也會隨時間變化。因此為固定網絡開發的TCP無法很好地應用于移動通信和衛星等無線鏈路中,這是因為TCP/IP缺乏網絡自適應性。

在有線網絡中,流量控制和資源分配策略均基于底層的物理媒質是高度可靠的這一假定,但這對無線網不成立。在無線網上進行TCP傳輸TCP認為包的丟失是由擁塞引起的,而實際上包丟失可能是由于信道錯誤引起的包丟棄或網絡延時而引發的,這將導致超時并啟動擁塞控制算法,顯然不必要。

同時在無線通信中還有一個問題:當主機不斷移動時,它可能離開其IP地址標識的那個區域,從而無法連接到網絡中。解決主機移動性問題的基本難題是主機的IP地址有雙重意義,它既是對主機的惟一標識,又指示它所在位置。而移動主機的位置要經常變化,這意味著IP地址也應改變,這是TCP/IP無法解決的問題。

3.網絡層與傳輸層性能缺陷

實現TCP的可靠傳輸需要三次握手,導致報文段在網絡傳輸中遇到不利情況的概率增加:當第三次握手時,如果出現網絡問題使主機A的一個報文段無法到達主機B,則主機B不會認為建立連接,而主機A認為連接已經建立,并開始發送數據,浪費了A的網絡資源;同樣如果一個報文段在某些結點延時過長才能到達主機B,在此之前主機B也不會認為連接建立,而主機A確會認為連接已經建立開始發送數據,從而也會浪費了A的網絡資源。

所以無論是何種網絡或則無論網絡狀況是否良好,進行三次握手都會比進行兩次握手多出部分時延。

4.網絡層與傳輸層安全性缺陷

網絡安全中安全問題突出的部分,常發上在這兩層上,以下為常見的安全問題與對策:

1.IP劫持(傳輸層)

當用戶連接遠程機器時,攻擊者接管用戶的連接,使正常連接與經過攻擊者中轉一樣,客戶和服務器都認為他們在互相通信,攻擊者便能對連接交換的數據進行修改,冒充客戶給服務器發送非法命令,或給用戶發回虛假信息。

2.ICMP隧道(網絡層)

幾乎所有的基于TCP/IP的機器都會對ICMP echo請求進行響應。所以如果一個敵意主機同時運行很多個PING命令向一個服務器發送超過其處理能力的請求時,就可以淹沒該服務器使其拒絕其它服務,而PING命令用的就是ICMP協議,ICMP的請求和應答可用來檢驗目的機是否可達。由于ICMP有一個可選的數據域,而很多防火墻都允許PING命令通過,這就可能形成一條秘密的信息通道,這種通道稱為ICMP隧道。

3.ARP欺騙(網絡層)

ARP協議用來進行IP地址和網絡物理地址之間的轉換。主機用ARP Cache來緩存已經得到的映射關系,并在一定時間后作廢Cache的內容。ARP協議的一個重要特性是信任,ARP基于一種思想,認為所有機器都相互協作,而且任何響應都是合法的。主機保存了通過ARP得到的映射,卻不考慮它們的有效性,也不維護一致性。因此,當ARP表把幾個IP地址映射到同一個物理地址時,不違反協議規范。這個特性對于在網絡中使用ARP技術是很重要的。但是一臺機器可冒名頂替另一臺機器以截獲分組。攻擊者可以利用暫時沒有使用主機的IP地址,偽造IP地址和物理地址之間的映射,欺騙用戶向虛假的物理地址發送報文。

4.使用SYN報文段淹沒服務器

使用SYN報文段淹沒服務器。利用TCP建立連接3的步驟的缺點和服務器端口允許的連接數量的限制, 竊取不可達IP地址作為源地址, 使得服務器端得不到而使連接處于半開狀態, 從而阻止服務器響應別的連接請求。盡管半開的連接會因過期

而關閉, 但只要攻擊系統發送的spoofed SYN請求的速度比過期的快就可達到攻擊的目的。

icmp協議范文6

“拒絕服務”是如何攻擊的通過普通的網絡連線,使用者傳送信息要求服務器予以確定。服務器于是回復用戶。用戶被確定后,就可登入服務器。 “拒絕服務”的攻擊方式為:用戶傳送眾多要求確認的信息到服務器,使服務器里充斥著這種無用的信息。所有的信息都有需回復的虛假地址,以至于當服務器試圖回傳時,卻無法找到用戶。服務器于是暫時等候,有時超過一分鐘,然后再切斷連接。服務器切斷連接時,黑客再度傳送新一批需要確認的信息,這個過程周而復始,最終導致服務器無法動彈,癱瘓在地。

在這些 DoS 攻擊方法中,又可以分為下列幾種:

一、TCP Syn Flooding

由于TCP協議連接三次握手的需要,在每個TCP建立連接時,都要發送一個帶SYN標記的數據包,如果在服務器端發送應答包后,客戶端不發出確認,服務器會等待到數據超時,如果大量的帶SYN標記的數據包發到服務器端后都沒有應答,會使服務器端的TCP資源迅速枯竭,導致正常的連接不能進入,甚至會導致服務器的系統崩潰。這就是TCP

SYN Flooding攻擊的過程。

圖1 TCP Syn攻擊

TCP Syn 攻擊是由受控制的大量客戶發出 TCP 請求但不作回復,使服務器資源被占用,再也無法正常為用戶服務。服務器要等待超時(Time

Out)才能斷開已分配的資源。

二、Smurf

黑客采用 ICMP(Internet Control Message Protocol RFC792)技術進行攻擊。常用的ICMP有 PING 。首先黑客找出網絡上有哪些路由器會回應 ICMP 請求。然后用一個虛假的 IP 源地址向路由器的廣播地址發出訊息,路由器會把這訊息廣播到網絡上所連接的每一臺設備。這些設備又馬上回應,這樣會產生大量訊息流量,從而占用所有設備的資源及網絡帶寬,而回應的地址就是受攻擊的目標。例如用500K bit/sec 流量的 ICMP echo (PING)包廣播到100 臺設備,產生 100 個 PING 回應,便產生 50M bit/sec流量。這些流量流向被攻擊的服務器,便會使這服務器癱瘓。

ICMP Smurf 的襲擊加深了ICMP的泛濫程度,導致了在一個數據包產生成千的ICMP數據包發送到一個根本不需要它們的主機中去,傳輸多重信息包的服務器用作Smurf 的放大器。

圖2 Smurf 攻擊圖

三、Fraggle:Fraggle

基本概念及做法像 Smurf, 但它是采用UDP echo 訊息。

如何阻擋“拒絕服務”的攻擊

阻擋“拒絕服務”的攻擊的常用方法之一是:在網絡上建立一個過濾器(filter)或偵測器(sniffer),在信息到達網站服務器之前阻擋信息。過濾器會偵察可疑的攻擊行動。如果某種可疑行動經常出現,過濾器能接受指示,阻擋包含那種信息,讓網站服務器的對外連接線路保持暢通。

DDoS:

DDoS(Distributed Denial of Service)其中文含義為分布式拒絕服務攻擊。

Distributed DoS 是黑客控制一些數量的PC 機或路由器,用這些 PC 機或路由器發動 DoS 攻擊。因為黑客自己的 PC 機可能不足夠產生出大量的訊息,使遭受攻擊的網絡服務器處理能力全部被占用。

黑客采用 IP Spoofing 技術,令他自己的 IP 地址隱藏,所以很難追查。如果是在 Distributed DoS 情況下,被追查出來的都是被黑客控制的用戶的 IP 地址;他們本身也是受害者。

黑客一般采用一些遠程控制軟件,好像Trinoo, Tribal Flood Network, Stacheldraht 及其他DoS 程序。美國政府資助的CERT (Computer Emergency Response Team) 及 FBI都有免費軟件如 find_dosv31,給企業檢查自己的網絡有沒有被黑客安裝這些遠程控制軟件。但黑客亦同時在修改軟件以逃避這些檢查軟件。這是一場持久的網上戰爭。

圖3 黑客圖

亚洲精品一二三区-久久