Linux下arp靜態繫結MAC位址詳解

2021-09-02 03:02:40 字數 3067 閱讀 9589

|

首先,做兩個對比試驗:

root@firewall root]#arp -a

? (192.168.100.83) at 00:15:58:a2:13: d0 [ether] on eth0

? (192.168.100.81) at 00:15:c5:e1:d1:58 [ether] on eth0

[root@firewall bin]#arp -s 192.168.100.81 00:15:c5:e1:d1:58

[root@firewall bin]#arp -a

? (192.168.100.83) at 00:15:58:a2:13: d0 [ether] on eth0

? (192.168.100.81) at 00:15:c5:e1: d1:58 [ether] perm on eth0

發現沒有?多了乙個perm!

或者

[root@firewall bin]#cat /proc/net/arp

ip address  hwtype  flags  hwaddress  mask  device

192.168.100.83  0x1  0x2  00:15:58:a2:13:d0  *  eth0

192.168.100.81  0x1  0x6  00:15:c5:e1:d1:58  *  eth0

[root@firewall bin]#arp -s 192.168.100.83 00:15:58:a2:13:d0

[root@firewall bin]#cat /proc/net/arp

ip address  hw type  flags  hw address  mask  device

192.168.100.83  0x1  0x6  00:15:58:a2:13:d0  *  eth0

192.168.100.81  0x1  0x6  00:15:c5:e1: d1:58  *  eth0

發現沒有?flags改變了!

#arp -a | grep perm

或者

#cat /proc/net/arp | grep 0x6

但建議用後者比較快。

利用靜態arp表進行控制

我們知道,arp(address resolution protocol,位址轉換協議)被當作底層協議,用於ip位址到實體地址的轉換。在乙太網中,所有對ip的訪問最終都轉化為對網絡卡mac位址的訪問。

不妨設想一下,如果主機a的arp列表中,到主機b的ip位址與mac位址對應不正確,由a發往b資料報就會發向錯誤的mac位址,當然無法順利到達b,結 果是a與b根本不能進行通訊。linux可以通過arp命令控制arp轉換,即ip到mac的轉換。因此,也能利用這一功能對使用者mac位址進行匹配。下面我們就來看看arp命令的用法。

輸入arp將顯示當前所有arp轉換記錄,類似於這樣:

由此可以看到,當前系統保留的ip位址與mac位址一一對應,並指明了硬體型別(hwtype)和通訊所使用的介面(iface)。不過這些都是動態生成的,無需手工干預。我們要做的恰恰是手工干預這一過程。 

我們需要用到arp

命令的另一重要功能,就是手工更改這一對應關係。此外,該命令還可以讀取文字檔案中的arp記錄,其預設檔案是/etc/ethers。也就是說,當輸入arp-f的時候,系統就會讀取/etc/ethers這個檔案,並以其中的專案取代系統當前的arp記錄。假設/etc/ethers 檔案內容如下:

192.168.100.2500:02:01:50:bb:53

然後執行命令arp –f

這時,我們檢視系統arp表,會發現無論192.168.100.25原來對應的mac位址是什麼,都會被新的所取代:

此時,本機發往192.168.100.25的資料報目標mac位址將由原來的00:02:1e:f1:92:c2改為00:02:01:50:bb:53

顯然,如果192.168.100.25所在網絡卡的mac位址並非00:02:01:50:bb:53,資料報就無法到達正確的目的地,那麼它們也就無法通訊了,這樣也達到了識別非法使用者的目的。

當然,控制mac位址的方法還不止這些,例如可以利用交換機的埠管理功能識別使用者。根據交換機的原理,它是直接將資料傳送到相應埠,那麼就必須保有乙個資料庫,包含所有埠所連網絡卡的mac位址,由此可見,控制每個埠使用的mac位址理論上是完全可行的。大部分中高階交換機如3com superstack系列等,都具有這種功能。具體操作與交換機型號有關,這裡就不贅述。

最後,提醒一下,mac位址控制並非絕對保險。正如這個世界上沒有絕對解不開的密碼一樣,所謂安全都是相對於特定的環境而言。現在,很多網絡卡都支援mac位址的軟體修改,linux和windows本身也都有辦法修改這一實體地址。不過由於這種方式相對穩定,摒棄了繁瑣的客戶端設定,對使用者完全透明,而且具備很強的可操作性,所以在某種程度上說是安全的。

**:

linux 下C 實現 ARP發布,和ARP監聽

改造自 g o即可編譯通過。ubuntu 14.04 可以用適當的方法,在寢室裡,讓室友不能上網。include include include include include include include include include include include include 如果只是想...

linux下的arp欺騙實現

由於畢業設計的需要,我需要在linux下實現arp欺騙,現在將我的一點心得寫下來,因為本人目前也在學習中,希望大家廣提意見,謝謝!首先安裝libpcap,libnet,libnids,compat db,openssl,如果沒有的話請到 在安裝前要注意一下,因為這個dsniff已經很久沒有更新了,所...

linux下防範arp欺騙攻擊

原貼 http blog.chinaunix.net u1 47189 showart 396686.html linux下防範arp欺騙攻擊 rurutiaposted 2007年04月23日 12 17am in linux with tags arp攻擊 前兩天家裡的網斷斷續續,發現有人在用a...