地址解析協(xié)議,即ARP(Address Resolution Protocol),是根據(jù)IP地址獲取物理地址的一個(gè)TCP/IP協(xié)議。主機(jī)發(fā)送信息時(shí)將包含目標(biāo)IP地址的ARP請(qǐng)求廣播到局域網(wǎng)絡(luò)上的所有主機(jī),并接收返回消息,以此確定目標(biāo)的物理地址;收到返回消息后將該IP地址和物理地址存入本機(jī)ARP緩存中并保留一定時(shí)間,下次請(qǐng)求時(shí)直接查詢ARP緩存以節(jié)約資源。地址解析協(xié)議是建立在網(wǎng)絡(luò)中各個(gè)主機(jī)互相信任的基礎(chǔ)上的,局域網(wǎng)絡(luò)上的主機(jī)可以自主發(fā)送ARP應(yīng)答消息,其他主機(jī)收到應(yīng)答報(bào)文時(shí)不會(huì)檢測(cè)該報(bào)文的真實(shí)性就會(huì)將其記入本機(jī)ARP緩存;由此攻擊者就可以向某一主機(jī)發(fā)送偽ARP應(yīng)答報(bào)文,使其發(fā)送的信息無(wú)法到達(dá)預(yù)期的主機(jī)或到達(dá)錯(cuò)誤的主機(jī),這就構(gòu)成了一個(gè)ARP欺騙。ARP命令可用于查詢本機(jī)ARP緩存中IP地址和MAC地址的對(duì)應(yīng)關(guān)系、添加或刪除靜態(tài)對(duì)應(yīng)關(guān)系等。相關(guān)協(xié)議有RARP、代理ARP。NDP用于在IPv6中代替地址解析協(xié)議。
1)發(fā)送ARP廣播請(qǐng)求
ARP報(bào)文內(nèi)容:我是10.1.1.1 我的mac:AA
誰(shuí)是10.1.1.3 你的mac:
2)接收ARP單播應(yīng)答
第一步:首先,每個(gè)主機(jī)都會(huì)有自己的ARP緩存區(qū)中建立一個(gè)ARP列表,以表示IP地址和MAC地址之間的對(duì)應(yīng)關(guān)系
第二步:當(dāng)源主機(jī)要發(fā)送數(shù)據(jù)時(shí), 首先檢測(cè)ARP列表中是否對(duì)應(yīng)IP地址的目的主機(jī)的MAC地址 如果有,則直接發(fā)送數(shù)據(jù) 如果沒(méi)有,就向本網(wǎng)段的所有主機(jī)發(fā)送ARP數(shù)據(jù)包,內(nèi)容: 我是IP地址,mac地址,誰(shuí)是IP地址,mac?
第三步:當(dāng)本網(wǎng)絡(luò)的所有主機(jī)收到該ARP數(shù)據(jù)包時(shí), 首先檢查數(shù)據(jù)包中的IP地址是否是自己的IP地址, 如果不是,則忽略該數(shù)據(jù)包 如果是,則首先從數(shù)據(jù)包中取出源主機(jī)的IP和mac地址寫(xiě)入到ARP列表中,如果以存在,則覆蓋 然后將自己的mac地址寫(xiě)入arp響應(yīng)包中,告訴源主機(jī)自己是它想要找的mac地址
第四步:源主機(jī)收到ARP響應(yīng)包后,將目的主機(jī)的IP和mac地址寫(xiě)入arp列表,并利用此信息發(fā)送數(shù)據(jù) 如果源主機(jī)一直沒(méi)有收到arp響應(yīng)數(shù)據(jù)包,表示arp查詢失敗。
無(wú)論是主機(jī),還是交換機(jī)都會(huì)有一個(gè)用來(lái)緩存同一網(wǎng)段設(shè)備IP地址和MAC地址的ARP映射表,用于數(shù)據(jù)幀的轉(zhuǎn)發(fā)。設(shè)備通過(guò)ARP解析到目的MAC之后,將會(huì)在自己的ARP映射表中增加IP地址到MAC地址的映射表,以用于后續(xù)到同一目的地?cái)?shù)據(jù)幀的轉(zhuǎn)發(fā)。ARP表項(xiàng)分為動(dòng)態(tài)ARP表項(xiàng)和靜態(tài)ARP表項(xiàng)。
設(shè)置地址產(chǎn)生ARP報(bào)文,源MAC為自己,目的MAC為4個(gè)0,源IP與目的IP為一個(gè)
ARP命令 ARP緩存中包含一個(gè)或多個(gè)表,它們用于存儲(chǔ)IP地址及其經(jīng)過(guò)解析的MAC地址。ARP命令用于查詢本機(jī)ARP緩存中IP地址-->MAC地址的對(duì)應(yīng)關(guān)系、添加或刪除靜態(tài)對(duì)應(yīng)關(guān)系等。如果在沒(méi)有參數(shù)的情況下使用,ARP命令將顯示幫助信息。
arp -a或arp –g 用于查看緩存中的所有項(xiàng)目。-a和-g參數(shù)的結(jié)果是一樣的,多年來(lái)-g一直是UNIX平臺(tái)上用來(lái)顯示ARP緩存中所有項(xiàng)目的選項(xiàng),而Windows用的是arp -a(-a可被視為all,即全部的意思),但它也可以接受比較傳統(tǒng)的-g選項(xiàng)。
arp -a Ip 如果有多個(gè)網(wǎng)卡,那么使用arp -a加上接口的IP地址,就可以只顯示與該接口相關(guān)的ARP緩存項(xiàng)目。
arp -s Ip 物理地址 可以向ARP緩存中人工輸入一個(gè)靜態(tài)項(xiàng)目。該項(xiàng)目在計(jì)算機(jī)引導(dǎo)過(guò)程中將保持有效狀態(tài),或者在出現(xiàn)錯(cuò)誤時(shí),人工配置的物理地址將自動(dòng)更新該項(xiàng)目。
arp -d Ip 使用該命令能夠人工刪除一個(gè)靜態(tài)項(xiàng)目。
正確答案: 答:ARP協(xié)議不會(huì)對(duì)回復(fù)的數(shù)據(jù)包進(jìn)行驗(yàn)證。
所謂Super VLAN也叫VLAN聚合,這種技術(shù)在同一個(gè)子網(wǎng)中化出多個(gè)Sub VLAN,而將整個(gè)IP子網(wǎng)指定為一個(gè)VLAN聚合(Super VLAN),所有的Sub VLAN都使用Super VLAN的默認(rèn)網(wǎng)關(guān)IP地址,不同的Sub VLAN仍保留各自獨(dú)立的廣播域。子網(wǎng)中的所有主機(jī)只能與自己的默認(rèn)網(wǎng)關(guān)通信。如果將交換機(jī)或IP DSLAM設(shè)備的每個(gè)端口(網(wǎng)絡(luò)中的一對(duì)端其一端輸入的電流與另一端輸出的電流是相等的)化為一個(gè)Sub VLAN,則實(shí)現(xiàn)了所有端口(網(wǎng)絡(luò)中的一對(duì)端其一端輸入的電流與另一端輸出的電流是相等的)的隔離,也就避免了ARP欺騙。
PVLAN即私有VLAN(Private VLAN) ,PVLAN采用兩層VLAN隔離技術(shù),只有上層VLAN全局可見(jiàn),下層VLAN相互隔離。如果將交換機(jī)或IP DSLAM設(shè)備的每個(gè)端口(網(wǎng)絡(luò)中的一對(duì)端其一端輸入的電流與另一端輸出的電流是相等的)化為一個(gè)(下層)VLAN,則實(shí)現(xiàn)了所有端口(網(wǎng)絡(luò)中的一對(duì)端其一端輸入的電流與另一端輸出的電流是相等的)的隔離。
PVLAN和SuperVLAN技術(shù)都可以實(shí)現(xiàn)端口(網(wǎng)絡(luò)中的一對(duì)端其一端輸入的電流與另一端輸出的電流是相等的)隔離,但實(shí)現(xiàn)方式、出發(fā)點(diǎn)不同。PVLAN是為了節(jié)省VLAN,而SuperVlan的初衷是節(jié)省IP地址。
在PC上IP+MAC綁,網(wǎng)絡(luò)設(shè)備上IP+MAC+端口(網(wǎng)絡(luò)中的一對(duì)端其一端輸入的電流與另一端輸出的電流是相等的)綁。但不幸的是Win 98/me、未打arp補(bǔ)丁的win 2000/xp sp1(現(xiàn)在大多都已經(jīng)打過(guò)了)等系統(tǒng) 使用arp -s所設(shè)置的靜態(tài)ARP項(xiàng)還是會(huì)被ARP欺騙所改變。
如果網(wǎng)絡(luò)設(shè)備上只做IP+MAC綁定,其實(shí)也是不安全的,假如同一二層下的某臺(tái)機(jī)器發(fā)偽造的arp reply(源ip和源mac都填欲攻擊的那臺(tái)機(jī)子的)給網(wǎng)關(guān),還是會(huì)造成網(wǎng)關(guān)把流量送到欺騙者所連的那個(gè)(物理)端口(網(wǎng)絡(luò)中的一對(duì)端其一端輸入的電流與另一端輸出的電流是相等的)從而造成網(wǎng)絡(luò)不通。
對(duì)于采用了大量傻瓜交換機(jī)的局域網(wǎng),用戶自己可以采取支持arp過(guò)濾的防火墻(防止外部網(wǎng)絡(luò)用戶以非法手段通過(guò)外部網(wǎng)絡(luò)進(jìn)入內(nèi)部網(wǎng)絡(luò))等方法。推薦Look ‘n’Stop防火墻,支持arp協(xié)議規(guī)則自定義。
更多建議: