要破解使用Netcut造成的斷線問題,必須先瞭解Netcut的運作原理。由於Netcut使用的是假造ARP封包造成目標主機ARP table記錄錯誤來達成斷線目的,因此必須先由ARP協議開始說明。
在乙太網路上僅僅知道某台主機的IP address,並不能立即將封包傳送過去,必須先查明該主機的實體位址(Physical address / MAC address)才能真正發送出去,而ARP協議的功用就是在於將IP address轉換成實體位址。
網路上每一台主機都有一個ARP table,此table中記錄了最近一段時間裡其它IP address及其MAC address的對應關係。
如果本機想跟某一台主機通信,則會先在ARP table中查尋對應目的主機IP address的MAC address,如果該對應記錄存在,則直接將目的主機的MAC address填入Data Link層的封包表頭中,然後將封包發送出去;如果該對應記錄不存在,則會向本網段廣播一個ARP請求封包,當目的主機聽見該請求封包後,會將本身的MAC address填入封包並用廣播方式回送出去,本機收到此回應封包後,就會將相關訊息記錄在ARP table中,然後將目的主機的MAC address填入Data Link層的封包表頭裡。
由於ARP請求封包發送端只管接收回應訊息,卻無法分辨訊息的真偽,因此第三方主機只要建構一個ARP欺騙封包,就可以造成請求端的ARP table資訊錯誤。
在乙太網路上僅僅知道某台主機的IP address,並不能立即將封包傳送過去,必須先查明該主機的實體位址(Physical address / MAC address)才能真正發送出去,而ARP協議的功用就是在於將IP address轉換成實體位址。
網路上每一台主機都有一個ARP table,此table中記錄了最近一段時間裡其它IP address及其MAC address的對應關係。
如果本機想跟某一台主機通信,則會先在ARP table中查尋對應目的主機IP address的MAC address,如果該對應記錄存在,則直接將目的主機的MAC address填入Data Link層的封包表頭中,然後將封包發送出去;如果該對應記錄不存在,則會向本網段廣播一個ARP請求封包,當目的主機聽見該請求封包後,會將本身的MAC address填入封包並用廣播方式回送出去,本機收到此回應封包後,就會將相關訊息記錄在ARP table中,然後將目的主機的MAC address填入Data Link層的封包表頭裡。
由於ARP請求封包發送端只管接收回應訊息,卻無法分辨訊息的真偽,因此第三方主機只要建構一個ARP欺騙封包,就可以造成請求端的ARP table資訊錯誤。