新聞中心
隨著計算機技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)安全已經(jīng)成為一個非常重要的話題。為了保證網(wǎng)絡(luò)的安全性,很多企業(yè)和個人都開始使用各種安全軟件對自己的網(wǎng)絡(luò)進行保護。dsniff就是其中的一款非常重要的軟件,它可以攔截網(wǎng)絡(luò)中各種類型的流量,并且對數(shù)據(jù)進行分析和處理。今天,我們就來介紹一下Linux下dsniff的安裝方法,希望可以給大家?guī)韼椭?/p>

成都創(chuàng)新互聯(lián)公司主營萊陽網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā),萊陽h5微信小程序定制開發(fā)搭建,萊陽網(wǎng)站營銷推廣歡迎萊陽等地區(qū)企業(yè)咨詢
一、什么是dsniff?
dsniff是一款非常流行的網(wǎng)絡(luò)嗅探工具,它可以攔截網(wǎng)絡(luò)中的流量,并且對數(shù)據(jù)進行分析、解碼和重組。dsniff支持TCP/IP、UDP、ICMP等網(wǎng)絡(luò)協(xié)議,并且可以解碼各種類型的數(shù)據(jù)包,比如HTTP、FTP、POP、TP、Telnet、NNTP等。dsniff可以用于網(wǎng)絡(luò)犯罪的調(diào)查,同時也可以用于網(wǎng)絡(luò)安全方面的檢測和監(jiān)控。
二、下載dsniff
在Linux下安裝dsniff之前,我們需要先下載軟件包。dsniff的下載地址為https://www.monkey.org/~dugsong/dsniff/,我們可以在瀏覽器中打開這個地址,在頁面上找到最新版本的dsniff軟件包,進行下載。
三、安裝dsniff
完成軟件包下載之后,我們需要在Linux系統(tǒng)中進行安裝。具體安裝步驟如下:
1. 解壓軟件包。我們可以在終端中使用命令tar -zxvf dsniff-x.xx.tar.gz對軟件包進行解壓,其中x.xx表示版本號。
2. 進入dsniff目錄。使用cd dsniff-x.xx命令進入dsniff軟件包的目錄。
3. 配置編譯參數(shù)。我們可以使用./configure命令對軟件包的編譯參數(shù)進行配置。這個過程會檢查系統(tǒng)環(huán)境和軟件依賴,以確保dsniff可以正常運行。
4. 編譯安裝。配置完成之后,我們可以使用make命令進行編譯。編譯完成之后,使用make install命令進行安裝。安裝過程中需要輸入root用戶的密碼。
5. 安裝完成后,我們可以使用dsniff命令來啟動dsniff軟件。
四、使用dsniff
dsniff安裝完成后,我們可以使用它來進行網(wǎng)絡(luò)嗅探。具體使用方法如下:
1. 啟動dsniff。在終端中輸入dsniff命令,啟動dsniff軟件。
2. 監(jiān)聽網(wǎng)卡。使用dsniff命令中的-i參數(shù)來指定要監(jiān)聽的網(wǎng)卡,比如dsniff -i eth0。
3. 設(shè)置過濾規(guī)則。我們可以使用dsniff命令中的-s參數(shù)來設(shè)置過濾規(guī)則,比如dsniff -s ftp。
4. 可以設(shè)置輸出格式。dsniff默認輸出的格式比較復(fù)雜,我們可以使用dsniff命令中的-o參數(shù)來設(shè)置輸出格式,比如dsniff -o -w output.pcap。
5. 分析數(shù)據(jù)包。使用dsniff命令可以將捕獲到的數(shù)據(jù)包存儲到文件中,我們可以使用其他的網(wǎng)絡(luò)分析工具,比如Wireshark,來對數(shù)據(jù)包進行進一步的分析。
dsniff是一款非常重要的網(wǎng)絡(luò)嗅探工具,可以用于網(wǎng)絡(luò)犯罪的調(diào)查,同時也可以用于網(wǎng)絡(luò)安全方面的檢測和監(jiān)控。在Linux下安裝dsniff非常簡單,我們只需要下載軟件包,解壓、編譯和安裝即可。在使用dsniff時,需要注意設(shè)置過濾規(guī)則和輸出格式,以便更好地分析數(shù)據(jù)包。希望本文對大家學(xué)習(xí)Linux下dsniff的安裝方法有所幫助。
相關(guān)問題拓展閱讀:
- 什么是ARP?
什么是ARP?
這里沒法看圖片,如果你想看的話,就到這里來:
ARP協(xié)議概述
IP數(shù)據(jù)包常通過以太網(wǎng)發(fā)送。以太網(wǎng)設(shè)備并不識別32位IP必須把IP目的地址轉(zhuǎn)換成以太網(wǎng)網(wǎng)目的地址。在這兩告鬧種地址之間存在著某種靜態(tài)的或算法的映射,常常需要查看一李慧張表。地址解析協(xié)議(Address Resolution Protocol,ARP)就是用來確定這些映象的協(xié)議。
ARP工作時,送出一個含有所希望的IP地址的以太網(wǎng)廣播數(shù)據(jù)包。目的地主機,或另一個代表該主機的系統(tǒng),以一個含有IP和以太網(wǎng)地址對的數(shù)據(jù)包作為應(yīng)答。發(fā)送者將這個地址對高速緩存起來,以節(jié)約不必要的ARP通信。
如果有一個不被信任的節(jié)點對本地網(wǎng)絡(luò)具有寫訪問許可權(quán),那么也會有某種風(fēng)險。這樣一臺機器可以發(fā)布虛假的ARP報文并將所有通信都轉(zhuǎn)向它自己,然后它就可以扮演某些機器,或者順便對數(shù)據(jù)流進行簡單的修改。ARP機制常常是自動起作用的。在特別安全的網(wǎng)絡(luò)上, ARP映射可以用固件,并且具有自動抑制協(xié)議達到防止干擾的目的。
圖1 以太網(wǎng)上的ARP報文格式
圖1是一個用作IP到以太網(wǎng)地址轉(zhuǎn)換的ARP報文的例子。在圖中每一行為32位,也就是4個八位組表示,在以后的圖中,我們也將遵循這一方式。
硬件類型字段指明了發(fā)送方想知道的硬件接口類型,以太網(wǎng)的值為襪擾罩1。協(xié)議類型字段指明了發(fā)送方提供的高層協(xié)議類型,IP為0806(16進制)。硬件地址長度和協(xié)議長度指明了硬件地址和高層協(xié)議地址的長度,這樣ARP報文就可以在任意硬件和任意協(xié)議的網(wǎng)絡(luò)中使用。操作字段用來表示這個報文的目的,ARP請求為1,ARP響應(yīng)為2,RARP請求為3,RARP響應(yīng)為4。
當發(fā)出ARP請求時,發(fā)送方填好發(fā)送方首部和發(fā)送方IP地址,還要填寫目標IP地址。當目標機器收到這個ARP廣播包時,就會在響應(yīng)報文中填上自己的48位主機地址。
2 ARP使用舉例
我們先看一下linux下的arp命令(如果開始arp表中的內(nèi)容為空的話,需要先對某臺主機進行一個連接,例如ping一下目標主機來產(chǎn)生一個arp項):
d2server:/home/kerberos# arp
AddressHWtype HWaddressFlags MaskIface
211.161.17.254 ether 00:04:9A:AD:1C:0A C eth0
Address:主機的IP地址
Hwtype:主機的硬件類型
Hwaddress:主機的硬件地址
Flags Mask:記錄標志,”C”表示arp高速緩存中的條目,”M”表示靜態(tài)的arp條目。
用”arp –a”命令可以顯示主機地址與IP地址的對應(yīng)表,也就是機器中所保存的arp緩存信息。這個高速緩存存放了最近Internet地址到硬件地址之間的映射記錄。高速緩存中每一項的生存時間一般為20分鐘,起始時間從被創(chuàng)建時開始算起。
d2server:/home/kerberos# arp -a
(211.161.17.254) at 00:04:9A:AD:1C:0A on eth0
可以看到在緩存中有一條211.161.17.254相對應(yīng)的arp緩存條目。
d2server:/home/kerberos# telnet 211.161.17.21
Trying 211.161.17.21…
Connected to 211.161.17.21.
Escape character is ‘^>’.
^>.
telnet>quit
connetion closed.
在執(zhí)行上面一條telnet命令的同時,用tcpdump進行監(jiān)聽:
d2server:/home/kerberos# tcpdump -e dst host 211.161.17.21
tcpdump: listening on eth0
我們將會聽到很多包,我們?nèi)∨c我們arp協(xié)議相關(guān)的2個包:
1 0.0 00:D0:F8:0A:FB:83 FF:FF:FF:FF:FF:FF arp 60
who has 211.161.17.21 tell d2server
2 0.002344(0.0021) 00:E0:3C:43:0D:24 00:D0:F8:0A:FB:83 arp 60
arp reply 211.161.17.21 is at 00:E0:3C:43:0D:24
在第1行中,源端主機(d2server)的硬件地址是00:D0:F8:0A:FB:83。目的端主機的硬件地址是FF:FF:FF:FF:FF:FF,這是一個以太網(wǎng)廣播地址。電纜上的每個以太網(wǎng)接口都要接收這個數(shù)據(jù)幀并對它進行處理。
第1行中緊接著的一個輸出字段是arp,表明幀類型字段的值是0x0806,說明此數(shù)據(jù)幀是一個ARP請求或回答。
在每行中,單詞后面的值60指的是以太網(wǎng)數(shù)據(jù)幀的長度。由于ARP請求或回答的數(shù)據(jù)幀長都是42字節(jié)(28字節(jié)的ARP數(shù)據(jù),14字節(jié)的以太網(wǎng)幀頭),因此,每一幀都必須加入填充字符以達到以太網(wǎng)的最小長度要求:60字節(jié)。
第1行中的下一個輸出字段arp who-has表示作為ARP請求的這個數(shù)據(jù)幀中,目的I P地址是211.161.17.21的地址,發(fā)送端的I P地址是d2server的地址。tcpdump打印出主機名對應(yīng)的默認I P地址。
從第2行中可以看到,盡管ARP請求是廣播的,但是ARP應(yīng)答的目的地址卻是211.161.17.21(00:E0:3C:43:0D:24)。ARP應(yīng)答是直接送到請求端主機的,而是廣播的。tcpdump打印出arp reply的字樣,同時打印出響應(yīng)者的主機ip和硬件地址。
在每一行中,行號后面的數(shù)字表示tcpdump收到分組的時間(以秒為單位)。除第1行外,每行在括號中還包含了與上一行的時間差異(以秒為單位)。
這個時候我們再看看機器中的arp緩存:
d2server:/home/kerberos# arp -a
(211.161.17.254) at 00:04:9A:AD:1C:0A on eth0
(211.161.17.21) at 00:E0:3C:43:0D:24 on eth0
arp高速緩存中已經(jīng)增加了一條有關(guān)211.161.17.21的映射。
再看看其他的arp相關(guān)的命令:
d2server:/home/kerberos# arp -s 211.161.17.21 00:00:00:00:00:00
d2server:/home/kerberos# arp
AddressHWtype HWaddressFlags MaskIface
211.161.17.ether 00:04:9A:AD:1C:0A Ceth0
211.161.17.ether 00:00:00:00:00:CMeth0
d2server:/home/kerberos# arp -a
(211.161.17.254) at 00:04:9A:AD:1C:0A on eth0
(211.161.17.21) at 00:00:00:00:00:00 PERM on eth0
可以看到我們用arp -s選項設(shè)置了211.161.17.21對應(yīng)的硬件地址為00:00:00:00:00:00,而且這條映射的標志字段為CM,也就是說我們手工設(shè)置的arp選項為靜態(tài)arp選項,它保持不變沒有超時,不像高速緩存中的條目要在一定的時間間隔后更新。
如果想讓手工設(shè)置的arp選項有超時時間的話,可以加上temp選項
d2server:/home/kerberos# arp -s 211.161.17.21 00:00:00:00:00:00 temp
d2server:/home/kerberos# arp -a
(211.161.17.254) at 00:04:9A:AD:1C:0A on eth0
(211.161.17.21) at 00:00:00:00:00:00 on eth0
d2server:/home/kerberos# arp
AddressHWtype HWaddressFlags Mask Iface
211.161.17.254 ether 00:04:9A:AD:1C:0A Ceth0
211.161.17.21 ether 00:00:00:00:00:Ceth0
可以看到標志字段的靜態(tài)arp標志”M”已經(jīng)去掉了,我們手工加上的是一條動態(tài)條目。
請大家注意arp靜態(tài)條目與動態(tài)條目的區(qū)別。
在不同的系統(tǒng)中,手工設(shè)置的arp靜態(tài)條目是有區(qū)別的。在linux和win2023中,靜態(tài)條目不會因為偽造的arp響應(yīng)包而改變,而動態(tài)條目會改變。而在win98中,手工設(shè)置的靜態(tài)條目會因為收到偽造的arp響應(yīng)包而改變。
如果您想刪除某個arp條目(包括靜態(tài)條目),可以用下面的命令:
d2server:/home/kerberos# arp -d 211.161.17.21
d2server:/home/kerberos# arp -a
(211.161.17.254) at 00:04:9A:AD:1C:0A on eth0
(211.161.17.21) at on eth0
可以看到211.161.17.21的arp條目已經(jīng)是不完整的了。
還有一些其他的命令,可以參考linux下的man文檔:
d2server:/home/kerberos# man arp
ARP欺騙
我們先復(fù)習(xí)一下上面所講的ARP協(xié)議的原理。在實現(xiàn)TCP/IP協(xié)議的網(wǎng)絡(luò)環(huán)境下,一個ip包走到哪里,要怎么走是靠路由表定義,但是,當ip包到達該網(wǎng)絡(luò)后,哪臺機器響應(yīng)這個ip包卻是靠該ip包中所包含的硬件mac地址來識別。也就是說,只有機器的硬件mac地址和該ip包中的硬件mac地址相同的機器才會應(yīng)答這個ip包,因為在網(wǎng)絡(luò)中,每一臺主機都會有發(fā)送ip包的時候,所以,在每臺主機的內(nèi)存中,都有一個 arp–> 硬件mac 的轉(zhuǎn)換表。通常是動態(tài)的轉(zhuǎn)換表(該arp表可以手工添加靜態(tài)條目)。也就是說,該對應(yīng)表會被主機在一定的時間間隔后刷新。這個時間間隔就是ARP高速緩存的超時時間。
通常主機在發(fā)送一個ip包之前,它要到該轉(zhuǎn)換表中尋找和ip包對應(yīng)的硬件mac地址,如果沒有找到,該主機就發(fā)送一個ARP廣播包,于是,主機刷新自己的ARP緩存。然后發(fā)出該ip包。
了解這些常識后,現(xiàn)在就可以談在以太網(wǎng)絡(luò)中如何實現(xiàn)ARP欺騙了,可以看看這樣一個例子。
3.1 同一網(wǎng)段的ARP欺騙
圖2 同一網(wǎng)段的arp欺騙
如圖2所示,三臺主機
A: ip地址 192.168.0.1 硬件地址 AA:AA:AA:AA:AA:AA
B: ip地址 192.168.0.2 硬件地址 BB:BB:BB:BB:BB:BB
C: ip地址 192.168.0.3 硬件地址 CC:CC:CC:CC:CC:CC
一個位于主機B的入侵者想非法進入主機A,可是這臺主機上安裝有防火墻。通過收集資料他知道這臺主機A的防火墻只對主機C有信任關(guān)系(開放23端口(telnet))。而他必須要使用telnet來進入主機A,這個時候他應(yīng)該如何處理呢?
我們這樣考慮,入侵者必須讓主機A相信主機B就是主機C,如果主機A和主機C之間的信任關(guān)系是建立在ip地址之上的。如果單單把主機B的ip地址改的和主機C的一樣,那是不能工作的,至少不能可靠地工作。如果你告訴以太網(wǎng)卡設(shè)備驅(qū)動程序, 自己IP是192.168.0.3,那么這只是一種純粹的競爭關(guān)系,并不能達到目標。我們可以先研究C這臺機器如果我們能讓這臺機器暫時當?shù)簦偁庩P(guān)系就可以解除,這個還是有可能實現(xiàn)的。在機器C當?shù)舻耐瑫r,將機器B的ip地址改為192.168.0.3,這樣就可以成功的通過23端口telnet到機器A上面,而成功的繞過防火墻的限制。
上面的這種想法在下面的情況下是沒有作用的,如果主機A和主機C之間的信任關(guān)系是建立在硬件地址的基礎(chǔ)上。這個時候還需要用ARP欺騙的手段讓主機A把自己的ARP緩存中的關(guān)于192.168.0.3映射的硬件地址改為主機B的硬件地址。
我們可以人為的制造一個arp_reply的響應(yīng)包,發(fā)送給想要欺騙的主機,這是可以實現(xiàn)的,因為協(xié)議并沒有規(guī)定必須在接收到arp_echo后才可以發(fā)送響應(yīng)包.這樣的工具很多,我們也可以直接用snifferpro抓一個arp響應(yīng)包,然后進行修改。
你可以人為地制造這個包??梢灾付ˋRP包中的源IP、目標IP、源MAC地址、目標MAC地址。
這樣你就可以通過虛假的ARP響應(yīng)包來修改主機A上的動態(tài)ARP緩存達到欺騙的目的。
下面是具體的步驟:
他先研究192.0.0.3這臺主機,發(fā)現(xiàn)這臺主機的漏洞。
根據(jù)發(fā)現(xiàn)的漏洞使主機C當?shù)簦瑫簳r停止工作。
這段時間里,入侵者把自己的ip改成192.0.0.3
他用工具發(fā)一個源ip地址為192.168.0.3源MAC地址為BB:BB:BB:BB:BB:BB的包給主機A,要求主機A更新自己的arp轉(zhuǎn)換表。
主機更新了arp表中關(guān)于主機C的ip–>mac對應(yīng)關(guān)系。
防火墻失效了,入侵的ip變成合法的mac地址,可以telnet 了。
上面就是一個ARP的欺騙過程,這是在同網(wǎng)段發(fā)生的情況,但是,提醒注意的是,在B和C處于不同網(wǎng)段的時候,上面的方法是不起作用的。
3.2 不同網(wǎng)段的ARP欺騙
圖3 不同網(wǎng)段之間的ARP欺騙
如圖3所示A、C位于同一網(wǎng)段而主機B位于另一網(wǎng)段,三臺機器的ip地址和硬件地址如下:
A: ip地址 192.168.0.1 硬件地址 AA:AA:AA:AA:AA:AA
B: ip地址 192.168.1.2 硬件地址 BB:BB:BB:BB:BB:BB
C: ip地址 192.168.0.3 硬件地址 CC:CC:CC:CC:CC:CC
在現(xiàn)在的情況下,位于192.168.1網(wǎng)段的主機B如何冒充主機C欺騙主機A呢?顯然用上面的辦法的話,即使欺騙成功,那么由主機B和主機A之間也無法建立telnet會話,因為路由器不會把主機A發(fā)給主機B的包向外轉(zhuǎn)發(fā),路由器會發(fā)現(xiàn)地址在192.168.0.這個網(wǎng)段之內(nèi)。
現(xiàn)在就涉及到另外一種欺騙方式―ICMP重定向。把ARP欺騙和ICMP重定向結(jié)合在一起就可以基本實現(xiàn)跨網(wǎng)段欺騙的目的。
什么是ICMP重定向呢?
ICMP重定向報文是ICMP控制報文中的一種。在特定的情況下,當路由器檢測到一臺機器使用非優(yōu)化路由的時候,它會向該主機發(fā)送一個ICMP重定向報文,請求主機改變路由。路由器也會把初始數(shù)據(jù)報向它的目的地轉(zhuǎn)發(fā)。
我們可以利用ICMP重定向報文達到欺騙的目的。
下面是結(jié)合ARP欺騙和ICMP重定向進行攻擊的步驟:
為了使自己發(fā)出的非法ip包能在網(wǎng)絡(luò)上能夠存活長久一點,開始修改ip包的生存時間ttl為下面的過程中可能帶來的問題做準備。把ttl改成255. (ttl定義一個ip包如果在網(wǎng)絡(luò)上到不了主機后,在網(wǎng)絡(luò)上能存活的時間,改長一點在本例中有利于做充足的廣播)
下載一個可以自由制作各種包的工具(例如hping2)
然后和上面一樣,尋找主機C的漏洞按照這個漏洞當?shù)糁鳈CC。
在該網(wǎng)絡(luò)的主機找不到原來的192.0.0.3后,將更新自己的ARP對應(yīng)表。于是他發(fā)送一個原ip地址為192.168.0.3硬件地址為BB:BB:BB:BB:BB:BB的ARP響應(yīng)包。
好了,現(xiàn)在每臺主機都知道了,一個新的MAC地址對應(yīng)192.0.0.3,一個ARP欺騙完成了,但是,每臺主機都只會在局域網(wǎng)中找這個地址而根本就不會把發(fā)送給192.0.0.3的ip包丟給路由。于是他還得構(gòu)造一個ICMP的重定向廣播。
自己定制一個ICMP重定向包告訴網(wǎng)絡(luò)中的主機:”到192.0.0.3的路由最短路徑不是局域網(wǎng),而是路由,請主機重定向你們的路由路徑,把所有到192.0.0.3的ip包丟給路由?!?/p>
主機A接受這個合理的ICMP重定向,于是修改自己的路由路徑,把對192.0.0.3的通訊都丟給路由器。
入侵者終于可以在路由外收到來自路由內(nèi)的主機的ip包了,他可以開始telnet到主機的23口。
其實上面的想法只是一種理想話的情況,主機許可接收的ICMP重定向包其實有很多的限制條件,這些條件使ICMP重定向變的非常困難。
TCP/IP協(xié)議實現(xiàn)中關(guān)于主機接收ICMP重定向報文主要有下面幾條限制:
新路由必須是直達的
重定向包必須來自去往目標的當前路由
重定向包不能通知主機用自己做路由
被改變的路由必須是一條間接路由
由于有這些限制,所以ICMP欺騙實際上很難實現(xiàn)。但是我們也可以主動的根據(jù)上面的思維尋找一些其他的方法。更為重要的是我們知道了這些欺騙方法的危害性,我們就可以采取相應(yīng)的防御辦法。
3.3 ARP欺騙的防御
知道了ARP欺騙的方法和危害,我們給出一些初步的防御方法:
不要把你的網(wǎng)絡(luò)安全信任關(guān)系建立在ip地址的基礎(chǔ)上或硬件mac地址基礎(chǔ)上,(rarp同樣存在欺騙的問題),理想的關(guān)系應(yīng)該建立在ip+mac基礎(chǔ)上。
設(shè)置靜態(tài)的mac–>ip對應(yīng)表,不要讓主機刷新你設(shè)定好的轉(zhuǎn)換表。
除非很有必要,否則停止使用ARP,將ARP做為永久條目保存在對應(yīng)表中。在linux下可以用ifconfig -arp可以使網(wǎng)卡驅(qū)動程序停止使用ARP。
使用代理網(wǎng)關(guān)發(fā)送外出的通訊。
修改系統(tǒng)拒收ICMP重定向報文
在linux下可以通過在防火墻上拒絕ICMP重定向報文或者是修改內(nèi)核選項重新編譯內(nèi)核來拒絕接收ICMP重定向報文。
在win2023下可以通過防火墻和IP策略拒絕接收ICMP報文。
4 代理ARP的應(yīng)用
代理ARP有兩大應(yīng)用,一個是有利的就是我們在防火墻實現(xiàn)中常說的透明模式的實現(xiàn),另一個是有害的就是通過它可以達到在交換環(huán)境中進行嗅探的目的.由此可見同樣一種技術(shù)被應(yīng)用于不同的目的,效果是不一樣的.
我們先來看交換環(huán)境中局域網(wǎng)的嗅探.
通常在局域網(wǎng)環(huán)境中,我們都是通過交換環(huán)境的網(wǎng)關(guān)上網(wǎng)的。在交換環(huán)境中使用NetXray或者NAI Sniffer一類的嗅探工具除了抓到自己的包以外,是不能看到其他主機的網(wǎng)絡(luò)通信的。
但是我們可以通過利用ARP欺騙可以實現(xiàn)Sniffer的目的。
ARP協(xié)議是將IP地址解析為MAC地址的協(xié)議,局域網(wǎng)中的通信都是基于MAC地址的。
圖4 交換網(wǎng)絡(luò)中的ARP欺騙
如圖4所示,三臺主機位于一個交換網(wǎng)絡(luò)的環(huán)境中,其中A是網(wǎng)關(guān):
A: ip地址 192.168.0.1 硬件地址 AA:AA:AA:AA:AA
B: ip地址 192.168.0.2 硬件地址 BB:BB:BB:BB:BB
C:ip地址 192.168.0.3 硬件地址 CC:CC:CC:CC:CC
在局域網(wǎng)中192.168.0.2和192.168.0.3都是通過網(wǎng)關(guān)192.168.0.1上網(wǎng)的,假定攻擊者的系統(tǒng)為192.168.0.2,他希望聽到192.168.0.3的通信,那么我們就可以利用ARP欺騙實現(xiàn)。
這種欺騙的中心原則就是arp代理的應(yīng)用.主機A是局域網(wǎng)中的代理服務(wù)器,局域網(wǎng)中每個節(jié)點的向外的通信都要通過它.主機B想要聽主機C的通信,它需要先使用ARP欺騙,讓主機C認為它就是主機A,這個時候它發(fā)一個IP地址為192.168.0.1,物理地址為BB:BB:BB:BB:BB:BB的ARP響應(yīng)包給主機C,這樣主機C會把發(fā)往主機A的包發(fā)往主機B.同理,還要讓網(wǎng)關(guān)A相信它就是主機C,向網(wǎng)關(guān)A發(fā)送一個IP地址為192.168.0.3,物理地址為BB:BB:BB:BB:BB:BB的包.
上面這一步的操作和前面的ARP欺騙的原理是一樣的,但是還是有問題,過一段時間主機B會發(fā)現(xiàn)自己無法上網(wǎng).所以下面還有一個步驟就是需要在主機B上轉(zhuǎn)發(fā)從主機A到主機C的包,并且轉(zhuǎn)發(fā)從主機C到主機A的包.現(xiàn)在我們可以看到其實主機B在主機A和主機C的通訊中起到了一個代理的作用,這就是為什么叫做ARP代理的原因.
具體實現(xiàn)要用到兩個工具dsniff和fragrouter,dsniff用來實現(xiàn)ARP欺騙,fragroute用來進行包的轉(zhuǎn)發(fā).
首先利用dsniff中的arpspoof來實現(xiàn)ARP欺騙,dsniff軟件可以在下面的網(wǎng)址下載:
安裝這個軟件包之前先要下載安裝libnet.
欺騙192.168.0.3,告訴這臺機器網(wǎng)關(guān)192.168.0.1的MAC地址是192.168.0.2的MAC地址.
# ./arpspoof -i eth0 -t 192.168.0.3 192.168.0.1欺騙192.168.0.1,告訴192.168.0.1主機192.168.0.3的MAC地址是192.168.0.2的MAC地址。
# ./arpspoof -i eth0 -t 192.168.0.1 192.168.0.3現(xiàn)在我們已經(jīng)完成了之一步的欺騙,這個欺騙是通過arpspoof來完成的,當然您也可以使用別的工具甚至自己發(fā)包來完成.現(xiàn)在我們可以看到在主機A和主機C的arp列表里面都完成了我們需要的工作.在后面的透明代理中我們將使用另外一種不同的理念.
下面我們先打開linux系統(tǒng)中的轉(zhuǎn)發(fā)包的選項:
# echo “1” >/proc/sys/net/ipv4/ip_forward下面我們可以下載大名鼎鼎的dugsong的另外一個工具fragroute,這個工具以前叫做fragrouter(僅有1字的差別)主要用于實現(xiàn)入侵檢測系統(tǒng)處理分片的ip和tcp包功能的檢測,本身自代包轉(zhuǎn)發(fā)的功能.可以到下面的網(wǎng)站下載:
安裝這個軟件包之前先要下載安裝libpcap和libevent.
當然我們也可以使用fragrouter來完成:
w00w00/sectools/fragrouter/
# ./fragrouter -B1
fragrouter: base-1: normal IP forwarding
現(xiàn)在就可以實現(xiàn)在交換局域網(wǎng)中嗅探的目標.當然上面這些只是一些原理性的介紹,在真正的使用中會遇到很多的問題,比如如何實現(xiàn)對網(wǎng)關(guān)A和主機C的欺騙,以及如何處理可能出現(xiàn)的廣播風(fēng)暴問題,這些可以在實踐中學(xué)習(xí).還有一個叫arpsniff的工具能夠很方便的完成這一功能,很多網(wǎng)站都提供下載,界面比較友好,由于和上面的原理一樣,只是工具使用上的不同并且添加了一些附加的功能,所以這里不在進行介紹.
代理ARP的另外一個應(yīng)用就是防火墻的透明代理的實現(xiàn).我們都知道早期的防火墻大都是基于路由模式,也就是防火墻要完成一個路由的作用.這種接入方式需要在局域網(wǎng)內(nèi)的主機上設(shè)置防火墻的IP為代理,而且需要在外部路由器的路由表中加入一條指向防火墻的路由.這種方式的缺點在于不透明,需要進行過多的設(shè)置,并且破壞了原有的網(wǎng)絡(luò)拓撲.所以現(xiàn)在幾乎全部的防火墻都實現(xiàn)了一種透明接入的功能,用戶的路由器和客戶端不用做任何修改,用戶甚至感覺不到透明接入方式防火墻的存在.這種透明接入的原理就是ARP代理.
我們現(xiàn)在看如何配置一臺主機作為透明接入模式的防火墻(透明接入的防火墻不需要IP),
圖5
如圖5所示,一臺防火墻連接內(nèi)部網(wǎng)段和DMZ網(wǎng)段到外部路由.我們在這臺用作防火墻的主機上使用linux操作系統(tǒng),這樣我們可以方便的使用iptables防火墻.假設(shè)三塊網(wǎng)卡為eth0,eth1和eth2,eth0和路由器相連,eth1和內(nèi)網(wǎng)相連.eth2和外網(wǎng)相連.假設(shè)DMZ區(qū)有2臺服務(wù)器.
內(nèi)網(wǎng)
DMZ
路由器的ip
eth0:AA:AA:AA:AA:AA:AA
eth1:BB:BB:BB:BB:BB:BB
eth2:CC:CC:CC:CC:CC:CC
和前面差不多,之一步需要實現(xiàn)ARP欺騙,這次我們有個簡單的實現(xiàn).我們把路由器的IP地址和防火墻的eth1和eth2的網(wǎng)卡物理地址綁定,將內(nèi)網(wǎng)和DMZ網(wǎng)段的IP地址和eth0的網(wǎng)卡綁定,在linux系統(tǒng)上我們用arp命令實現(xiàn):
arp -s 192.168.1.1 BB:BB:BB:BB:BB:BB
arp -s 192.168.1.1 CC:CC:CC:CC:CC:CC
arp -s 192.168.1.0/24 AA:AA:AA:AA:AA:AA
第二部我們需要在基于linux的防火墻上設(shè)置路由,把目標地址是外部路由的包轉(zhuǎn)發(fā)到eth0,把目標地址為內(nèi)網(wǎng)的包轉(zhuǎn)發(fā)到eth1,把目標地址是DMZ網(wǎng)段服務(wù)器的包轉(zhuǎn)發(fā)到eth2.在linux下面用route命令實現(xiàn)
route add 192.168.1.1 dev eth0
route add -net 192.168.1.0/24 dev eth1
route add 192.168.1.2 dev eth2
route add 192.168.1.3 dev eth3
(針對DMZ網(wǎng)段里面的每臺服務(wù)器都要增加一條單獨的路由) 現(xiàn)在我們就已經(jīng)實現(xiàn)了一個簡單的arp代理的透明接入,當然對應(yīng)于防火墻的iptables部分要另外配置,iptables的配置不在本文范疇之內(nèi).
小結(jié)
本文介紹了ARP協(xié)議以及與其相關(guān)的安全問題。一個重要的安全問題就是ARP欺騙,我們講到了同一網(wǎng)段的ARP欺騙以及跨網(wǎng)段的ARP欺騙和ICMP重定向相結(jié)合的方法。由于有這些安全問題的存在,我們給出一些最基本的解決辦法。最后談到了利用代理ARP實現(xiàn)在交換網(wǎng)絡(luò)中嗅探和防火墻的透明接入。
地址解析協(xié)議,即ARP(Address Resolution Protocol),是根據(jù)IP地址獲取物理地址的一個TCP/IP協(xié)議。主機發(fā)送信息時將包含目標IP地址的ARP請求廣播到局域網(wǎng)絡(luò)上的所有主機,并接收返回消息,以此確定目標的物理地址;收到返回消息后將該IP地址和物理地址存入本機ARP緩存中并保留一定時間,下次請求時直接查詢ARP緩存以節(jié)約資源。
地址解析協(xié)議是建立在網(wǎng)絡(luò)中各個主機互相信任的基礎(chǔ)上的,局域網(wǎng)絡(luò)上的主機可以自主發(fā)送ARP應(yīng)毀茄余答消息,其他主機收到應(yīng)答報文時不會檢測該報文的真實性就會將其記入本機ARP緩存;由此攻擊者就可以向某一主機發(fā)送偽ARP應(yīng)答報文,使其發(fā)送的信息無法到達預(yù)期的主機或到達納孫錯誤的主機,這就構(gòu)成了一個ARP欺騙。
擴展資料:
RARP和ARP不同,地址解析協(xié)議是根據(jù)IP地址獲取物理地址的協(xié)議,而反向地址轉(zhuǎn)換協(xié)議(RARP)是局域網(wǎng)的物理機器從網(wǎng)關(guān)服務(wù)器纖滾的ARP表或者緩存上根據(jù)MAC地址請求IP地址的協(xié)議,其功能與地址解析協(xié)議相反。與ARP相比,RARP的工作流程也相反。首先是查詢主機向網(wǎng)路送出一個RARP Request廣播封包,向別的主機查詢自己的IP地址。這時候網(wǎng)絡(luò)上的RARP服務(wù)器就會將發(fā)送端的IP地址用RARP Reply封包回應(yīng)給查詢者,這樣查詢主機就獲得自己的IP地址了。
參考資料來源:
百度百科-TCP/IP協(xié)議
參考資料來源:
百度百科-地址解析協(xié)議
簡單來說就是有個機子中了病毒,它偽造IP地址和你沖突,或是偽造網(wǎng)關(guān),便你的計算機不能正常的接收數(shù)據(jù),從而掉線
ARP(AddressResolutionProtocol)地址解析協(xié)議用于將計算機的網(wǎng)絡(luò)IP地址轉(zhuǎn)化為物理MAC地址。ARP協(xié)議的基本功能就是通過目標設(shè)備的IP地址,查詢目標設(shè)備的MAC地址,以保證通信的昌清順利進行。在每臺安裝有TCP/IP協(xié)議的電腦里都有一個ARP緩存表,表里的IP地址與MAC地址是一一對應(yīng)的,如果系統(tǒng)ARP緩存表被修改不停的通知路由器一系列錯誤的內(nèi)網(wǎng)IP或者干脆偽造一個假的網(wǎng)關(guān)進行欺騙的話,網(wǎng)絡(luò)就肯定會出現(xiàn)大面積的掉線問題。ARP攻擊在現(xiàn)今的網(wǎng)絡(luò)中頻頻出現(xiàn),有效的防范ARP形式的網(wǎng)絡(luò)攻擊已成為確保網(wǎng)絡(luò)暢通必要條件。
英文原義:Address
Resolution
Protocol
中文釋義:(RFC-826)地址解析協(xié)議
局域網(wǎng)中,網(wǎng)絡(luò)中實際傳輸?shù)氖恰皫保瑤锩媸怯心繕酥鳈C的MAC地址的。所謂“地址解析”就是主機在發(fā)送幀前將目標虛迅漏IP地址轉(zhuǎn)換成目標MAC地址的過程。ARP協(xié)議的基本功能就是通過目標設(shè)備的IP地址,查詢目標設(shè)備的MAC地址以保證通信的順利進行。
注解:簡單地說,ARP協(xié)議主要負責(zé)將局域網(wǎng)中的32為IP地址轉(zhuǎn)換為對應(yīng)的48位物理地址,即網(wǎng)卡的MAC地址,比如IP地址為192.168.0.1網(wǎng)卡MAC地址為F-FD-1D-2B。整個轉(zhuǎn)換過程是一臺主機先向目標主機發(fā)送包含IP地址信息的廣播數(shù)據(jù)包,即ARP請求,然后目標主機向該主機發(fā)送一個含有IP地址和MAC地址數(shù)據(jù)包,通過MAC地址兩個主機就可以實現(xiàn)數(shù)據(jù)傳輸了。
應(yīng)用:在安裝了以太網(wǎng)網(wǎng)絡(luò)適配器的計算機中都有專門的ARP緩存,包含一個或多個表,用于保存IP地址以及經(jīng)過解析的MAC地址。在Windows中要查看或者修改ARP緩存中的信息,可以使用arp命令來完成,比如在Windows
XP的命令提示符窗口中鍵入“arp
-a”或“arp
-g”可以查看ARP緩存中的內(nèi)容;鍵入“arp
-d
IPaddress”表示刪除指定的IP地址項(IPaddress表示IP地址差爛)。arp命令的其他用法可以鍵入“arp
/?”查看到.
簡單來說就是有個機子中了病毒,它偽造IP地址和你沖突,或是偽造網(wǎng)關(guān),便你的計算機不能正常的接收數(shù)據(jù),從而掉線
ARP(AddressResolutionProtocol)地址解析協(xié)議用于將計算機的網(wǎng)絡(luò)IP地址轉(zhuǎn)化為物理MAC地址。ARP協(xié)議的基本功能就是通過目標設(shè)備的IP地址,查詢目標設(shè)備的MAC地址,以保證通信的順利進行。在每臺安裝有TCP/IP協(xié)議的電腦里都有一個ARP緩存表,表里的IP地址與MAC地址是一一對應(yīng)的,如果系統(tǒng)ARP緩存表被修改不停的通知路由器一系列錯誤的內(nèi)網(wǎng)IP或者干脆偽造一個假的網(wǎng)關(guān)進行欺騙的話,網(wǎng)絡(luò)就肯定會出現(xiàn)大面積的掉線問題。ARP攻擊在現(xiàn)今的網(wǎng)絡(luò)中頻頻出現(xiàn),有效的防范ARP形式的網(wǎng)絡(luò)攻擊已成為確保網(wǎng)絡(luò)暢通必要條件。
英文原義:Address
Resolution
Protocol
中文釋義:(RFC-826)地址解析協(xié)議
局域網(wǎng)中,網(wǎng)絡(luò)中實際傳輸?shù)氖恰皫?,幀里面是有目標主機的MAC地址的。所謂“地址解析”就是搏啟螞主機在發(fā)送幀前將目標IP地址轉(zhuǎn)換成目標MAC地址的過程。ARP協(xié)議的基本功能就是通過目標設(shè)備的IP地址,查詢目標設(shè)備的MAC地址以保證通信的順利進行。
注解:簡單地說,ARP協(xié)議主要負責(zé)將局域網(wǎng)中的32為IP地址轉(zhuǎn)旁畝換為對應(yīng)的48位物理地址,即網(wǎng)卡的MAC地址,比如IP地址為192.168.0.1網(wǎng)卡MAC地址為F-FD-1D-2B。整個轉(zhuǎn)換過程是一臺主機先向目標主機發(fā)送包含IP地址信息的廣播數(shù)據(jù)包,即ARP請求,然后目標主機向該主機發(fā)送一個含有IP地址和MAC地址數(shù)據(jù)包,通過MAC地址兩個主機就基埋可以實現(xiàn)數(shù)據(jù)傳輸了。
應(yīng)用:在安裝了以太網(wǎng)網(wǎng)絡(luò)適配器的計算機中都有專門的ARP緩存,包含一個或多個表,用于保存IP地址以及經(jīng)過解析的MAC地址。在Windows中要查看或者修改ARP緩存中的信息,可以使用arp命令來完成,比如在Windows
XP的命令提示符窗口中鍵入“arp
-a”或“arp
-g”可以查看ARP緩存中的內(nèi)容;鍵入“arp
-d
IPaddress”表示刪除指定的IP地址項(IPaddress表示IP地址)。arp命令的其他用法可以鍵入“arp
/?”查看到.
黃金Ж羚羊
回答時間
20:53
檢舉
!.ˊ傷ㄋ
這一年
回答時間
23:25
檢舉
arp是一種將ip轉(zhuǎn)化成以ip對應(yīng)的網(wǎng)卡的物理地址的一種協(xié)議,或者說ARP協(xié)議是一種將ip地址轉(zhuǎn)化成MAC地址的一種協(xié)議。它靠維持在內(nèi)存中保存的一張表來使ip得以在網(wǎng)絡(luò)上被目標機器應(yīng)答。
為什么要將ip轉(zhuǎn)化成mac呢?簡單的說,這是因為在tcp網(wǎng)絡(luò)環(huán)境下,一個ip包走到哪里,要怎么走是靠路由表定義。但是,當ip包到達該網(wǎng)絡(luò)后,哪臺機器響應(yīng)這個ip包卻是靠該ip包中所包含的mac地址來識別。也就是說,只有機器的mac地址和該ip包中的mac地址相同的機器才會應(yīng)答這個ip包。因為在網(wǎng)絡(luò)中,每一臺主機都會有發(fā)送ip包的時候。所以,在每臺主機的內(nèi)存中,都有一個
arp–>
mac
的轉(zhuǎn)換表。通常是動態(tài)的轉(zhuǎn)換表(注意在路由中,該arp表可以被設(shè)置成靜態(tài))。也就是說,該對應(yīng)表會被主機在需要的時候刷新。這是由于以太網(wǎng)在子網(wǎng)層上的傳輸是靠48位的mac地址而決定的。
通常主機在發(fā)送一個ip包之前,它要到該轉(zhuǎn)換表中尋找和ip包對應(yīng)的mac地址。如果沒有找到,該主機就發(fā)送一個ARP廣播包,看起激森來象這樣子:
“我是主機xxx.xxx.xxx.xxx
,
mac是xxxxxxxxxxx
,ip為xxx.xxx.xxx.xx1的主機請告之你的mac來”
ip為xxx.xxx.xxx.xx1的主機響應(yīng)這個廣播,應(yīng)答ARP廣播為:
“我是xxx.xxx.xxx.xx1,我的mac為xxxxxxxxxx2”
于是,主機刷新自己的ARP緩存,然后發(fā)出該ip包。
了解這些常識后,現(xiàn)在就可以談在網(wǎng)絡(luò)中如何實現(xiàn)ARP欺騙了,可以看看這樣一個例子:
一個入侵者想非法進入某臺主機,他知道這臺主機的防火墻只對192.0.0.3(假設(shè))這個ip開放23口(telnet),而他必須要使用telnet來進入這臺主機,所以他要這么做:
1、他先研究192.0.0.3這臺主機,發(fā)現(xiàn)這臺95的機器使用一個oob就可以讓他死掉。
2、于是,他送一個洪水包給192.0.0.3的139口,于是,該機器應(yīng)包而死。
3、這時,主機發(fā)到192.0.0.3的ip包將無法被機器應(yīng)答,系統(tǒng)開始更新自己的arp對應(yīng)表。將192.0.0.3的項目搽去。
4、這段時間里耐毀,入侵者把自己的ip改成192.0.0.3
5、他發(fā)一個ping(icmp
0)給主機,要求主機更新主機的明畝畝arp轉(zhuǎn)換表。
6、主機找到該ip,然后在arp表中加入新的ip–>mac對應(yīng)關(guān)系。
關(guān)于linux dsniff安裝的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站營銷推廣找創(chuàng)新互聯(lián),全國分站站群網(wǎng)站搭建更好做SEO營銷。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎(chǔ)服務(wù)商,價格厚道。提供成都服務(wù)器托管租用、綿陽服務(wù)器租用托管、重慶服務(wù)器托管租用、貴陽服務(wù)器機房服務(wù)器托管租用。
名稱欄目:輕松學(xué)會Linux下dsniff的安裝方法 (linux dsniff安裝)
分享路徑:http://www.fisionsoft.com.cn/article/djiihpg.html


咨詢
建站咨詢
