Pergunta

É que IPs são atribuídos ao qual ISPs informação pública? Como serviços IP geo obter essa informação e manter esta informação?

Como posso pessoalmente descobrir onde um determinado IP pertence sem usar um desses serviços?

Foi útil?

Solução

Por que vale a pena, eu trabalhei em um nível sênior na indústria de ISP por mais de uma década, por isso tenho bastante experiência com isso.

Grandes faixas de IP são alocados conforme necessário por IANA a cada um dos Regional Internet Registries .

As regiões são geralmente continental em tamanho -. Os endereços IP são não atribuído em uma base per-country

Os RIRs por sua vez, em seguida, alocar endereços IP para ISPs, que por sua vez, atribuí-los aos utilizadores finais.

Cada um dos RIRs manter um servidor whois que pode ser consultado para saber não só quais ISP foi atribuído qualquer netblock, mas até certo ponto que o usuário final, e endereço de que o usuário final.

Note que muitos provedores não preencher esta informação para cada cliente. Portanto, se você é um assinante residencial de um serviço DSL, é provável que os registros Geo vai dar o endereço do seu ISP, e não o seu próprio endereço.

Os vários provedores de geolocalização trabalham principalmente pela mineração esses registros whois. Note-se que a legalidade de fazê-lo é algo de uma área cinzenta - declaração de direitos autorais de banco de dados do RIPE é aqui .

IANA também mantém a zona de raiz para o DNS, mas que é completamente separado de quaisquer funções de alocação de IP. É muito importante manter a distinção entre operações de nomes de domínio e endereços IP.

Outras dicas

Há uma variedade de bibliotecas que têm tabelas de mapeamento, bem como serviços que você pode incorporar em seu código.

A coisa mais importante a entender é que existe nenhuma relação direta entre um endereço IP e qualquer parte do mundo. Os endereços são alocados em grandes blocos para organizações que são aproximadamente geográfica, que por sua vez alocar blocos menores, isso pode acontecer em vários níveis para um determinado endereço IP (Alnitak explica o processo bem).

O fato é: dados WHOIS não tem que ser preciso. Se eu tiver um bloco de endereço, eu posso dizer que é em Marte. E mesmo se você diminuir a localização da organização final (dizer uma pequena ISP no Alasca), o usuário pode estar usando dial-up do Havaí, ou o servidor pode estar hospedando uma empresa de Guam.

Assim, há sempre um elemento de risco / estimativa no mapeamento de um endereço IP (ou nome de domínio) para um local físico. Isso não quer dizer que você nunca deve fazê-lo, há muitas aplicações onde a informação áspera ou imperfeita é muito útil.

Para responder à pergunta específica sobre "como funciona": há um monte de trabalho manual envolvido, e os bancos de dados são, em grande medida mantido manualmente . Assim como outras respostas apontam, não há nenhuma correlação real entre faixas de IP e países, regiões muito menos específicos. Recentemente, o sistema de distribuição de espaço de endereço IP foi descentralizada ainda mais o que significa que pequenos vendedores particulares podem adquirir intervalos de endereços IPv4, independentemente da região geográfica. É por isso que o Google acquried Urchin para que pudessem utilizar os seus serviços para o Google Analytics, que fornece muito informações IP-a-geográfico-região precisa.

Se você não quiser usar um serviço como MaxMind (gratuito para uso pessoal e o banco de dados está aberto até certo ponto) ou Google Analytics , há livre (e, portanto, sempre um pouco desatualizado) bancos de dados que flutuam ao redor, às vezes como arquivos simples.

Cuidado, os dados são muitas vezes lentos para ser atualizado, e até mesmo mais lento para replicar. Meu local de trabalho ISPs mudou um número de anos atrás, e nós designado um bloco de endereços IP anteriormente canadenses (estamos com base nos EUA), por meses o Google continuou a dar-nos google.ca como nosso mecanismo de pesquisa padrão. Cerca de 1/2 do tempo de minha casa endereço IP aparece como sendo da minha cidade, o outro 1/2 de uma cidade em outro estado.

Jason é certo que o processo é o mesmo, mas as atualizações são ainda mais lento e os dados menos preciso.

A resposta de Alnitak é praticamente na marca.

Como uma nota lateral, se você quiser usar um .dll para determinar a localização do usuário, então você pode tentar este IPAddressExtension encontrado na CodePlex . Ele tem um banco de dados interno do ISP para locais. Como mencionado acima por Alnitak, cada ISP tem blocos de IP .. então esta informação é todos enterrados no interior do .dll:)

É muito fácil de usar. Apenas referenciar o arquivo .dll e, em seguida, criar uma instância de um Sistema. Net.IpAddress objeto! as extensões são listadas nele.

Eu também preciso declarar que eu sou o autor desse codeplex projeto / produto.

Por favor confira:)

EDIT:. Adicionado informações sobre eu ser o autor desse produto

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top