3 ポイント 投稿者 GN⁺ 2023-11-26 | 1件のコメント | WhatsAppで共有
  • 特定のIPを入力すると、そのアドレスが属するネットワーク範囲とASN情報をまとめて確認できる照会サービス
  • 例のIP 2600:1900:0:4004::1a00CIDR 2600:1900::/31 ネットワークに含まれる
  • このネットワークの範囲は 2600:1900:: から 2600:1901:ffff:ffff:ffff:ffff:ffff:ffff までと表示される
  • 自律システム情報には ASN 396982GOOGLE-CLOUD-PLATFORM-Google LLC、組織 Google Cloud Platform、国 US、RIR ARIN が含まれる
  • 位置データもあわせて提供され、The DallesUnited States、タイムゾーン America/Los_Angeles、緯度 45.5999、経度 -121.1871 を確認できる

IPとネットワークの応答構造

  • 照会対象のIP2600:1900:0:4004::1a00
  • network オブジェクトは、そのIPが属するネットワーク範囲と自律システム情報をまとめて提供する
    • CIDR: 2600:1900::/31
    • ホスト開始: 2600:1900::
    • ホスト終了: 2600:1901:ffff:ffff:ffff:ffff:ffff:ffff

ASN情報

  • autonomous_system オブジェクトでは、ネットワークの自律システムに関するフィールドを確認できる
    • ASN: 396982
    • 名前: GOOGLE-CLOUD-PLATFORM-Google LLC
    • 組織: Google Cloud Platform
    • 国: US
    • RIR: ARIN

位置情報

  • location オブジェクトは、IPに関連付けられた地理情報を提供する
    • 都市: The Dalles
    • 国: United States
    • タイムゾーン: America/Los_Angeles
    • 緯度: 45.5999
    • 経度: -121.1871

1件のコメント

 
GN⁺ 2023-11-26
Hacker Newsのコメント
  • こういうサービスなら、学校かどうかを分かるようにしてくれるとよいと思う。未成年、共有環境、ファイアウォールを相手にしている可能性が分かるからだ
    もちろん学校の識別はサービス側で行う必要があり、出発点としては rDNS が使えるかもしれない。応答速度は気に入っている

    • IPinfo で働いている。ウェブサイトでは上位レベルのIP分類情報を無料で提供している
      ASN と会社/組織を ISP、教育、ホスティング、ビジネスの4種類に分類しており、この ASN レベルの分類は主に WHOIS と公開インターネット記録に基づいている
      ただし、学校、大学、公的研究機関、K-12 のように細分化はしていない。理由は精度だ。やり方自体は想像できるが、大規模に安定して実現するのは難しいためだ
      データ提供者の立場としては、できるだけ高い精度を提供し、サービス品質を保証したい。このレベルの分類が必要なら、通常はまず必要なデータを確認し、ユーザーが自分で構築できる解決策を見つけられるよう支援する。ユーザーは自分が許容できる精度水準に合わせて、望む分類を作ることができる
    • IPINFO.io にはその情報があるが、自分もこうした情報が無料サービスにあるとよいと思う
    • 大学や高等教育機関には、特に教育学を研究していたり孤立した地域にあったりする場合、K-12 学校が付随していることがある
    • 学校が自分のIPアドレス/帯域を提出するオプトイン方式ならよさそうだ
  • RIPE、BGP、ARIN についての簡単な段落があると助かる
    IPv6 でもこれを行う方法があるのかも気になる
    その IP が AWS や Azure のような大手テック企業でホスティングされているかも分かるとよい。もしかするとネットワーク情報にすでに表れているのかもしれない
    IP に結び付いたホスト名があるなら、それも分かるとよい。どこまでワンストップなツールにするのかは分からないが

    • 分かりにくいフィールドにはツールチップを追加して、それぞれが何を意味するのか説明するつもりだ
      IPv6 は標準でサポートしている。IPv6 アドレスがあれば自動で表示される。例: https://ip.guide/2600::
      IP に結び付いたホスト名を表示するというアイデアも気に入っている。アプリをステートレスかつ高速に保ちながら、そのデータを取得する最善の方法を考える必要がある
    • 自分もこういうウェブサイトがどこから情報を取っているのか、いつも気になっていた
  • 今は curl ipinfo.io を使っているが、JSON を返し、今使っているホテルの Wi‑Fi を基準にすると、より正確なジオロケーション検索を使っているように見える
    ただしネットワークは報告せず、ASN も ASN と名前をつなげた文字列にすぎず、組織や国はないので、このツールのその部分は利点だ
    ただ、curl ip.guide はリダイレクトのせいで空の応答しか返さない。-L でリダイレクトをたどると JSON が見やすく整形されていない

    • IPinfo で働いている。API レベルの詳細なASN情報は有料ティアで提供している
      ただし、毎日更新され、精度を完全に備えた無料の IP-to-ASN 国別データベースがある。このデータベースは ASN、AS 組織、AS ドメイン情報を提供する
      無料データベースではより多くの情報を提供しつつ、API に ASN 詳細をあまり入れていない理由は、対象ユーザーと IP メタデータの使いやすさにあると考えている
      API はトークンなしで1日 1,000 回までアクセスでき、データ精度には妥協していない。目標は全体として有用で非常に高速なサービスであることだ。詳細な ASN 情報はウェブサイトでも引き続き無料でアクセスできる。したがって、無料 API、無料のウェブ情報、有料 API/データベースの間でバランスを取る必要がある
      無料の IP-to-Country ASN データベースの採用を勧めている。無料で使え、精度も完全だ。誰かが IPinfo の無料データベースの上に、より多くの ASN 情報を返す公開 API を作りたいなら歓迎する
    • サイトは HTTP をサポートしていないので、リダイレクトをたどる必要がある。ちょうど今、見やすく整形する機能をデプロイした
  • ジオロケーション情報をどこから取っているのか気になる。こういう用途で無料の MaxMind GeoLite2 データベースと GeoIP2 Python API を使ってきたが、マッピングしたい多くの IP アドレスが国レベルまでしか落ちず、その一部も怪しく見える
    クエリにリクエスト制限があるのかも気になる

    • 公平に言えば、IP の中には国レベルを超えて合理的にマッピングできないものもある。MaxMind はしばしば試みてはいるが
      たとえばドイツでは、一部の通信事業者が国の半分で使うプールからランダムな IP を割り当て、24 時間ごとに新しい IP を与える。こういうものをダウンロード可能なデータベースでどうやってジオロケーションできるだろうか
    • IP Guide もMaxMindを使っている。そういうデータについて、ほかのデータソースはあまり知らない。不一致が起きているのか気になる
      リクエストに制限や認証はないが、下でも述べたように、API は同時リクエストが 2,000 件に達したあたりから負荷緩和を始める
    • 自分の IP を国の正しい側の半分にでも表示する Geo-IP アドレスはまだ見たことがない。この情報はほとんど信頼できず、この IP アドレスをもう 6 年近く使っている
    • MaxMind データベースのサイズがどれくらいなのか気になる
  • [https://${domain}/${query}](<https://${domain}/${query}>;) のような、シンプルでユーザーフレンドリーな URL を持つHTTP APIはよいと思う。こういうサービスの一覧を知っている人がいるか気になる。自分が知っている例では wttr.in がある

  • データベースをMMDB、CSV、JSON形式でダウンロードできるように提供する考えがあるのか気になる。そうすれば IPinfo.io が無料 IP データベースで提供しているように、オフラインで活用できる

    • 「bulk data」をクリックすると、ASN と IP データを含む静的ホスティングされたCSV 2つが見える。そのデータセットにどんな情報がさらにあると役立つか気になる。拡張するのはかなり簡単だ
  • API と応答時間が気に入った。いくつか気になる点がある
    今後オープンソースとして公開する計画があるのか、Rust にすでに慣れていたのか、それとも性能や商用製品の計画のために Rust を選んだのか気になる
    RIPE 情報と MaxMind データは最近どれくらいの頻度で更新されているのか、あるいはそれが 8 時間周期なのかも気になる

    • 閉じておく強い理由はないと思う
      Rust は自分にとって大きな学習機会だった。このプロジェクト以前は、Rust で小さなプロジェクトを2つやった程度だった
      BGP データを取得するMRT ダンプは 8 時間ごとに更新され、MaxMind は週 2 回更新されているようだ
  • シンプルでよい。自分は似たサービスを提供しているが、ボット/データセンター/VPN IP アドレスにより重点を置いている
    https://ipdetective.io

  • ネットワークを照会するとき、開始/終了アドレスも一緒に表示されると助かる。このツールを使うたびに CIDR 計算機を別に開かなくて済む

    • いいアイデアだ。今デプロイ中だ
  • https://wasab.is も似ている
    ただしこちらはBGP データを 8 時間ごとに取得している点がとても素晴らしい

    • 不思議なことに、このサイトは自分の IPv4 アドレスしか表示しないが、ip.guide は自動で IPv6 を返す
    • すばらしい。これは ifconfig.co のフォークなのだろうか