Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/zmap/zannotate
OSINT (オープンソースインテリジェンス)偵察ネットワークマッピング情報収集脅威インテリジェンスDNS分析
GitHubzmap/zannotate

zannotate

インターネットデータセットにコンテキストメタデータ(例: 発信元AS、MaxMind GeoIP2、リバースDNS、WHOIS)を注釈付けするためのユーティリティ。

リポジトリを見る
123221ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
zannotate — インターネットデータセットにコンテキストメタデータ(例: 発信元AS、MaxMind GeoIP2、リバースDNS、WHOIS)を注釈付けするためのユーティリティ。 | Kitploit

ZAnnotate

ZAnnotateは、大規模なIPデータセットにネットワークメタデータを付与するためのGoユーティリティです。現在は以下に対応しています。

CLIフラグ説明APIキーが必要データダウンロードが必要
--censysCensys インターネットインテリジェンス(ライブAPI)はい
--cymruCymru IP発信元/ピアASNおよびASN詳細
--geoasnMaxMind GeoIP ASNデータはい
--geoip2MaxMind GeoIP2都市および地理位置情報データはい
--greynoiseGreyNoise Psychic脅威インテリジェンスおよびCVEデータはい(ダウンロード用)はい
--ipinfoIPInfo.io ASNおよび地理位置情報データはい
--rdapRDAP(WHOISの後継)ルックアップ(ライブ)
--rdns逆引きDNSルックアップ(ライブ)
--routingMRTルーティングテーブルからのBGP/ルーティングデータはい
--spurSpur Intelligence(ASN、組織、インフラ分類、地理位置情報)はい

モジュール設定へ移動: Censys · Cymru · GeoASN · GeoIP · GreyNoise · IPInfo.io · RDAP · RDNS/逆引きDNS · ルーティング/BGP · Spur

アノテータは任意の組み合わせで使用できます。例えば、以下は逆引きDNSとIPInfoのアノテーションを併用した例です:

root@kitploit:~
echo "1.1.1.1" | zannotate --rdns --ipinfo --ipinfo-database=./data-snapshots/ipinfo_lite.mmdb
root@kitploit:~
{
   "ip":"1.1.1.1",
   "ipinfo":{"country":"Australia","country_code":"AU","continent":"Oceania","continent_code":"OC","asn":"AS13335","as_name":"Cloudflare, Inc.","as_domain":"cloudflare.com"},
   "rdns":{"domain_names":["one.one.one.one"]}
}

各アノテータの詳細と利用可能なフラグは --help にあります。

root@kitploit:~
zannotate --help

インストール

ZAnnotateは make install でインストールできます。

root@kitploit:~
make install

または、make がインストールされていない場合は、次のコマンドを使用できます。

root@kitploit:~
cd cmd/zannotate && go install

どちらの方法でも、zannotate バイナリが $GOPATH/bin ディレクトリにインストールされます。

正しくインストールされたかどうかは次のコマンドで確認できます。

root@kitploit:~
zannotate --help

入力/出力

入力

改行区切りのIP

デフォルトでは、ZAnnotateは標準入力から改行区切りのIPアドレスを受け取ります。例:

root@kitploit:~
printf "1.1.1.1\n8.8.8.8" | zannotate --rdns
root@kitploit:~
{"ip":"1.1.1.1","rdns":{"domain_names":["one.one.one.one"]}}
{"ip":"8.8.8.8","rdns":{"domain_names":["dns.google"]}}

JSON

すでにJSON形式のデータにアノテーションを付けたい場合は、--input-file-type=json フラグを使用する必要があります。これにより、既存のJSONオブジェクトに zannotate フィールドが挿入されます。例:

root@kitploit:~
echo '{"ip": "1.1.1.1"}' | zannotate --rdns --geoasn --geoasn-database=/path-to-geo-asn.mmdb --input-file-type=json
root@kitploit:~
{"ip":"1.1.1.1","zannotate":{"geoasn":{"asn":13335,"org":"CLOUDFLARENET"},"rdns":{"domain_names":["one.one.one.one"]}}}

JSONオブジェクトのIPアドレスのフィールドがデフォルトの ip と異なる場合は、--input-ip-field フラグで指定できます。例えば、JSONオブジェクトに ip_address がある場合は、次のようにします:

root@kitploit:~
echo '{"ip_address": "1.1.1.1"}' | zannotate --rdns --input-file-type=json --input-ip-field=ip_address
root@kitploit:~
{"ip_address":"1.1.1.1","zannotate":{"rdns":{"domain_names":["one.one.one.one"]}}}

CSV

入力データがCSV形式の場合は、--input-file-type=csv フラグを使用できます。

root@kitploit:~
printf "name,ip,date\n cloudflare,1.1.1.1,04-04-26\n google,8.8.8.8,04-04-26" | zannotate --rdns --input-file-type=csv
root@kitploit:~
{"name":" cloudflare","ip":"1.1.1.1","date":"04-04-26","zannotate":{"rdns":{"domain_names":["one.one.one.one"]}}}
{"name":" google","ip":"8.8.8.8","date":"04-04-26","zannotate":{"rdns":{"domain_names":["dns.google"]}}}

JSONと同様に、--input-ip-field フラグを使用して、IPアドレスを含む ip 以外の列を指定できます。

root@kitploit:~
printf "name,ip_address,date\n cloudflare,1.1.1.1,04-04-26\n google,8.8.8.8,04-04-26" | zannotate --rdns --input-file-type=csv --input-ip-field=ip_address
root@kitploit:~
{"date":"04-04-26","zannotate":{"rdns":{"domain_names":["dns.google"]}},"name":" google","ip_address":"8.8.8.8"}
{"date":"04-04-26","zannotate":{"rdns":{"domain_names":["one.one.one.one"]}},"name":" cloudflare","ip_address":"1.1.1.1"}

出力

デフォルトでは、ZAnnotateは標準入力から改行区切りのIPアドレスを読み取り、標準出力に1行ごとにJSONオブジェクトを出力します。例:

root@kitploit:~
echo "1.1.1.1" | zannotate --rdns --geoasn --geoasn-database=/path-to-geo-asn.mmdb
root@kitploit:~
{"ip":"1.1.1.1","geoasn":{"asn":13335,"org":"CLOUDFLARENET"},"rdns":{"domain_names":["one.one.one.one"]}}

エラーまたはデータ不足によりIPアドレスにアノテーションを付けられない場合、そのアノテーションのフィールドは空になります。例えば、IPアドレスがプライベートでありRDNSやASNデータがない場合、出力は次のようになります:

root@kitploit:~
echo "127.0.0.1" | zannotate --rdns --geoasn --geoasn-database=/path-to-geo-asn.mmdb
root@kitploit:~
{"geoasn":{},"rdns":{},"ip":"127.0.0.1"}

JSONおよびCSV出力フラグ

--output-annotation-field フラグを使用すると、CSVおよびJSONファイル入力の両方で、アノテーションのフィールド名を zannotate の代わりに別の名前に指定できます。

例えば、JSON入力で出力タグ --output-annotation-field="info" を使用する場合:

root@kitploit:~
printf "name,ip_address,date\n cloudflare,1.1.1.1,04-04-26\n google,8.8.8.8,04-04-26" | zannotate --rdns --input-file-type=csv --input-ip-field=ip_address --output-annotation-field="info"
root@kitploit:~
{"name":" cloudflare","ip_address":"1.1.1.1","date":"04-04-26","info":{"rdns":{"domain_names":["one.one.one.one"]}}}
{"ip_address":"8.8.8.8","date":"04-04-26","info":{"rdns":{"domain_names":["dns.google"]}},"name":" google"}

モジュール

[!NOTE] URLや手順は時間の経過とともに変更される場合があります。これらは2026年5月時点のものです。

Censys

Censysは、IP上で実行されているサービス、保持しているTLS証明書などの情報を含む、インターネット全体のホストおよびネットワークデータを提供します。無料ティアでは月あたりのクエリ数が制限されていますが、CensysデータでIPアノテーションを強化するために使用できます。

[!NOTE] 無料アカウント(2026年4月時点)では、同時リクエストは1件、月間リクエストは100件までです。クレジットを使い切ると、翌月の初めにリセットされるか追加クレジットを購入するまで、以降のリクエストでCensys APIはエラーを返します。この場合、ZAnnotateはサイレントエラーを防ぐためにエラーで終了します。そのため、大規模なデータセットにアノテーションを付ける場合は、クレジット使用量に注意し、クレジットがあるIPのみにアノテーションを付けることを優先してください。無料アカウントは同時リクエストが1件のみなので、上位ティアを支払わない限り、--censys-threads=1 のままにすることをお勧めします。

  1. Censys.io でアカウントを作成し、Personal Settings > Personal Access Tokens から Personal Access Token (PAT) を取得します。
  2. Censysデータでアノテーションを付けます:
root@kitploit:~
echo "8.8.8.8" | zannotate --censys --censys-pat="CENSYS_PAT_HERE"

結果は簡潔にするために省略されています:

root@kitploit:~
{
   "ip":"8.8.8.8",
   "censys": {
      "whois":{
         "network":{ "name":"Google LLC","cidrs":["8.8.8.0/24"],"created":"2023-12-28T00:00:00Z","updated":"2023-12-28T00:00:00Z","allocation_type":"ALLOCATION","handle":"GOGL"},
         "organization":{"state":"CA","postal_code":"94043","country":"US","tech_contacts":[{"handle":"ZG39-ARIN","name":"Google LLC","email":"[email protected]"}],
            "handle":"GOGL","street":"1600 Amphitheatre Parkway","abuse_contacts":[{"handle":"ABUSE5250-ARIN","name":"Abuse","email":"[email protected]"}],
            "admin_contacts":[{"handle":"ZG39-ARIN","name":"Google LLC","email":"[email protected]"}],
            "name":"Google LLC",
            "city":"Mountain View"}},
      "services":[{
         "port":53,"protocol":"DNS","transport_protocol":"udp","ip":"8.8.8.8","scan_time":"2026-04-10T02:55:53Z"}]}}

Cymru

Cymruは、IPアドレスのASNおよびBGPピアリング情報を提供します。--cymru フラグを使用すると、この情報をCymruに問い合わせることができます。Cymruはこの情報を提供するためのDNSサービスを設定しており、デフォルトではZAnnotateはシステムのデフォルトDNSリゾルバーを使用してクエリを実行します。ローカルDNSリゾルバーでタイムアウトが発生する場合は、--cymru-dns-servers フラグでカスタムリゾルバーを指定できます。--cymru-threads と --cymru-timeout もCymruアノテーションのパフォーマンスを設定するために利用でき、デフォルトではほとんどのDNSリゾルバーでタイムアウトを回避しながら良好なパフォーマンスが得られるように設定されています。デフォルトでは、Cymruアノテータは発信元ASとピアAS、およびすべてのASNのAS詳細を取得します。サブセットのみが必要な場合は、次のフラグが利用可能です: --cymru-annotate-origin-as、--cymru-annotate-peer-as、--cymru-annotate-as-details

root@kitploit:~
printf "1.1.1.1" | ./zannotate --cymru --cymru-dns-servers=1.1.1.1,1.0.0.1
root@kitploit:~
{"ip":"207.243.195.103","cymru":{"origin_asns":[7018],"peer_asns":[6939,1299,2914,3257,6461,6762],"asn_details":{"7018":{"asn":7018,"country_code":"US","registry":"arin","asn_allocation_date":"1996-07-30","asn_description":"ATT-INTERNET4 - AT&T Enterprises, LLC, US"},"6939":{"asn":6939,"country_code":"US","registry":"arin","asn_allocation_date":"1996-06-28","asn_description":"HURRICANE - Hurricane Electric LLC, US"},"1299":{"asn":1299,"country_code":"SE","registry":"ripencc","asn_allocation_date":"1993-09-01","asn_description":"TWELVE99 Arelion, fka Telia Carrier, SE"},"2914":{"asn":2914,"country_code":"US","registry":"arin","asn_allocation_date":"1998-12-07","asn_description":"NTT-DATA-2914 - NTT America, Inc., US"},"3257":{"asn":3257,"country_code":"US","registry":"ripencc","asn_allocation_date":"1994-09-30","asn_description""GTT-BACKBONE GTT, US"},"6461":{"asn":6461,"country_code":"US","registry":"arin","asn_allocation_date":"1996-04-22","asn_description":"ZAYO-6461 - Zayo Bandwidth, US"},"6762":{"asn":6762,"country_code":"IT","registry":"ripencc","asn_allocation_date":"1996-09-12","asn_description":"SEABONE-NET TELECOM ITALIA SPARKLE S.p.A., IT"}},"prefix_details":{"207.242.0.0/15":{"prefix":"207.242.0.0/15","origin_asns":[7018],"peer_asns":[1299,2914,3257,6461,6762,6939],"country_code":"US","registry":"arin","allocation_date":"1996-11-01" }}}}

GreyNoise Psychic

GreyNoise は、脅威分類や関連するCVEなどのメタデータを提供するIPインテリジェンスフィードです。Psychicデータダウンロードでは、オフラインでのデータエンリッチメントに適したデータベース形式でデータフィードが提供されます。zannotate でダウンロードを使用するには、GreyNoise APIキーを使用して .mmdb 形式のファイルをダウンロードします。2026年4月時点では、無料アカウントに登録するとデータダウンロードにアクセスできます。

  1. 無料のGreyNoiseアカウントはこちらから登録します。
  2. アカウントの適切なセクションからAPIキーをコピーします。
  3. mmdb ファイルをダウンロードします。以下のコマンドは、特定の日付(2026年4月7日)のデータをダウンロードします。複数日のデータや、さまざまな詳細レベルのモデルのデータをダウンロードすることもできます。詳細については GreyNoise の Psychic ドキュメント を参照してください。
root@kitploit:~
curl -H "key: GREYNOISE_API_KEY_HERE" \
     https://psychic.labs.greynoise.io/v1/psychic/download/2026-04-07/3/mmdb \
     -o /tmp/m3.mmdb
  1. GreyNoiseデータのエンリッチメントをテストします:

[!NOTE] 以下の例は、上記の curl コマンドでダウンロードした正確なデータを使用しています。表示される結果はダウンロードしたデータによって異なります。

root@kitploit:~
echo "14.1.105.157" | zannotate --greynoise --greynoise-database=/tmp/m3.mmdb
root@kitploit:~
{"greynoise":{"classification":"malicious","cves":["CVE-2015-2051","CVE-2016-20016","CVE-2018-10561","CVE-2018-10562","CVE-2016-6277","CVE-2024-12847"],"date":"2026-04-07","handshake_complete":true,"last_seen":"2026-04-07T00:00:00Z","seen":true,"tags":["Mirai TCP Scanner","Mirai","Telnet Protocol","Generic IoT Default Password Attempt","Web Crawler","Generic Suspicious Linux Command in Request","HNAP Crawler","Telnet Login Attempt","D-Link Devices HNAP SOAPAction Header RCE Attempt","MVPower CCTV DVR RCE CVE-2016-20016 Attempt","JAWS Webserver RCE","GPON CVE-2018-10561 Router Worm","Generic ${IFS} Use in RCE Attempt","CCTV-DVR RCE","NETGEAR Command Injection CVE-2016-6277","NETGEAR DGN setup.cgi CVE-2024-12847 Command Execution Attempt","CGI Script Scanner"],"actor":"unknown"},"ip":"14.1.105.157"}

多くのIPはGreyNoiseデータセットに含まれていないため、次のような出力になる場合があります:

root@kitploit:~
echo "1.1.1.1" | zannotate --greynoise --greynoise-database=/tmp/m3.mmdb
root@kitploit:~
{"ip":"1.1.1.1","greynoise":{}}

IPInfo.io

IPInfo.ioは、ASNおよび地理位置情報データを含む無料のデータセットを提供します。無料版は国レベルまでの粒度です。有料ティアでは、より詳細な地理位置情報データが提供されます。

  1. IPInfo.io で無料アカウントに登録します。
  2. データダウンロードページ に移動します。
  3. mmdb ファイルをダウンロードします IPInfoダウンロードページ
  4. CLI使用例
root@kitploit:~
echo "1.1.1.1" | zannotate --ipinfo --ipinfo-database=./path-to-ipinfo-db.mmdb
root@kitploit:~
{"ip":"1.1.1.1","ipinfo":{"country":"Australia","country_code":"AU","continent":"Oceania","continent_code":"OC","asn":"AS13335","as_name":"Cloudflare, Inc.","as_domain":"cloudflare.com"}}

MaxMind GeoIP ASNとCity(旧GeoIP2)

MaxMindは、IP地理位置情報およびASNデータのデータセットを、無料版(GeoLite)と有料版(GeoIP)の両方で提供しています。さらに、GeoLiteおよびGeoIPデータセットは、ローカルでクエリできるダウンロード可能なデータベースファイルと、Web APIの2つのアクセス方法があります。ZAnnotateのGeoIPモジュールは、GeoLiteとGeoIPの両方のバージョンのローカルデータベースをサポートしています。

以下では無料のGeoLiteデータセットを使用することを想定していますが、有料のGeoIPデータでも手順は同様です。

  1. MaxMind GeoLiteアクセスの登録フォーム
  2. アカウントにログインします。
  3. "GeoIP / GeoLite" > "Download files" セクションに移動し、GeoLite ASNまたはGeoLite Cityデータセットのzipファイルをダウンロードします。

GeoLiteダウンロードページ

  1. 解凍し、.mmdb ファイルを任意の場所に置いて、以下のコマンドでテストします。

MaxMind GeoIP City

root@kitploit:~
echo "171.67.71.209" | zannotate --geoip2 --geoip2-database=./path-to-geolite2.mmdb
root@kitploit:~
{
   "ip":"171.67.71.209",
   "geoip2":{
      "city":{"name":"Vallejo","id":5405380},
      "country":{"name":"United States","code":"US","id":6252001},
      "continent":{"name":"North America","code":"NA","id":6255149},
      "postal":{"code":"94590"},
      "latlong":{"accuracy_radius":50,"latitude":38.1043,"longitude":-122.2442,"metro_code":807,"time_zone":"America/Los_Angeles"},
      "represented_country":{},
      "registered_country":{"name":"United States","code":"US","id":6252001},
      "metadata":{}}
}

MaxMind GeoLite ASN

root@kitploit:~
echo "171.67.71.209" | zannotate --geoasn --geoasn-database=/path-to-asn-file.mmdb
root@kitploit:~
{"ip":"171.67.71.209","geoasn":{"asn":32,"org":"STANFORD"}}

RDAP(WHOISの後継)

RDAP(Registration Data Access Protocol)は、IPアドレスやドメイン名などのインターネットリソースの登録データにアクセスするためのプロトコルで、WHOISの後継です。ZAnnotateはRDAPサーバーにクエリを実行して、IPの登録データを取得できます。

root@kitploit:~
echo "1.1.1.1" | zannotate --rdap

結果は簡潔にするために省略されています:

root@kitploit:~
{
   "ip":"1.1.1.1",
   "whois": {
     "DecodeData": {},
     "Lang": "",
     "Conformance": [
       "history_version_0",
       "nro_rdap_profile_0",
       "cidr0",
       "rdap_level_0"
     ],
     "ObjectClassName": "ip network"
   }
}

これは、RDAPサーバーへの直接クエリと同じ出力になるはずです。例:

root@kitploit:~
rdap 1.1.1.1
root@kitploit:~
IP Network:
  Handle: 1.1.1.0 - 1.1.1.255
  Start Address: 1.1.1.0
  End Address: 1.1.1.255
  IP Version: v4
  Name: APNIC-LABS
  Type: ASSIGNED PORTABLE
...<further output truncated for brevity>

逆引きDNS(RDNS)

ZAnnotateは各IPアドレスに対して逆引きDNSルックアップを実行できます。データのダウンロードは不要で、--rdns はライブDNSサーバーに直接クエリを実行します。

root@kitploit:~
printf "1.1.1.1\n8.8.8.8" | zannotate --rdns
root@kitploit:~
{"ip":"1.1.1.1","rdns":{"domain_names":["one.one.one.one"]}}
{"ip":"8.8.8.8","rdns":{"domain_names":["dns.google"]}}

IPにPTRレコードがない場合、rdns フィールドは空になります:

root@kitploit:~
echo "127.0.0.1" | zannotate --rdns
root@kitploit:~
{"ip":"127.0.0.1","rdns":{}}

BGPルーティングテーブル

  1. https://archive.routeviews.org/route-views2/bgpdata/ に移動します。
  2. 月のディレクトリを選択します(例: 2025.09)
  3. RIBS/ ディレクトリを選択します。
  4. 圧縮されたMRTファイルをダウンロードします(例: rib.20250923.1200.bz2)
  5. 次のコマンドでファイルを解凍します:
root@kitploit:~
bzip2 -d ./path-to-downloaded-file/rib.20250923.1200.bz2
  1. 次のコマンドでテストします:
root@kitploit:~
echo "1.1.1.1" | zannotate --routing --routing-mrt-file=/tmp/rib.20250923.1200
root@kitploit:~
{"ip":"1.1.1.1","routing":{"prefix":"1.1.1.0/24","asn":13335,"path":[3561,209,3356,13335]}}

Spur IPエンリッチメント+インテリジェンス

spur.us は、ASNや組織、インフラ分類(例: データセンター、CDN、モバイル)、地理位置情報メタデータなど、IPごとのインテリジェンスを提供します。spur.us を他のソースと併用してクエリし、アノテーションを強化し、データセンター/Anycast配置、CDN、ISPの所有権を特定するのに役立てることができます。

  1. SpurからAPIキーを取得します。現在の価格設定によっては、有料アカウントへの登録が必要な場合があります。詳細は spur.us/pricing を確認してください。
  2. APIキーを環境変数として設定します:
root@kitploit:~
export SPUR_API_KEY=your_api_key_here

(永続的に設定する場合は、上記の行をシェルプロファイル(例: ~/.bashrc や ~/.zshrc)に追加してください。)

  1. 次のコマンドでテストします:
root@kitploit:~
echo "1.1.1.1" | zannotate --spur
root@kitploit:~
{"ip":"1.1.1.1","spur":{"as":{"number":13335,"organization":"Cloudflare, Inc."},"infrastructure":"DATACENTER","ip":"1.1.1.1","location":{"city":"Anycast","country":"ZZ","state":"Anycast"},"organization":"Taguchi Digital Marketing System"}}
ツールをダウンロード