Networking

使用主機名確定使用者的狀態

  • June 18, 2012

不確定這是否是正確的 SE 站點。我認為這個問題不屬於 SO,但如果您認為它也不屬於這裡,我深表歉意。

我一直在研究確定訪問我網站的使用者的位置,特別是狀態。我已經知道一段時間的選項之一是GeoIP City Database,但這不是最具成本效益的解決方案,而且我很便宜,所以我一直在尋找一種更便宜的方法。我想到的是,我的狀態位於康卡斯特分配給我的公共主機名中:

(Dash Separated IP).hsd1.ma.comcast.net

其他 ISP 是否有可能遵循相同的模式將州縮寫詞插入其使用者的主機名?我一直在尋找其他 ISP 的主機名列表,但我沒有找到任何東西。任何人都可以驗證這適用於其他主要 ISP 嗎?

**編輯:**您的狀態在您的主機名中嗎?是縮寫還是寫出來的?它在它自己的子域中嗎?


經過一番探勘,我發現 Verizon FiOS 客戶的主機名中有位置數據。他們遵循的一般模式似乎是:

static-(Dash Separated IP).(City Abbreviation)(State Abbreviation).fios.verizon.net

例如,波士頓的 FiOS 客戶的主機名如下所示:

static-(Dash Separated IP).bstnma.fios.verizon.net

我可以從中提取一個狀態,讓我相信一定有其他 ISP 遵循這種模式。其他人可以通過檢查他們的主機名是否包含他們的狀態來確認嗎?

GeoIP 還提供了一個具有明顯缺點的免費版本,例如它不那麼準確。在這裡能找到它:

http://www.maxmind.com/app/geolite

如果您對網站的網路分析感興趣。我建議使用 piwik。這是一個免費的解決方案,並將 GeoIP 作為外掛內置。它將向您顯示您的流量來自哪裡,並且您擁有所有數據,這與使用Google分析不同。對於不希望另一家公司擁有他們的數據的大公司和小公司來說,這可能是一個問題。

就 MO 而言,我沒有來自我的 ISP 的狀態。

引用自:https://serverfault.com/questions/399802