- Um serviço de consulta que, ao inserir um IP específico, permite verificar de uma só vez o intervalo de rede e as informações de ASN ao qual o endereço pertence
- O IP de exemplo
2600:1900:0:4004::1a00está incluído na rede CIDR2600:1900::/31 - O intervalo dessa rede é exibido de
2600:1900::até2600:1901:ffff:ffff:ffff:ffff:ffff:ffff - As informações do sistema autônomo incluem ASN 396982,
GOOGLE-CLOUD-PLATFORM-Google LLC, organizaçãoGoogle Cloud Platform, paísUSe RIRARIN - Também fornece dados de localização, permitindo verificar
The Dalles,United States, fuso horárioAmerica/Los_Angeles, latitude45.5999e longitude-121.1871
Estrutura de resposta de IP e rede
- O IP consultado é
2600:1900:0:4004::1a00 - O objeto
networkfornece em conjunto o intervalo de rede ao qual esse IP pertence e as informações do sistema autônomo- CIDR:
2600:1900::/31 - Início dos hosts:
2600:1900:: - Fim dos hosts:
2600:1901:ffff:ffff:ffff:ffff:ffff:ffff
- CIDR:
Informações de ASN
- No objeto
autonomous_system, é possível verificar campos relacionados ao sistema autônomo da rede- ASN:
396982 - Nome:
GOOGLE-CLOUD-PLATFORM-Google LLC - Organização:
Google Cloud Platform - País:
US - RIR:
ARIN
- ASN:
Informações de localização
- O objeto
locationfornece informações geográficas associadas ao IP- Cidade:
The Dalles - País:
United States - Fuso horário:
America/Los_Angeles - Latitude:
45.5999 - Longitude:
-121.1871
- Cidade:
1 comentários
Comentários do Hacker News
Em um serviço desses, seria bom informar se é uma escola. Isso porque daria para saber a possibilidade de estar lidando com menores de idade, ambientes compartilhados e firewalls.
Claro que a identificação de escolas teria de ser feita pelo lado do serviço, e o ponto de partida poderia ser rDNS. Gostei da velocidade de resposta.
Classificamos ASN e empresa/organização em quatro categorias: ISP, educação, hospedagem e negócios; essa classificação em nível de ASN se baseia principalmente em WHOIS e registros públicos da internet.
Porém, não detalhamos em escola, universidade, instituição pública de pesquisa, K-12 etc. O motivo é a precisão. Dá para imaginar o método, mas é difícil fazê-lo de forma estável em larga escala.
Como provedor de dados, queremos oferecer a maior precisão possível e garantir a qualidade do serviço. Quando alguém precisa desse nível de classificação, normalmente perguntamos primeiro quais dados são necessários e ajudamos a encontrar uma solução que o próprio usuário possa construir. O usuário pode criar a classificação desejada de acordo com o nível de precisão que consegue aceitar.
Seria útil ter um parágrafo simples sobre RIPE, BGP e ARIN.
Também tenho curiosidade se há uma forma de fazer isso com IPv6.
Seria bom saber se aquele IP está hospedado em uma grande empresa de tecnologia, como AWS ou Azure. Talvez isso já apareça nas informações de rede.
Se houver um hostname associado ao IP, seria bom poder ver isso também. Não sei até que ponto a ideia é transformar em uma ferramenta tudo-em-um.
IPv6 tem suporte nativo. Se houver um endereço IPv6, ele deve aparecer automaticamente. Exemplo: https://ip.guide/2600::
Também gostei da ideia de mostrar o hostname associado ao IP. Vou pensar na melhor forma de buscar esses dados mantendo o app rápido e sem estado.
No momento uso
curl ipinfo.io, que retorna JSON e, com base no Wi‑Fi do hotel que estou usando agora, parece usar uma consulta de geolocalização mais precisa.Porém, não informa a rede, e o ASN também é só uma string combinando ASN e nome, sem organização nem país, então essa parte é uma vantagem desta ferramenta.
Só que
curl ip.guideretorna apenas uma resposta vazia por causa do redirecionamento. Se seguir o redirecionamento com-L, o JSON não vem formatado de forma legível.Porém, temos um banco de dados gratuito de IP para país/ASN, atualizado diariamente e com precisão completa. Esse banco fornece ASN, organização do AS e domínio do AS.
Acho que o motivo de oferecermos mais informações no banco gratuito, mas não colocarmos mais detalhes de ASN na API, tem a ver com o público-alvo e a usabilidade dos metadados de IP.
A API pode ser acessada sem token até 1.000 vezes por dia, e não fazemos concessões na precisão dos dados. O objetivo é um serviço amplamente útil e muito rápido. Informações detalhadas de ASN continuam acessíveis gratuitamente no site. Por isso precisamos equilibrar API gratuita, informações gratuitas na web e API/banco de dados pagos.
Incentivamos a adoção do banco gratuito IP-to-Country ASN. Ele pode ser usado de graça e tem precisão completa. Se alguém quiser criar uma API pública que retorne mais informações de ASN em cima dos bancos gratuitos da IPinfo, será bem-vindo.
Tenho curiosidade sobre de onde vêm as informações de geolocalização. Tenho usado o banco gratuito MaxMind GeoLite2 e a API GeoIP2 em Python para esse tipo de coisa, mas muitos IPs que quero mapear só chegam ao nível de país, e alguns desses também parecem suspeitos.
Também gostaria de saber se há limite de requisições nas consultas.
Por exemplo, na Alemanha, algumas operadoras atribuem um IP aleatório de um pool usado por metade do país e dão um novo IP a cada 24 horas. Como geolocalizar isso em um banco de dados baixável?
Não há limite nem autenticação nas requisições, mas, como mencionado abaixo, a API começa a aliviar carga a partir de 2 mil requisições simultâneas.
Gosto de APIs HTTP com URLs simples e amigáveis, como
[https://${domain}/${query}](<https://${domain}/${query}>). Fico curioso se alguém conhece uma lista de serviços assim. Um exemplo que conheço é o wttr.in.Tenho curiosidade se há planos de disponibilizar o download do banco de dados nos formatos MMDB, CSV e JSON. Assim ele poderia ser usado offline, como a IPinfo.io faz com seu banco de dados gratuito de IP.
Gostei da API e do tempo de resposta. Tenho algumas perguntas.
Gostaria de saber se há planos de abrir o código como open source no futuro, e se você já estava familiarizado com Rust ou se escolheu Rust por desempenho ou por planos de produto comercial.
Também queria saber com que frequência as informações do RIPE e os dados da MaxMind são atualizados hoje em dia, ou se esse é o ciclo de 8 horas.
Rust foi uma grande oportunidade de aprendizado para mim. Antes deste projeto, eu só tinha feito dois pequenos projetos em Rust.
Os dumps MRT usados para obter dados de BGP são atualizados a cada 8 horas, e parece que a MaxMind é atualizada duas vezes por semana.
Gosto da simplicidade. Eu ofereço um serviço parecido, mas com mais foco em endereços IP de bots/datacenters/VPNs.
https://ipdetective.io
Ao consultar uma rede, seria útil mostrar também os endereços inicial/final. Assim, ao usar esta ferramenta, não preciso abrir uma calculadora CIDR separada.
https://wasab.is também é parecido.
Mas o fato de este aqui buscar dados de BGP a cada 8 horas é muito legal.