RARP就是一種反向地址轉換協議,就是將局域網中某個主機的物理地址轉換為IP地址,比如局域網中有一臺主機只知道物理地址而不知道IP地址,那么可以通過RARP協議發出征求自身IP地址的廣播請求,然后由RARP服務器負責回答。RARP協議廣泛用于獲取無盤工作站的IP地址。
要想知道什么是RARP那就必須要知道什么是ARP。
ARP(Address Resolution Protocol,地址解析協議)是一個位于TCP/IP協議棧中的低層協議,它用于映射計算機的物理地址與網絡的IP地址。ARP所要做的工作就是在主機發送幀前,根據目標IP地址獲得MAC地址,以保證通信過程的順利。
這個只要是懂點網絡安全的人ARP協議多少也都知道吧,RARP與ARP工作方式相反。
RARP發出要反向解釋的物理地址并希望返回其IP地址,應答包括能夠提供所需信息的RARP服務器發出的IP地址。RARP獲取IP地址前提是要知道自己IP地址的機器向另一臺機器上的服務器發送請求,并等待服務器發出響應,開始的時候并不知道服務器的物理地址,所以一般通過廣播來尋找。一旦通過廣播對地址的請求,就必須唯一標識自己的硬件標識,這里所說的硬件標識最簡單的例子就是CPU序列號,這個標識能讓可執行程序容易獲得。源主機收到從RARP服務器的響應消息后,就可以利用得到的IP地址進行通信。說白了這個RARP就是一種反向地址轉換協議,就是將局域網中某個主機的物理地址轉換為IP地址,比如局域網中有一臺主機只知道物理地址而不知道IP地址,那么可以通過RARP協議發出征求自身IP地址的廣播請求,然后由RARP服務器負責回答。RARP協議廣泛用于獲取無盤工作站的IP地址。
RARP工作原理:
1)主機發送一個本地的RARP廣播,在此廣播包中,聲明自己的MAC地址并且請求任何收到此請求的RARP服務器分配一個IP地址。
2)本地網段上的RARP服務器收到此請求后,檢查其RARP列表,查找該MAC地址對應的IP地址。
3)如果存在,RARP服務器就給源主機發送一個響應數據包并將此IP地址提供給對方主機使用。
4)如果不存在,RARP服務器對此不做任何的響應。
5)源主機收到從RARP服務器的響應信息,就利用得到的IP地址進行通訊;如果一直沒有收到RARP服務器的響應信息,表示初始化失敗。
5、編寫arp腳本抓取對應主機mac地址:
#!/bin/bash
index=1
num=0
while[ $index -le 254 ]
do
if[ $num -lt 20 ];then
sleep 1
num=0
continue
fi
ping -cl "192.168.0.$index"&
let index++
let num++
done