雜記 › 技術筆記 › 這個 IP 是哪裡的?歸屬地和電信業者怎麼查、能查到什麼

這個 IP 是哪裡的?歸屬地和電信業者怎麼查、能查到什麼

前陣子一個開網店的朋友傳了截圖:平台提示他的帳號曾在「哈爾濱」登入。人一直在東莞,第一反應是被盜帳號,連夜改密碼,然後來問我到底怎麼查一個 IP 是從哪來的。我讓他先別急,把那串數字發我。查完歸屬地和電信業者,基本確認那是一台雲端伺服器——後來發現是他們廣州的營運同事掛了一個自動化腳本。這件事讓我意識到,IP 歸屬地這東西,查是幾秒鐘的事,難的是看懂它能說明什麼、不能說明什麼。

一、一個 IP 到底「屬於」誰

公網 IPv4 是這樣發下來的:全球分配機構把大塊位址交給區域登記組織,區域組織再分給當地的電信業者和雲端服務商,電信業者把這一段切給某個城域網或某個機房的位址池。所以 36.7.x.x 這類位址的真正含義是「中國電信某一段池子裡的一個號碼」,而不是「某條街某戶人家」。歸屬地查的是這段位址被分配到哪裡,不是這台設備此刻停在哪。

三個日常事實,理解了就不會誤讀結果:

  • 一個公網 IPv4 後面常常站著一群人。IPv4 是 32 位位址,理論上限約 43 億個,早就分完了,於是家用寬頻普遍走電信業者級 NAT,一整片社區共用出口;公司裡三十個人同時打開你的網站,伺服器記錄裡只有專線出口那一個位址。
  • 位址會變。家用寬頻重新撥號就可能換一段;手機在機場和在社區裡上網,走的是完全不同的出口。
  • 內網位址查不到。10.x.x.x、172.16–172.31.x.x、192.168.x.x 屬於內網段,不參與公網路由,任何形式的公開查詢都給不出它的地理位置。

二、歸屬地是「算」出來的,不是「量」出來的

你輸入一個 IP,工具做的事是拿它去一張 IP 段—地區對照表(一般叫 GeoIP 資料庫)裡找覆蓋它的最細那條記錄。這張表怎麼來的?來源是區域登記機構的公開分配統計(誰拿到了哪一段)、電信業者公開資訊,再疊加大量探測節點測到的延遲與路由資料。正因為是「拼出來的表」,它必然有兩點先天不足:一是粒度到城市為止,二是更新有滯後。電信業者調整一次位址池,表可能要幾個月才反映出來。

三、能查到什麼,查不到什麼

可以確認無法確認
國家、省份、城市,精度通常到城市級,不保證區縣街道、門牌,以及螢幕背後那個具體的人
電信業者(ISP):中國電信、中國聯通、中國移動,或某雲端服務商對方的真實物理位置——走代理或 VPN 時,你查到的是它的出口節點
自己此刻的出口 IP(判斷代理有沒有生效、寬頻換沒換位址)套了 CDN 的網站裡訪客的真實來源——記錄裡記的是邊緣節點位址
IPv6 位址(128 位,形如 2001:db8::1)同樣能查內網 IP 的任何地理資訊

第二列那幾行不是我給工具留面子,是這件事的物理邊界:定位到個人屬於依法由有權機關向電信業者調取的範疇,任何一個能公開查詢的網頁工具都不該、也做不到給出這種結果。誰要是宣稱能精確到門牌,那才是需要警惕的訊號。

四、我實際怎麼排查一例「異地登入」

  1. 先把記錄裡的位址抓出來去重。幾百行 access log 貼進 文字排序去重,選「去重保留首次出現」,再看它給的總行數、去重後行數和重複行數——先弄清到底有幾個不同來源,很多時候「大量可疑存取」其實是同一個 IP 的重複請求。
  2. 只留 IP 欄位。用 正規表示式測試,裡面有內建的 IP 位址範本,對著記錄格式改一改就能把位址抽出來,即時醒目提示能當場看出有沒有誤抓。
  3. 逐個查歸屬地和電信業者。在 IP 歸屬地查詢 裡輸入 IPv4 或 IPv6,看城市與電信業者。這一步主要不是看「哪個城市」,而是看電信業者類型:三大電信業者的寬頻段、行動網路段,還是雲端機房的段。
  4. 機房 IP 就換一個解釋。雲端服務商的位址段意味著「有腳本或代理從這裡出去」,跟當事人住在哪沒有半點關係。我朋友那件事走到這一步就結束了。
  5. 對齊時間線。同一帳號 10:02 在東莞、10:47 在哈爾濱,物理上不可能,這才叫異常;只有「歸屬地離我很遠」這一條不構成異常——出差、旅遊、家裡重新撥號、公司走總部出口都可能。
  6. 確認網站前面有沒有 CDN。如果記錄裡訪客高度集中在少數幾個城市、電信業者只有那麼兩家,八成記的是節點位址。這時要讀 X-Forwarded-For 裡最左一項,但這個標頭是客戶端可以自己填的,沒做校驗就不能用來判斷來源。

五、幾條必須記住的邊界

  • 城市級就到頭了。一個城市裡幾百萬人,「歸屬地等於嫌疑人所在地」是錯誤推論,用它做結論會冤枉人。
  • 兩個工具查同一個 IP 結果不一樣是常態。往往說明這段位址近期被重新調配過,或其中一家的資料庫比較舊。別把任何一次查詢當成官方登記。
  • 行動網路下的歸屬地可能是門號歸屬地或骨幹出口,而不是手機的目前位置。
  • 適合拿它做什麼:判斷流量大致從哪來、篩掉明顯的機房爬蟲、給自己網站做存取地區分布、確認自己的出口 IP 有沒有變。
  • 不適合拿它做什麼:認定某個人做了某件事、當作糾紛證據、在公開頁面上展示「某個 IP 對應某地某人」——最後這條既是能力問題也是合規問題。

六、常見疑問

Q:一個 IP 能查到某個人的具體地址嗎?

不能。公開查詢只到城市級,而且 NAT 之後一個出口位址背後可能同時有幾十上百個使用者。要落到具體使用者,只有電信業者和有權機關在合法程序下做得到。

Q:為什麼查出來的城市跟對方實際所在的地方不一樣?

常見原因按機率排:對方走了代理或 VPN(你查到的是節點)、網站套了 CDN(你查到的是邊緣節點)、IP 資料庫更新滯後、對方公司共用異地專線出口、行動網路顯示的是門號歸屬地。

Q:對方用了 VPN,顯示的是哪裡的位址?

顯示的是 VPN 伺服器所在地,通常還會伴隨一個機房類的電信業者標識。看到「某市 + 雲端服務商」這種組合,就該把它當代理出口理解,而不是當身分線索。

Q:網站後台統計的存取來源全是同一個城市,是資料錯了嗎?

更可能是設定問題:記錄的是 CDN 回源位址或經過負載平衡的內網位址。先檢查 X-Forwarded-For 有沒有正確寫入記錄,再談資料分析。

Q:IPv6 也能查歸屬地嗎?

可以,IPv4 和 IPv6 都支援。IPv6 是 128 位,位址段劃方式和 IPv4 不同,各家來源的資料庫覆蓋程度有差異,偶爾會比 IPv4 的結果更粗。

我朋友那件事最後是虛驚一場,但他學到的比我勸他的多:IP 歸屬地是線索不是結論。它能把範圍從「全國」壓到「某個城市 + 某類網路」,剩下的判斷得靠時間線、帳號行為和其他記錄一起對上。真遇到疑似盜帳號,先改密碼、開二次驗證、找平台查登入記錄,比反覆查一個 IP 屬於哪有用得多。

📎 相關文章

PNG 壓了三遍只減 426 位元組:無損壓縮的真實邊界 2026-10-22 WebP 轉 PNG 後體積漲了幾倍:什麼時候必須轉,怎麼把漲幅壓住 2026-10-22 截圖縮到四分之一,小字糊成一團的三種原因 2026-10-22 同樣裁 300×300,頭像為什麼總偏右下角半格 2026-10-22 按每月 1.7 倍預估 18 個月,腳本和表格為什麼給出兩個數 2026-10-22