iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
3

怎麼知道這段路上住著哪些人?

當我們在忠孝東路上,要知道所有忠孝東路(10.0.0.0/16網段)有哪些人呢?這些人名(mac address)要怎麼對應到地址(ip address)呢?
假設現在有一個人名為N00B(00:11:22:33:44:55),住在忠孝東路三段1號(10.0.3.1/16)想要知道忠孝東路三段9號(10.0.3.9/16)的鄰居叫什麼名字,這個時候他就會大喊(broadcast):

誰住在忠孝東路三段9號!!

因為所有人都聽得到,因此住在忠孝東路三段9號的小美(33:55:33:22:66:77)就會向N00B回應(unicast):

是我

接著N00B會在他的arp table裡面寫上小美就住在忠孝東路三段9號,以後要跟小美聊天就直接去忠孝東路三段9號找他,直到N00B覺得是時候要在更新一次arp table裡面的對應關係時,會再問一次誰住在忠孝東路三段9號

  • 由於arp table存在於cache中,因此會被timeout掉,timeout後會再重新建立上述流程

阿如果沒人回,代表arp失敗

可憐哪

如果有小屁孩一直亂回

這裡要講到大學中電腦網路常常講到的arp欺騙,那啥叫欺騙,以下範例就是欺騙的過程
N00B去問誰住在忠孝東路三段9號時,由於是用廣播的方式告訴整條路上的人,所以每個人都聽得到是誰在問。
小屁孩(FF:CC:DD:00:A5:B3)住在忠孝東路三段87號,就説:

是我
是我
是我
是我
是我
是我

講很多次,結果蓋過小美說的次數,讓N00B的arp table記錄成小屁孩住在忠孝東路三段9號

會出現啥問題?

N00B想傳給小美,結果傳錯給小屁孩,這個時候小屁孩會偷看到N00B想對小美說的話,會有資安疑慮。
當網路裡面,突然發現arp table的MAC address突然改變,就代表:

  1. 小美斷網了,DHCP server把該IP給了別人。(正常)
  2. 小屁孩在吵,可能出現問題arp table的問題。(資安疑慮)

如何防範?

  1. 如果DHCP server高級一點,會紀錄是不是有小屁孩來亂。可藉由這個log判斷是不是又有人來亂。
  2. 如果DHCP server爛到爆炸(沒log功能)又或者網路中都使用固定IP,就可以傾向於使用靜態arp table,不管小屁孩怎麼亂,arp table都是固定的,不會被小屁孩干擾。

上一篇
只剩58分鐘可以打文章之static routing
下一篇
閒聊Multicast
系列文
不是工程師也能看懂的routing小技巧30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言