3 pontos por GN⁺ 2023-11-26 | 1 comentários | Compartilhar no WhatsApp
  • 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::1a00 está incluído na rede CIDR 2600: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ção Google Cloud Platform, país US e RIR ARIN
  • Também fornece dados de localização, permitindo verificar The Dalles, United States, fuso horário America/Los_Angeles, latitude 45.5999 e longitude -121.1871

Estrutura de resposta de IP e rede

  • O IP consultado é 2600:1900:0:4004::1a00
  • O objeto network fornece 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

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

Informações de localização

  • O objeto location fornece 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

1 comentários

 
GN⁺ 2023-11-26
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.

    • Trabalho na IPinfo. No site, oferecemos gratuitamente informações de classificação de IP em nível alto.
      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.
    • A IPINFO.io tem essa informação, mas eu também gostaria que esse tipo de dado estivesse em um serviço gratuito.
    • Universidades ou instituições de ensino superior podem ter escolas K-12 associadas, especialmente quando pesquisam pedagogia ou ficam em regiões isoladas.
    • Um modelo opt-in em que a escola envia seu próprio endereço/faixa de IP parece uma boa ideia.
  • 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.

    • Vou adicionar tooltips aos campos menos óbvios para explicar o que cada um significa.
      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.
    • Eu também sempre tive curiosidade sobre de onde esses sites tiram as informações.
  • 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.guide retorna apenas uma resposta vazia por causa do redirecionamento. Se seguir o redirecionamento com -L, o JSON não vem formatado de forma legível.

    • Trabalho na IPinfo. Informações detalhadas de ASN em nível de API estão disponíveis nos planos pagos.
      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.
    • O site não oferece suporte a HTTP, então é preciso seguir o redirecionamento. Acabei de implantar o recurso de formatação legível.
  • 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.

    • Para ser justo, alguns IPs não podem ser mapeados de forma razoável além do nível de país. Embora a MaxMind muitas vezes tente.
      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?
    • O IP Guide também usa MaxMind. Não conheço muitas outras fontes de dados para esse tipo de informação. Fico curioso se você está vendo discrepâncias.
      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.
    • Ainda não vi um endereço Geo-IP que sequer coloque meu IP na metade correta do país. Essa informação é quase impossível de acreditar, e uso este endereço IP há quase 6 anos.
    • Tenho curiosidade sobre o tamanho do banco de dados da MaxMind.
  • 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.

    • Ao clicar em “bulk data”, aparecem dois CSVs hospedados estaticamente com dados de ASN e IP. Fico curioso sobre quais informações adicionais seriam úteis nesse conjunto de dados. Expandir isso é bem fácil.
  • 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.

    • Acho que não há um motivo forte para manter fechado.
      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.

    • Boa ideia. Está sendo implantado agora.
  • https://wasab.is também é parecido.
    Mas o fato de este aqui buscar dados de BGP a cada 8 horas é muito legal.

    • Curiosamente, esse site só vê meu endereço IPv4, mas o ip.guide retorna IPv6 automaticamente.
    • Legal. Fico curioso se isso é um fork do ifconfig.co.