如何找出使用者帖子原始碼IP地址,準確查出發帖人IP地址!

晶晶的IP知識發表於2023-04-21

   按日期橫向來比較,不同網站查詢到的IP地址不一樣。為了方便說明,這裡先忽略第一列的「保留地址」,只看後面三列的資料,ip123 和 baidu 查詢 IP 都屬於方正寬頻,chinaz 查詢到的IP屬於聯通,這是因為長城寬頻租用了基礎運營商-聯通的頻寬,所以如果走聯通的出口獲取到的就是聯通的公網IP。這裡也可以這麼理解,當筆者本機請求 ip138、baidu、chinaz 這三個站點時,因為請求的「目標站點」不一樣的,選擇的出口不一致,因此接入公網的IP就不一樣了。 這種情況在小的運營商裡很常見(透過基礎運營商電信、聯網、移動接入公網),尤其是長寬、歌華、寬頻通(俗稱二手運營商)等,據說接入的是聯網、電信這樣寬頻服務不會出現類似的問題。簡單點說,你的網路運營商有多個出口,不同出口的IP公網地址不同。
二、縱向比較與分析

    如果以某個網站為基準縱向對比,同樣的運營商(ISP),為什麼查詢到的IP公網地址也不相同呢?答案是「動態NAT技術」。

1. NAT技術原理介紹:


    在 IPv4 地址資源越來越緊張的今天,很多電信運營商,已經不再為使用者分配公網IP;而是直接在運營商自己的路由器上運營 NAT,為使用者分配內網 IP。這樣,只需要少量的 IP 地址,就可以支撐大量使用者的上網需求。這樣的 NAT 又叫做 CGN(Carrier-grade NAT,電信級 NAT)。


2、什麼是動態NAT?

    使用公有地址池,並以先到先得的原則分配這些地址。當具有私有IP地址的主機請求訪問 Internet 時,動態 NAT 從地址池中選擇一個未被其它主機佔用的 IP 地址一對一的轉化。當資料會話結束後,路由器會釋放掉公有IP地址回到地址池,以提供其他內部私有IP地址的轉換。

3、動態選擇公網IP地址

    內網中有裝置需要去訪問我們公網,需要做一個NAT地址轉換,把我們私網的IP地址轉換成我們公網的IP地址,這時就需要使用動態NAT了,使用地址池中的公網地址進行IP地址轉換,去訪問我們的公網,因為選擇的公網IP是隨機的或者變化的,所以我們查詢到IP地址就不一樣了。

三、保留地址:運營商級NAT IP地址

    現在來說下最開始提到的「保留地址」,ipshudi 網站查到的兩個IP地址有個特點,他們的地址都是在「100.64.0.0~100.127.255.255」這個範圍以內,這個保留地址也是用於內網,但是這個內網不是一般內網而是Carrier-grade NAT,這個英文對應的翻譯是“運營商級NAT”。進一步搜尋得知2012年4月的 RFC 6598 (IANA-Reserved IPv4 Prefix for Shared Address Space) 將100.64.0.0/10 (Shared Address Space) 地址塊,用於給運營商ISP使用。

    常見的保留地址見下圖,這個資料是我們網上可以搜到的,但是因為比較老舊了,所以看不到上面提到的「Carrier-grade NAT」保留地址:


更加「完善」的保留地址:

 

既然在「ipshudi」網站查到的兩個IP地址都是NAT處理後的內網地址,它們就是動態生成的,所以不一樣也就可以理解了。

    「注意」:為什麼一個內網地址可以在「ipshudi」這樣的第三方站點查到呢?筆者在CDN後臺的請求IP日誌裡也找到了和「ipshudi」同樣的內網地址。內網IP是不可以直接和外網站點就行連線和通訊的,那這個地址是怎麼獲取到的呢?所以筆者的猜想是:「ipshudi」和 「CDN站點」在筆者接入的方正寬頻的內網裡也有伺服器,既然使用者和第三方伺服器都都在同一個內網,所以獲取到的IP地址也是內網地址,見下表的第一行:



四、結語

    既然使用者的IP地址是變化的,那麼CDN用後臺記錄的IP來做黑名管理可能就不是那麼準確了。因為使用者發起請求的的公網IP在不斷變化,惡意請求源IP就無法準確定位了。另外,如果單個公網IP透過NAT由多個使用者共享並聯網,那麼被黑名單遮蔽的公網IP可能會影響到其他的正常請求服務的使用者了。

     為了弄明白上面的這個問題,筆者查閱了相關文章,重拾起「計算機網路」的基礎知識,對一些疑惑的知識點有了更清晰和更深入的理解。推薦幾篇非常好的文章,能幫助你快速建立計算機網路的整體知識結構和圖譜,並且輕鬆掌握一些比較難理解的基礎知識,可以進一步幫助你的工作和學習。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70028065/viewspace-2947574/,如需轉載,請註明出處,否則將追究法律責任。

相關文章