更多的理論問題。是的,我知道這些問題在這裏不受歡迎。但假設像MaxMind GeoIP這樣的API不存在,並且您想要構建將IP地址轉換爲其所在城市的服務。您會做什麼?你將如何去解決這個問題?如何在不使用API的情況下查找IP地址的位置?
2
A
回答
4
- 使用whois數據庫找出IP分配給誰。
- 使用DNS對IP地址執行反向查找。
- 使用traceroute基於猜測導致該主機
舉個例子路由器上的位置,讓我們來看看stackoverflow.com(64.34.119.12)
$ whois 64.34.119.12 | egrep "(OrgName)|(City)|(State)|(Country)"
OrgName: Peer 1 Network Inc.
City: New York
StateProv: NY
Country: US
的whois告訴我們,他們可能在紐約州紐約市。
$ host 64.34.119.12
12.119.34.64.in-addr.arpa domain name pointer stackoverflow.com.
反向DNS(PTR記錄)在這裏沒有幫助。但是,許多ISP確實有區域特定的反向DNS條目,可以幫助完成此過程(特別是對於動態分配的主機)。舉個例子:
$ host 24.25.195.1
1.195.25.24.in-addr.arpa domain name pointer sndgca-dns-cac-01.san.rr.com.
該主機顯然是識別和定位由它的PTR記錄:在加利福尼亞州聖迭戈的一個時代華納(跑腿)緩存DNS服務器
現在,回到stackoverflow.com定位過程:
$ traceroute stackoverflow.com
traceroute to stackoverflow.com (64.34.119.12), 64 hops max, 40 byte packets
ms
(... removed the first few hops ...)
8 ae-6-6.ebr1.Chicago1.Level3.net (4.69.140.189) 30.9 ms 28.855 ms 25.183 ms
9 ae-2-2.ebr2.NewYork2.Level3.net (4.69.132.66) 54.373 ms 54.197 ms 48.171 ms
10 ae-6-6.ebr2.NewYork1.Level3.net (4.69.141.21) 48.250 ms 50.712 ms 51.293 ms
11 ae-62-62.csw1.NewYork1.Level3.net (4.69.148.34) 59.493 ms ae-82-82.csw3.NewYork1.Level3.net (4.69.148.42) 51.694 ms ae-62-62.csw1.NewYork1.Level3.net (4.69.148.34) 58.315 ms
12 ae-3-89.edge1.NewYork1.Level3.net (4.68.16.142) 51.529 ms ae-2-79.edge1.NewYork1.Level3.net (4.68.16.78) 50.77 ms ae-3-89.edge1.NewYork1.Level3.net (4.68.16.142) 50.567 ms
13 10ge-te-1-1.nyc-75bre-dis-2.peer1.net (216.187.115.77) 50.776 ms 51.193 ms 56.166 ms
14 gig2-0.nyc-gsr-b.peer1.net (216.187.123.5) 54.994 ms 58.813 ms 51.794 ms
15 gwny01.stackoverflow.com (64.34.41.58) 54.121 ms 52.65 ms 54.166 ms
16 * * *
(... remaining time outs removed ...)
路由跟蹤輸出證實了我們的懷疑,stackoverflow.com在NY,NY舉行。
這是在沒有API的情況下處理地理定位的一種方法。
1
我真的在猜測這裏,但這可能工作。
IP範圍由IANA分配給區域提供商。他們有五個。反過來,每個區域供應商都將IP範圍分配給最終用戶和互聯網服務提供。 如果您可以從地區提供商及其所在的ISP客戶那裏獲取/購買信息。
相關問題
- 1. 如何在不使用API的情況下通過IP地址查找位置
- 2. 如何在不使用地圖的情況下找到用戶的位置android
- 3. 如何使用Google API獲取IP地址的地理位置?
- 4. 如何從PHP中的IP地址查找用戶位置
- 5. 如何在不使用JAVA IP的情況下獲得MAC地址?
- 6. 如何從IP地址找到位置?
- 7. 如何在不使用gprs的情況下查找移動當前位置?
- 8. 如何查找IP地址的歷史地理位置,可能使用maxmind?
- 9. 如何在不知道IP的情況下查找本地網絡服務器?
- 10. 如何在不使用IP地址的情況下獲取MAC地址在java套接字編程中
- 11. 如何在PostgreSQL中查找IP對的最高使用情況?
- 12. 使用設備IP地址查找位置
- 13. 如何在不查找表格的情況下使用_IEFormElementRadioSelect
- 14. ip2location僅用於查找特定位置的ip地址
- 15. IP地址位置
- 16. 使用IP地址來查找在Python
- 17. JavaScript的:如何查找IP地址
- 18. 如何查找dnsserver的ip地址?
- 19. 如何在as3中查找ip地址?
- 20. 如何在codeigniter中查找IP地址?
- 21. 查找IP地址
- 22. 多少個IP地址確實在以下情況下
- 23. 如何在網絡中查找未使用的IP地址?
- 24. 在不使用谷歌地圖的情況下顯示地圖上的位置
- 25. 英國IP地址查找API
- 26. 如何從IP地址列表中查找IP地址範圍
- 27. 在java中使用IP地址查找位置的示例代碼?
- 28. 如何在不使用服務器端代碼的情況下使用PhoneGap和JavaScript獲取IP地址
- 29. 如何在不使用READ_CONTACTS權限的情況下查找聯繫人的地址?
- 30. 如何在不使用位掩碼的情況下在整數中設置位