<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          我是怎么莫名地劫持了自己的 DHCP 的

          共 3120字,需瀏覽 7分鐘

           ·

          2020-08-23 07:54


          Docker 技術(shù)鼻祖系列

          1. DNS 搶答

          我們都知道,傳統(tǒng)的 DNS 走的是 UDP 協(xié)議,在大陸的網(wǎng)絡(luò)環(huán)境下,DNS 請求是可以被搶答的,不信你看:

          # 美西的機器
          root@pf:~# dig www.bennythink.com +short
          104.27.167.30
          104.27.166.30

          # 大陸的機器
          ?  ~ dig www.bennythink.com +short
          67.15.129.210

          天知道國內(nèi)這個這是個什么 IP!

          DNS 搶答有不少優(yōu)點,比如:

          • 對于國內(nèi)用戶而言,DNS 請求不再需要一層層遞歸到原始 NS 服務(wù)器了
          • 整個大陸有超多 POP 為對應(yīng)的請求響應(yīng),縮小了延遲
          • 減少了 NS 服務(wù)器的壓力和請求次數(shù)

          唯一的問題就是:

          • 它解析出來的 IP 是不能用的

          2. DHCP

          對于 DHCP 的簡要原理,在之前的博文(我們的 IP 是怎么來的——從本地路由 DHCP 到 IANA 的 “公網(wǎng)” IP 分配[1])中我們知道,和 DNS 類似,它也是一個走 UDP 的,隨緣返回的一個協(xié)議,但是和 DNS 不同,大部分的 DHCP 請求都是在一些內(nèi)網(wǎng)中,由于路由器廣播域的限制,DHCP 請求一般不會被漏到公網(wǎng)中。

          DHCP Error

          前段時間在配置一個網(wǎng)絡(luò)的時候,插上自己電腦的網(wǎng)線發(fā)現(xiàn) IP 不再是熟悉的 192.168.1.xxx ,而變成了 10.19.89.xxx,“但是依然可以正常上網(wǎng)”。

          這個時候第一反應(yīng)是訪問一下之前的網(wǎng)關(guān) 192.168.1.1,發(fā)現(xiàn)能 ping 通,也可以正常地訪問到對應(yīng)的配置頁面。

          這個時候問題就非常奇怪了,除了在寢室內(nèi)有配置過這個段以外,應(yīng)該不會在什么地方配置這么個段吧…

          思前想后終于想到了在某個圖形化的界面上配置過這么個 IP 段:

          然后突然想到了角落的一臺 NUC,那還是幾天之間為了保證國內(nèi)其他地區(qū)用戶可以通過它連接到國內(nèi)大內(nèi)網(wǎng)中而隨意開的一個 SoftEther VPN Server,最初嘗試失敗之后就被擱置了,沒想到它的 SecureNAT 功能在本地內(nèi)網(wǎng)內(nèi)成為了一個 DHCP 服務(wù)器繼續(xù)發(fā)光發(fā)熱。

          DHCP Packet

          在大概確認了來源之后,就開始打開 Wireshark 開始抓包了,很快就可以看到又如下的包:

          從上面的包中我們可以看到,我的電腦先是對外發(fā)了一個 DHCP Discovery 的廣播包,然后有兩個 DHCP 服務(wù)器給我們客戶端發(fā)了 Offer ,分別是 192.168.1.1 和 10.19.89.1,且后者先給的 Offer,于是我們的客戶端接受了這個 10.19.89.1 的 Offer。

          由于沒有配置 IP 地址、網(wǎng)關(guān)、DNS 等,在網(wǎng)絡(luò)上是寸步難行的,因此首先需要從 DHCP 那獲得這些。然而,既然連 IP 地址都沒有,那又是如何通信的?顯然,只能發(fā)到廣播地址(255.255.255.255)上,而自己則暫時使用無效的 IP 地址(0.0.0.0)。(事實上,鏈路層的通信只要有 MAC 地址就行,IP 地址已屬于網(wǎng)絡(luò)層了,但 DHCP 由于某些特殊需要使用的是 UDP 協(xié)議)

          因為是發(fā)往廣播,內(nèi)網(wǎng)環(huán)境里的所有用戶都能聽到。如果存在多個 DHCP 服務(wù)器,則分別予以回復;用戶則選擇最先收到的。由于規(guī)則是如此簡單,以至于用戶沒有選擇的余地。

          來源:https://www.jianshu.com/p/aed707f183c5

          所以之前的問題也就非常明顯了,由于自己的配置失誤,被內(nèi)網(wǎng)另一個 DHCP 服務(wù)器搶答了 DHCP 請求(連網(wǎng)關(guān)都搶過去了),所有的流量都走了那臺 NUC,然后那臺 NUC 再向上轉(zhuǎn)發(fā)了對應(yīng)的流量。

          這個時候另一個問題出現(xiàn)了,為什么同在 192.168.1.0/24 網(wǎng)段下的 NUC 可以更快地發(fā)出 DHCP Offer 呢?

          所以在一個內(nèi)網(wǎng)下,如果想要劫持原有用戶流量我們可以走 ARP 欺騙的路子,如果希望劫持新用戶的流量,還可以考慮一下 DHCP 搶答的方式(當然,成功率隨緣),這個時候回頭來看一下在學校里面非常常用的 EtterCap 的 DHCP Spoof 功能…

          感慨萬千…

          參考資料

          [1]

          我們的 IP 是怎么來的——從本地路由 DHCP 到 IANA 的 “公網(wǎng)” IP 分配: https://nova.moe/how-the-ips-are-assigned/

          原文鏈接:https://nova.moe/multiple-dhcp-answer/



          你可能還喜歡

          點擊下方圖片即可閱讀

          Awesome Kubernetes 系列:第一期

          云原生是一種信仰 ?



          碼關(guān)注公眾號

          后臺回復?k8s?獲取史上最方便快捷的 Kubernetes 高可用部署工具,只需一條命令,連 ssh 都不需要!



          點擊 "閱讀原文" 獲取更好的閱讀體驗!

                   
          ??給個「在看」,是對我最大的支持??
          瀏覽 59
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  美女被干操的视频网站 | 国产女人操逼打咆视频 | 免费亚洲视频在线观看 | 99视频在线看 | 黄色三级视频在线观看 |