講了太多硬知識,來講個有趣的,也就是中間人攻擊(Man-in-the-Middle)的原理,中間人攻擊能讓同個局域網下的電腦在發送封包時經過你的電腦,再轉給路由器,你成為了一個中間人,可以對流過你的封包進行加工及監視
首先,一般的局域網網路架構如下所示,有HostA和HostB,直接連上router並透過router連上internet
我們現在要想個辦法,弄成如下結構,且不止request要經過HostB,response也要
那要怎麼做呢?這就要用到前一天講的ARP協議,ARP的IP和MAC address的映射表分別存在電腦主機和路由器裡面,電腦程式在組建封包時是寫入ip地址的,而mac地址則是根據本地的ARP映射表產生,所以只要能修改HostA和Router的ARP映射表就好了!那要怎麼改其他主機的ARP映射表呢?
假設
Host名稱 | IP地址 | MAC地址 |
---|---|---|
Router | 192.168.1.1 | 02:42:ac:12:00:02 |
HostA | 192.168.1.2 | 02:42:ac:12:00:03 |
HostB | 192.168.1.3 | 02:42:ac:12:00:04 |
只要兩個步驟:
HostA的ARP映射表
IP | MAC Address |
---|---|
192.168.1.1 | 02:42:ac:12:00:04 |
192.168.1.3 | 02:42:ac:12:00:04 |
Router的ARP映射表
IP | MAC Address |
---|---|
192.168.1.2 | 02:42:ac:12:00:04 |
192.168.1.3 | 02:42:ac:12:00:04 |
確保封包走過自己後就能偷偷做很多事啦!可以竄改DNS,把網址指向的ip指向自己的ip、可以阻止受害者使用https協議,就能看到明文密碼等等