etherpeek nx在网络维护中的应用
摘要:該文分析了etherpeek nx的工作原理,主要利用etherpeek nx的數據包截取和分析功能來對netrobocop(網絡執法官)數據包的分析,了解局域網和netrobocop的基本原理,從而更好地維護網絡的安全和暢通。
關鍵字:etherpeek nx ,netrobocop ,arp欺騙
一、前言
隨著計算機網絡技術的發展,特別是internet的廣泛使用,網絡也被各行各業所廣泛應用絡的使用給人們的日常工作和生活帶來了很大的好處,然后網絡的結構越來越復雜,規模越來越大,另外在網絡上也存在著各種網絡不安全的因素存在,對于這樣的情況,網絡管理人員必定要借助各種網絡分析工具來實現網絡的管理和維護。其中網絡監聽在協助網絡管理員監測網絡傳輸數據,排除網絡故障等方面具有不可替代的作用,因而一直倍受網絡管理員的青睞。
二、etherpeek nx簡介
網絡監聽也就是我們經常聽到的網絡嗅探(sniffer),它是利用計算機的網絡接口截獲目的地為其他計算機的數據報文的一種工具。sniffer的工具有很多,其中wildpackets 公司的etherpeek nx是比較常用也是功能比較強的一種。在2003年度的cmp media"s network magazine上wildpackets公司的etherpeek nx v2.0和rmongrabber被評為最佳產品。
etherpeek nx軟件評估及分析整個osi七層的架構。解析每個封包及即時的監視網路的各種狀態,包含各個網絡結點及網絡架構的問題。問題的自動識別能對其發生的問題提供說明及解決方案,并可以追蹤36種以上的網絡狀況,及提供latency及throughput解析。還能將網絡上的所有結點溝通的狀態以圖形的方式完全顯示出來。它的顯示方式讓管理者能非常容易的了解網絡目前的狀況。
三、局域網工作原理
現在的局域網以ieee802.3的以太網為主流,以太網和tcp/ip可以說兩者的關系幾乎是密不可分。tcp/ip是一個協議族,以tcp(傳輸控制協議)和ip(因特網協議)為主,還包括了很多其他的協議,下面是tcp/ip中的各種常用協議以及它們和osi參考模型的對照。
smtp
?dns
?http
?ftp
?telnet
?
tcp
?udp
?
ip
?icmp
?arp
?rarp
?
ieee 802 以太網 slip/ppp? pdn 等
?
網卡、電纜、雙絞線等
?
???????
圖1 tcp/ip的網絡體系結構
?
應用層
傳輸層
網絡層
數據鏈路層
物理層
從上面的圖中我們可以看出,第一層物理層和第二層數據鏈路層是tcp/ip的基礎,而tcp/ip本身并不十分關心低層,因為處在數據鏈路層的網絡設備驅動程序將上層的協議和實際的物理接口隔離開來絡設備驅動程序位于數據鏈路層的介質訪問子層(mac)。
tcp/ip使用32位的ip地址,以太網則使用48位的硬件地址,這個硬件地址也就是網卡的mac地址,兩者間使用arp和rarp協議進行相互轉換。
在每臺連網的計算機上都保存著一份arp緩存表,arp緩存表中存放著和它連入的計算機的ip地址和mac地址的對照表,每臺計算機在和其他計算機連接時都會查詢本地的arp緩存表,找到了對方的ip地址的mac地址,那么就會進行數據傳輸,目的地就是對方的mac地址。如果這臺計算機中沒有對方的arp記錄,那么它首先要廣播一次arp請求,連網的計算機都能收到這個廣播信息,當對方的計算機接收到請求后就發送一個應答,應答中包含有對方的mac地址,當前計算機接收到對方的應答,就會更新本地的arp緩存。接著使用這個mac地址發送數據(由網卡附加mac地址)。
因此,本地高速緩存的這個arp表是本地網絡流通的基礎,而且這個緩存是動態更新的。
以太網采用廣播機制,所有與網絡連接的工作站都可以看到網絡上傳遞的數據。在正常的情況下,一個網絡接口應該只響應這樣的兩種數據幀:
1.????????? 與自己硬件地址相匹配的數據幀。
2.????????? 發向所有機器的廣播數據幀。
數據的收發是由網卡來完成的,網卡接收到傳輸來的數據,網卡內的單片程序接收數據幀的目的mac地址,根據計算機上的網卡驅動程序設置的接收模式判斷該不該接收,認為該接收就接收后產生中斷信號通知cpu,認為不該接收就丟掉不管,所以不該接收的數據網卡就截斷了,計算機根本就不知道。cpu得到中斷信號產生中斷,操作系統就根據網卡的驅動程序設置的網卡中斷程序地址調用驅動程序接收數據,驅動程序接收數據后放入信號堆棧讓操作系統處理。而對于網卡來說一般有四種接收模式:
廣播方式:該模式下的網卡能夠接收網絡中的廣播信息。
組播方式:設置在該模式下的網卡能夠接收組播數據。
直接方式:在這種模式下,只有目的網卡才能接收該數據。
混雜方式:在這種模式下的網卡能夠接收一切通過它的數據,而不管該數據是否是傳給它的。
etherpeek nx正是使用了網卡的混雜模式,讓網卡接收一切它所能接收的數據,這就是etherpeek nx的基本工作原理。知道了它的工作原理我們就可以用它來進行網絡數據包的截取和分析以及控制了。
四、etherpeek nx對netrobocop數據包的截取和分析
正因為etherpeek nx能接收局域網中的所有數據,并能對數據進行分析,那么我們可以利用它來進行網絡上數據的分析和偵察,找出網絡中非法數據,并對它作出有效的控制。下面就以網絡工具軟件netrobocop(網絡執法官)為例來用etherpeek nx對它的數據包進行分析。
netrobocop這個軟件用于管理局域網,它可以獲取每個ip地址和mac地址的對應表,也能反映網絡用戶的連接狀況,可以限定各機器(包括計算機和指定了ip的網絡設備)所用的ip、上網時段,以及阻止未經登記的計算機與網絡連接,記錄與網絡連接的各機器的上網時間。但是它一旦被人非法使用就會造成網絡的混亂,而且netrobocop這個工具軟件也沒有公布它的原理,用etherpeek nx對它數據包的分析也能了解一下這個軟件的原理。
以下使用了局域網中三臺計算機,分別是:
計算機a?? ip地址192.168.11.1?? mac地址 00-e0-4c-3c-0f-14?????
計算機b?? ip地址192.168.11.2?? mac地址 00-e0-4c-02-88-24??
計算機c?? ip地址192.168.11.3?? mac地址 00-e0-4c-3c-05-20????
其中在計算機c上安裝了netrobocop軟件和etherpeek nx軟件。
在沒有運行netrobocop的正常網絡情況下,我們查詢計算機a和b的arp緩存表如下:
計算機a上? c:windowsdesktop>arp -a
interface: 192.168.11.1 on interface 0x1000002
? internet address????? physical address????? type
? 192.168.11.2??????&nbs
p; 00-e0-4c-3b-f0-46???? dynamic
? 192.168.11.3??????? 00-e0-4c-3c-05-20???? dynamic
計算機b上? c:windowsdesktop>arp -a
interface: 192.168.11.2 on interface 0x1000002
? internet address????? physical address????? type
? 192.168.11.1??????? 00-e0-4c-3c-0f-14???? dynamic
? 192.168.11.3??????? 00-e0-4c-3c-05-20???? dynamic
在運行了netrobocop后,它會列出所有設定ip地址網段內連網的計算機,顯示了包括該計算機的ip地址、mac地址、計算機名字、上線時間及網卡型號等信息。在沒有對其他用戶限制權限時,通過etherpeek nx的capture功能獲取數據進行分析可以看到,netrobocop是通過不停的向網絡上發送某個網段內的所有ip地址的arp請求數據,詢問對方計算機的mac地址,每臺計算機在收到這個arp請求數據后就返回一個arp響應數據,返回給發送方自己的mac地址,對這個正常的arp響應數據分析顯示它的信息如下(計算機b發送給計算機c的arp響應):
? flags:??????? 0x00
? status:?????? 0x00
? packet length:64?????????????????????????? / 數據包長度
? timestamp:??? 11:04:07.168000 09/25/2003
ethernet header
? destination:????????? 00:e0:4c:3c:05:20??? / 目標mac地址
? source:?????????????? 00:e0:4c:3b:f0:46??? / 源mac地址
? protocol type:??????? 0x0806? ip arp??????? / 協議類型
arp - address resolution protocol
? hardware:???????????? 1? ethernet (10mb)
? protocol:?????&nb
sp;?????? 0x0800? ip? hardware address length:6
? protocol address length:4
? operation:??????????? 2? arp response??????? / arp響應
? sender hardware address:00:e0:4c:3b:f0:46? / 發送方mac地址
? sender internet address:192.168.11.2?????? / 發送方ip地址
? target hardware address:00:e0:4c:3c:05:20? / 接收方mac地址
? target internet address:192.168.11.3?????? / 接收方ip地址
extra bytes
? number of bytes:
? ................? 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
? ..??????????????? 00 00???????????????????? / 填充數據
fcs - frame check sequence
? fcs (calculated):???? 0xdec47b2a??????????? / 校驗和
這時候的網絡充滿了arp請求數據和arp響應數據,這些數據占用了很大的網絡帶寬,降低了網絡的流量和利用率,不管你是通過capture獲取數據的方式來分析或者利用etherpeek nx的協議類型數據分析或者流量分析都可以看出。
接下來就進行netrobocop的限制權限功能,看看它到底是怎樣限制網絡上用戶的連網的。在計算機c上對計算機b進行限制,禁止它和其它主機相連。這時候查看計算機a和計算機b的arp緩存表可以看出來它把各自計算機的arp緩存表中計算機a和計算機b的mac地址(下面框出來的部分)給換掉了。
計算機a上? c:windowsdesktop>arp -a
interface: 192.168.11.1 on interface 0x1000002
? internet address????? physical address????? type
? 192.168.11.2??????? 00-e0-4c-02-88-24???? dynamic
? 192.168.11.3??????? 00-e0-4c-3c-05-20???? dynamic
計算機b上? c:windowsdesktop>arp
-ainterface: 192.168.11.2 on interface 0x1000002
? internet address????? physical address????? type
? 192.168.11.1??????? 00-e0-4c-05-77-76???? dynamic
? 192.168.11.3??????? 00-e0-4c-3c-05-20???? dynamic
其實這就是一個arp欺騙。這時候如果計算機b有發送到ip為192.168.11.1的計算機a的數據通過查找arp緩存表就轉換成其它的mac地址,數據到達計算機a后它通過對照mac地址,發現不是自己的mac地址就丟棄這個數據,計算機a就收不到計算機b發來的數據,也就是計算機b不能連通計算機a。但是計算機c為了還能控制計算機b,它不修改自己的mac地址,保持著和計算機b的通信。
實現這個arp欺騙的過程通過etherpeek nx的數據截取和分析可以看出它采用的也是arp響應數據。arp協議并不只在發送了arp請求數據才接收arp響應數據。當計算機接收到arp響應數據的時候,就會對本地的arp緩存表進行更新,將arp響應中的ip地址和mac地址存儲在arp緩存表中。
這個arp欺騙的arp響應數據其實就是計算機c借用了計算機a的ip地址向計算機b發送了一個隨機偽造的mac地址,它的數據包如下:
? flags:??????? 0x00
? status:?????? 0x00
? packet length:64
? timestamp:??? 11:04:08.318000 09/25/2003
ethernet header
? destination:????????? 00:e0:4c:3b:f0:46
? source:?????????????? 00:e0:4c:05:77:76?????? / 偽造的mac地址
? protocol type:??????? 0x0806? ip arp
arp - address resolution protocol
? hardware:???????????? 1? ethernet (10mb)
? protocol:???????????? 0x0800? ip
? hardware address length:6
? protocol address length:4
? operation:??????????? 2? arp response
? sender h
ardware address:00:e0:4c:05:77:76?????? / 偽造的mac地址? sender internet address:192.168.11.1??????????? / 偽造的計算機a的ip地址
? target hardware address:00:e0:4c:3b:f0:46
? target internet address:192.168.11.2
extra bytes
? number of bytes:
??????????????????? 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
??????????????????? 20 20
fcs - frame check sequence
? fcs (calculated):???? 0xc3277168
arp緩存表是動態更新的,如果只發送一個這樣的帶arp欺騙的arp響應數據,在經過一段時候沒有通信后它就會從arp緩存表中刪除,下次再有連接的話就再進行arp請求和arp響應,更新成正確的mac地址。為了防止arp緩存更新,netrobocop在一直不停地給計算機b發送這個帶arp欺騙的arp響應數據。同時它也一直不停的向計算機a發送帶arp欺騙的arp響應數據,這樣就可以完全阻止計算機a和計算機b的雙方的通信。
如果發送方和接收方的ip地址一樣會怎樣呢?也就是我們經常見到的ip地址沖突警告,netrobocop就是利用它來產生ip地址沖突的。計算機c發給計算機a的ip沖突的arp響應數據如下:
? flags:??????? 0x00
? status:?????? 0x01
? packet length:64
? timestamp:??? 11:06:29.841000 09/25/2003
ethernet header
? destination:????????? 00:e0:4c:3c:0f:14
? source:?????????????? 00:e0:4c:78:84:6b????? / 偽造的mac地址
? protocol type:??????? 0x0806? ip arp
arp - address resolution protocol
? hardware:???????????? 1? ethernet (10mb)
? protocol: ? ? ? ??
0x0800? ip? hardware address length:6
? protocol address length:4
? operation:??????????? 2? arp response
? sender hardware address:00:e0:4c:78:84:6b????? / 偽造的mac地址
? sender internet address:192.168.11.1?????????? / 偽造的和接收方相同的ip地址
? target hardware address:00:e0:4c:3c:0f:14
? target internet address:192.168.11.1
extra bytes
? number of bytes:
? ................? 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
? ..??????????????? 00 00
fcs - frame check sequence
? fcs (calculated):???? 0xfe9194da
這樣,計算機a在收到這個帶ip沖突的arp響應數據后,網卡在檢測到發送方和接收方使用了相同的ip地址,就會產生一個ip地址沖突中斷,cpu接收中斷后就彈出一個警告窗口。這個帶ip沖突的arp響應數據也是在一直不停地發送的,所以計算機a就一直收到這個ip沖突警告。
五、etherpeek nx對netrobocop的解決方法
通過對netrobocop數據的截取和分析,了解了netrobocop這個網絡軟件的基本原理。一旦這個軟件被非法使用,某些用戶可能被非法限制權限后就很難擺脫它的控制,而且它是利用網絡的底層功能arp欺騙來實現控制,沒有什么現成的工具和軟件來阻止這種限制,除非它對你取消限制權限才有可能正常連網使用。那我們對這種限制是否就束手無策了呢?答案當然是否定的,其實我們可以用netrobocop的arp欺騙原理來進行反擊,擺脫它的控制,保持網絡的正常狀態。當然在這種情況下,網絡上就會充滿了這些arp的數據包,占用很大的網絡流量,影響正常的網絡使用。使用的方法可以這樣來實現,因為一旦受到netrobocop的限制,你已經沒辦法和其他計算機進行通信,但控制你的那臺計算機還可以和你通信,我們就是利用它的這個線索找到控制你的計算機,通過etherpeek nx的capture功能就可以發現,找出它的ip地址和mac地址,然后通過etherpeek nx的發送數據功能給它也發送帶arp欺騙的arp響應數據,讓它斷開和其他計算機的連接,從而擺脫它的控制。
六、結束語
如etherpeek nx和netrobocop這些網絡工具可以被網管人員用于加強安全性、加強網絡的自由度,也可以被惡意用戶用于非法的網絡活動。我們只要能分析了這些網絡工具的原理,就能用這些工具來更好地維護網絡的安全和暢通。
參考文獻:
[1] ramadas shanmugam著,尹浩瓊,李劍譯,tcp/ip詳解(第二版),電子工業出版社,2003
[2] anonymous著,maximum security,sams publishing,1997
[3] 余建斌著,黑客的攻擊手段及用戶對策,人民郵電出版社,1998
[4] anonymous
著,前導工作室譯,網絡安全技術內幕,機械工業出版社,1999總結
以上是生活随笔為你收集整理的etherpeek nx在网络维护中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 招行信用卡网上支付怎么开通
- 下一篇: 银行节假日上班吗?盘点各大银行上班时间!