ARP是什么?
Address Resolution Protocol是指當(dāng)知道一個宿主的網(wǎng)絡(luò)層地址(IP)去尋找對應(yīng)的鏈路層地址(hardware address)的一個方法。這個協(xié)議在RFC826中有明確的規(guī)定。
ARP協(xié)議已經(jīng)被實現(xiàn)在各種各樣的網(wǎng)絡(luò)上,它不僅僅是一種IP專用或者局域網(wǎng)專用的協(xié)議,它能夠映射不同類型的網(wǎng)絡(luò)層協(xié)議地址到實際的物理地址上,但是目前的網(wǎng)絡(luò)環(huán)境下,ARP更多的用來解析IP地址和Mac地址的對應(yīng)關(guān)系。ARP也被用在令牌網(wǎng)絡(luò)、FDDI、IEEE 802.11和ATM中。在下一代IPV6互聯(lián)網(wǎng)中,ARP將主要提供NDP(Neighbour Discovery Protocol)功能。
Fedora下幾個常用的arp命令。
arp 操作系統(tǒng)的arp緩存。
arp -s hostname hw_adr 可以指定靜態(tài)的ip:mac對應(yīng)關(guān)系,從而避免受到arp攻擊的影響
arping arping是一個用來發(fā)現(xiàn)網(wǎng)絡(luò)信息的應(yīng)用程序。相當(dāng)與ping命令,不過是在更基礎(chǔ)的一層進行通訊的測試。使用方法
arping {ip} 也可以指定發(fā)送請求的次數(shù),具體的使用可以 man arping
arptables arptables是linux內(nèi)核中用來設(shè)置、管理arp過濾規(guī)則的映射表格。一般用來防止ARP欺騙,用戶系統(tǒng)中可能會定義多個arptable,一個table中包含一些列的規(guī)則,同時也包含著用戶的規(guī)則。
可以通過arptables來防止Arp request獲得你的Mac地址,這樣攻擊者會認為你的服務(wù)器是不存在的,這樣就可以避免受到arp的攻擊。
arpwatch arpwatch是一款用來監(jiān)測計算機網(wǎng)絡(luò)中arp活動的開源軟件。當(dāng)它運行時會產(chǎn)生一個帶時間戳的IP-MAC對,監(jiān)測ARP活動的原因是為了防止ARP欺騙,這款軟件由伯克利國家實驗室開發(fā)(Lawrence Berkeley National Laboratory)。
ARP欺騙 ARP欺騙也被稱為Arp Posioning,是一種用來攻擊有線或者無線網(wǎng)絡(luò)的攻擊手法。ARP欺騙允許攻擊者探測網(wǎng)絡(luò)中的數(shù)據(jù)幀、修改數(shù)據(jù)流量或者停止數(shù)據(jù)流量。這種攻擊方法只能使用在利用ARP進行IP-Mac映射的網(wǎng)絡(luò)中。
ARP攻擊的主要就是向局域網(wǎng)發(fā)送偽裝過的ARP信息,從而將攻擊者的Mac地址和網(wǎng)絡(luò)中的另一個節(jié)點IP鏈接起來(比如默認的網(wǎng)關(guān))。這樣,所有送往這個地址的信息都會被錯誤的投遞到攻擊者的Mac地址,攻擊者可以查看這些信息并決定如何處理。他可以不加修改的送往這些數(shù)據(jù)原本要送往的地址,也可以將修改后的信息發(fā)送到原地址,還可以將所有的流量導(dǎo)入到另外一個IP,從而發(fā)起DOS進攻。
ARP欺騙工具 Arpspoof、Arppoison、Cain and Abel、Ettercap都可以用來發(fā)起Arp攻擊。
arpoison arpoison的安裝需要libnet的支持,有了這些下載arpoison的源文件進行編譯,在fedora下編譯時需要引用/usr/lib/libnet.so,編譯成功后就可以使用arpoison了。
使用方法 Usage: -i <device> -d <dest IP> -s <src IP> -t <target MAC> -r <src MAC> [-a] [-w time between packets] [-n number to send]
補充資料:修改Mac地址
操作方法是先把網(wǎng)卡禁掉,ifconfig eth0 down,否則會報告系統(tǒng)忙,無法更改;然后用ifconfig etho hw ether 新的mac地址就可以;最后再啟用網(wǎng)卡 ifconfig eth0 up;
如果想永久修改Mac地址,也可以將上面的命令寫在 /etc/rc.d/rc.local 中,這樣每次重啟后就會執(zhí)行這個腳本