Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
zannotate — Утилита для аннотирования интернет-датасетов контекстными метаданными (например, AS происхождения, MaxMind GeoIP2, обратный DNS и WHOIS). | Kitploit
Инструменты/GitHubGitHub/zmap/zannotate
OSINT (Разведка открытых источников)РазведкаКартирование сетиСбор информацииРазведка угрозАнализ DNS
GitHubzmap/zannotate

zannotate

Утилита для аннотирования интернет-датасетов контекстными метаданными (например, AS происхождения, MaxMind GeoIP2, обратный DNS и WHOIS).

Репозиторий
1232253 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

ZAnnotate

ZAnnotate — это утилита на Go, которая упрощает аннотирование больших наборов IP-адресов с метаданными сети. В настоящее время включает:

CLI FlagDescriptionNeeds API KeyNeeds Data Download
--censysИнтернет-разведка Censys (живой API)Да
--cymruДанные об исходных/пиринговых ASN и деталях ASN от Cymru
--geoasnДанные MaxMind GeoIP ASNДа
--geoip2Данные MaxMind GeoIP2 о городе и геолокацииДа
--greynoiseДанные GreyNoise Psychic об угрозах и CVEДа (для загрузки)Да
--ipinfoДанные IPInfo.io об ASN и геолокацииДа
--rdapЗапросы RDAP (преемник WHOIS) (живые)
--rdnsОбратные DNS-запросы (живые)
--routingДанные BGP/маршрутизации из таблицы маршрутизации MRTДа
--spurSpur Intelligence (ASN, организация, классификация инфраструктуры, геолокация)Да

Перейти к настройке модулей: Censys · Cymru · GeoASN · GeoIP · GreyNoise · IPInfo.io · RDAP · RDNS/Reverse DNS · Routing/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. Это добавит поле zannotate в существующий JSON-объект. Например:

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-адреса, разделенные переводами строк, со стандартного ввода и выводит 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 можно использовать для указания другого имени поля для аннотаций вместо zannotate как для CSV, так и для JSON файловых входов.

Например, использование тега вывода --output-annotation-field="info" с JSON-входом:

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 года.

Censys

Censys предоставляет данные об узлах и сети по всему интернету, включая информацию о том, какие службы работают на IP-адресе, какие TLS-сертификаты он имеет и многое другое. У них есть бесплатный тариф, который позволяет выполнять ограниченное количество запросов в месяц; его можно использовать для обогащения аннотаций IP-адресов данными Censys.

[!NOTE] Бесплатная учетная запись (по состоянию на апрель 2026 года) разрешает один одновременный запрос и 100 запросов в месяц. После использования всех кредитов API Censys будет возвращать ошибку при последующих запросах, пока ваши кредиты не сбросятся в начале следующего месяца или вы не купите дополнительные кредиты. ZAnnotate завершится с ошибкой, если это произойдет, чтобы предотвратить тихие сбои; поэтому, если у вас большой набор данных для аннотирования, следите за расходом кредитов и аннотируйте только те IP-адреса, на которые у вас хватает кредитов. Поскольку бесплатная учетная запись предлагает только один одновременный запрос, вам следует оставить --censys-threads=1, если только вы не оплачиваете более высокий тариф.

  1. Создайте учетную запись на Censys.io и получите персональный токен доступа (PAT) в разделе Personal Settings > Personal Access Tokens.
  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 предоставляет информацию об ASN и BGP-пиринге для IP-адресов. Вы можете использовать флаг --cymru для запроса этой информации у Cymru. Cymru настроила DNS-сервис для предоставления этой информации, и по умолчанию ZAnnotate будет использовать системные DNS-резолверы для запроса. Если вы обнаруживаете тайм-ауты при использовании локального DNS-резолвера, вы можете указать пользовательские резолверы с помощью флага --cymru-dns-servers. --cymru-threads и --cymru-timeout также доступны для настройки производительности аннотаций Cymru; значения по умолчанию установлены так, чтобы обеспечить хорошую производительность и избежать тайм-аутов с большинством DNS-резолверов. По умолчанию аннотатор Cymru извлекает исходные и пиринговые AS, а также детали AS для всех ASN. Если вам нужен поднабор, доступны следующие флаги: --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 — это канал IP-разведки, который предоставляет метаданные, такие как классификация угроз и связанные CVE. Их загрузки данных Psychic предоставляют канал данных в базе данных, подходящей для автономного обогащения данных. Чтобы использовать их загрузку с zannotate, вам потребуется скачать файл в формате .mmdb, используя ваш API-ключ GreyNoise. По состоянию на апрель 2026 года регистрация бесплатной учетной записи дает доступ к загрузке данных.

  1. Зарегистрируйте бесплатную учетную запись GreyNoise здесь.
  2. Скопируйте свой API-ключ из соответствующего раздела вашей учетной записи.
  3. Скачайте файл mmdb. Приведенная ниже команда загружает данные за одну дату (7 апреля 2026 года). Вы также можете загрузить данные за диапазон дней и для моделей с различным уровнем детализации — см. документацию 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 доступны в двух режимах доступа: загружаемый файл базы данных, который можно запрашивать локально, и веб-API. Модуль GeoIP в ZAnnotate поддерживает локальную базу данных как в версии GeoLite, так и в GeoIP.

Далее предполагается, что вы хотите использовать бесплатные наборы данных GeoLite, но процесс аналогичен для платных данных GeoIP.

  1. Форма регистрации для доступа к MaxMind GeoLite
  2. Войдите в свою учетную запись
  3. Перейдите в раздел «GeoIP / GeoLite» > «Загрузка файлов» и скачайте zip-файлы для наборов данных GeoLite ASN или GeoLite City.

Страница загрузки 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 может выполнять обратные DNS-запросы для каждого IP-адреса. Загрузка данных не требуется: --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 Enrichment + Intelligence

spur.us предоставляет интеллектуальные данные по каждому IP-адресу, такие как ASN и организация, классификация инфраструктуры (например, дата-центр, CDN, мобильный оператор) и геолокационные метаданные. Мы можем запрашивать spur.us вместе с другими источниками, чтобы обогащать аннотации и помогать идентифицировать дата-центры/Anycast-развертывания, CDN и владельцев интернет-провайдеров.

  1. Получите API-ключ от Spur. В зависимости от текущих цен вам может потребоваться зарегистрировать платную учетную запись — ознакомьтесь с подробностями на 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"}}
Скачать инструмент