2008-11-08 23 views
19

IP nào được gán cho thông tin công khai của ISP nào? Các dịch vụ IP địa lý thu thập thông tin này và duy trì thông tin này như thế nào?Tra cứu địa lý theo IP hoạt động như thế nào?

Làm cách nào để cá nhân tôi có thể tìm ra nơi một IP nhất định thuộc về mà không sử dụng một trong các dịch vụ này?

+2

Bạn có thể quan tâm đến [bản đồ IP xkcd] (http://xkcd.com/195/). –

Trả lời

36

Đối với những gì đáng giá, tôi đã làm việc ở cấp cao trong ngành công nghiệp ISP trong hơn một thập kỷ nên tôi có một số kinh nghiệm về điều này.

Dải IP lớn được phân bổ khi cần thiết theo số IANA cho mỗi Regional Internet Registries.

Các khu vực thường có kích thước lục địa - Địa chỉ IP là không phải được chỉ định trên cơ sở mỗi quốc gia.

RIR lần lượt phân bổ địa chỉ IP cho ISP, những người này lần lượt chỉ định họ cho người dùng cuối.

Mỗi RIR duy trì máy chủ whois có thể được truy vấn để tìm hiểu không chỉ ISP nào được chỉ định bất kỳ netblock nào, nhưng ở một mức độ nhất định mà người dùng cuối và địa chỉ của người dùng cuối đó.

Lưu ý rằng nhiều ISP không điền thông tin này cho từng khách hàng. Do đó, nếu bạn là một thuê bao dân cư của một dịch vụ DSL, có khả năng là các bản ghi địa lý sẽ cung cấp địa chỉ của ISP của bạn, chứ không phải địa chỉ của riêng bạn.

Các nhà cung cấp GeoLocation khác nhau chủ yếu hoạt động bằng cách khai thác các bản ghi whois này. Lưu ý rằng tính hợp pháp của việc làm như vậy là một thứ gì đó của một vùng màu xám - bản quyền cơ sở dữ liệu của RIPE là here.

IANA cũng duy trì vùng gốc cho DNS, nhưng điều đó hoàn toàn tách biệt với mọi chức năng phân bổ IP. Điều rất quan trọng để duy trì sự khác biệt giữa các hoạt động tên miền và địa chỉ IP.

2

Hãy coi chừng, dữ liệu thường được cập nhật chậm và thậm chí còn chậm hơn để nhân rộng. Nơi làm việc của tôi đã thay đổi ISP cách đây vài năm và chúng tôi được chỉ định một khối địa chỉ IP trước đây của Canada (chúng tôi có trụ sở tại Hoa Kỳ), trong nhiều tháng Google tiếp tục cung cấp cho chúng tôi google.ca làm công cụ tìm kiếm mặc định của chúng tôi. Khoảng 1/2 thời gian địa chỉ IP nhà của tôi xuất hiện như là từ thị trấn của tôi, 1/2 khác từ một thị trấn ở tiểu bang khác.

Jason đúng là quá trình này giống nhau, nhưng các cập nhật thậm chí còn chậm hơn và dữ liệu kém chính xác hơn.

+0

Vâng vâng, khi bạn di chuyển xuống tên miền, mọi thứ trở nên chậm hơn và chậm hơn và mất nhiều thời gian hơn để truyền bá ... –

+0

Ngoài ra còn có vấn đề nếu ISP của bạn có trụ sở tại một quốc gia khác. Joel đã viết về điều này với chủ nhà của mình là người Canada. –

+0

Jason - đó là rác rưởi. Nó không phải là "cách xa ngăn xếp" bạn đang có. Bất kỳ ISP nào cũng có thể thực hiện thay đổi hiển thị trong dữ liệu "whois" ngay lập tức. Việc thu thập dữ liệu đó có thể là chậm (có thể là bất hợp pháp) của các nhà cung cấp GeoLoc. – Alnitak

4

Có nhiều thư viện có bảng ánh xạ cũng như các dịch vụ mà bạn có thể kết hợp vào mã của mình.

Điều quan trọng nhất cần hiểu là có không có mối quan hệ trực tiếp giữa địa chỉ IP và bất kỳ phần nào của thế giới. Các địa chỉ được phân bổ trong các khối lớn cho các tổ chức gần như địa lý, do đó phân bổ các khối nhỏ hơn, điều này có thể xảy ra ở nhiều cấp độ cho bất kỳ địa chỉ IP nào (Alnitak giải thích tốt quá trình).

Thực tế là: Dữ liệu WHOIS không phải chính xác. Nếu tôi có một khối địa chỉ, tôi có thể nói nó là trên sao Hỏa. Và ngay cả khi bạn thu hẹp vị trí của tổ chức cuối cùng (nói một ISP rất nhỏ ở Alaska), người dùng có thể đang sử dụng quay số từ Hawaii hoặc máy chủ có thể đang lưu trữ một công ty từ Guam.

Vì vậy, luôn có yếu tố rủi ro/ước tính trong việc ánh xạ địa chỉ IP (hoặc tên miền) đến một vị trí thực tế. Đây không phải là để nói rằng bạn không bao giờ nên làm điều đó, có rất nhiều ứng dụng mà thông tin thô hoặc không hoàn hảo là rất hữu ích.

1

Câu trả lời của Alnitak là khá nhiều trên nhãn hiệu.

Lưu ý phụ, nếu bạn muốn sử dụng .dll để xác định vị trí của người dùng, thì bạn có thể thử số này IPAddressExtension được tìm thấy trên CodePlex. Nó có một cơ sở dữ liệu nội bộ của ISP đến các địa điểm. Như đã đề cập ở trên bởi Alnitak, mỗi ISP có các khối IP .. vì vậy thông tin này được chôn lấp bên trong .dll :)

Nó thực sự dễ sử dụng. Chỉ cần tham khảo .dll và sau đó tạo một thể hiện của đối tượng System.Net.IpAddress! các tiện ích được liệt kê trên đó.

Tôi cũng cần phải tuyên bố rằng tôi là tác giả của dự án/sản phẩm codeplex đó.

Vui lòng kiểm tra nó ra :)

EDIT: thêm thông tin về tôi là tác giả của sản phẩm đó.

+3

Bạn nên chỉnh sửa câu trả lời của mình để cho biết rằng bản thân bạn thực ra là tác giả của IPAddressExtension. Nếu không, mọi người có thể nghĩ rằng bạn đang lạm dụng các điều khoản sử dụng SO. – bzlm

4

Để trả lời câu hỏi cụ thể về "cách hoạt động": có rất nhiều lao động thủ công, và cơ sở dữ liệu ở mức độ lớn được duy trì thủ công. Cũng giống như các câu trả lời khác chỉ ra, không có mối tương quan thực sự giữa các phạm vi IP và các quốc gia, các khu vực ít cụ thể hơn nhiều. Gần đây, hệ thống phân phối không gian địa chỉ IP thậm chí còn được phân cấp nhiều hơn có nghĩa là các nhà cung cấp tư nhân nhỏ có thể có được các dải địa chỉ IPv4 bất kể khu vực địa lý. Đây là lý do tại sao Google đề xuất Urchin để họ có thể sử dụng dịch vụ của họ cho Google Analytics, cung cấp rất thông tin địa lý IP chính xác.

Nếu bạn không muốn sử dụng một dịch vụ như MaxMind (miễn phí cho sử dụng cá nhân, và cơ sở dữ liệu được mở cho một mức độ nào) hoặc Google Analytics (miễn phí cho sử dụng cá nhân), có hoàn toàn miễn phí (và do đó luôn hơi lỗi thời) cơ sở dữ liệu trôi nổi xung quanh, đôi khi là tệp phẳng.

Các vấn đề liên quan