
Go CLI и библиотека для быстрого определения сетевых диапазонов организации на основе информации об ASN.
Возможности • Установка • Использование • Запуск asnmap • Присоединиться к Discord

Для успешной установки asnmap требуется Go 1.21. Чтобы установить, просто выполните приведённую ниже команду или скачайте готовый бинарный файл со страницы релиза.
go install github.com/projectdiscovery/asnmap/cmd/asnmap@latest
asnmap -h
Эта команда отобразит справку по инструменту. Ниже перечислены все поддерживаемые флаги.
Usage:
./asnmap [flags]
Flags:
INPUT:
-a, -asn string[] target asn to lookup, example: -a AS5650
-i, -ip string[] target ip to lookup, example: -i 100.19.12.21, -i 2a10:ad40::
-d, -domain string[] target domain to lookup, example: -d google.com, -d facebook.com
-org string[] target organization to lookup, example: -org GOOGLE
-f, -file string[] targets to lookup from file
CONFIGURATIONS:
-config string path to the asnmap configuration file
-r, -resolvers string[] list of resolvers to use
UPDATE:
-up, -update update asnmap to latest version
-duc, -disable-update-check disable automatic asnmap update check
OUTPUT:
-o, -output string file to write output to
-j, -json display json format output
-c, -csv display csv format output
-v6 display ipv6 cidr ranges in cli output
-v, -verbose display verbose output
-silent display silent output
-version show version of the project
CLI asnmap построен на основе API asnmap, для работы которого требуется API-токен с ProjectDiscovery Cloud Platform. Его можно настроить с помощью переменной окружения или интерактивной опции -auth, как показано ниже.
export PDCP_API_KEY=*************
asnmap -auth
___ _____ __
/ _ | / __/ |/ /_ _ ___ ____
/ __ |_\ \/ / ' \/ _ / _ \
/_/ |_/___/_/|_/_/_/_/\_,_/ .__/
/_/
projectdiscovery.io
[INF] Get your free api key by signing up at https://cloud.projectdiscovery.io
[*] Enter PDCP API Key (exit to abort): *************
[INF] Successfully logged in as (@user)
asnmap поддерживает несколько типов входных данных, включая ASN, IP, DNS и имя ORG, для получения информации об ASN/CIDR.
| Входные данные | ASN | DNS | IP | ORG |
|---|---|---|---|---|
| Пример | AS14421 | example.com | 93.184.216.34 | GOOGLE |
Входные данные можно передавать как через отдельные опции, так и через STDIN, который принимает все поддерживаемые форматы. Для всех опций поддерживается одиночный, множественный (через запятую) и файловый ввод.
echo GOOGLE | ./asnmap -silent
Примеры входных данных для asnmap:
asnmap -a AS45596 -silent
asnmap -i 100.19.12.21 -silent
asnmap -d hackerone.com -silent
asnmap -org GOOGLE -silent
По умолчанию asnmap возвращает диапазон CIDR для указанного входного значения.
echo GOOGLE | ./asnmap
___ _____ __
/ _ | / __/ |/ /_ _ ___ ____
/ __ |_\ \/ / ' \/ _ / _ \
/_/ |_/___/_/|_/_/_/_/\_,_/ .__/
/_/ v0.0.1
projectdiscovery.io
Use with caution. You are responsible for your actions
Developers assume no liability and are not responsible for any misuse or damage.
8.8.4.0/24
8.8.8.0/24
8.35.200.0/21
34.3.3.0/24
34.4.4.0/24
34.96.0.0/20
34.96.32.0/19
34.96.64.0/18
34.98.64.0/18
34.98.136.0/21
34.98.144.0/21
По умолчанию asnmap отображает диапазон CIDR, но вся информация всегда доступна в формате JSON. Для автоматизации и пост-обработки использование -json — самый удобный вариант.
echo hackerone.com | ./asnmap -json -silent | jq
{
"timestamp": "2022-09-19 12:14:33.267339314 +0530 IST",
"input": "hackerone.com",
"as_number": "AS13335",
"as_name": "CLOUDFLARENET",
"as_country": "US",
"as_range": [
"104.16.0.0/14",
"104.20.0.0/16",
"104.21.0.0/17"
]
}
{
"timestamp": "2022-09-19 12:14:33.457401266 +0530 IST",
"input": "hackerone.com",
"as_number": "AS13335",
"as_name": "CLOUDFLARENET",
"as_country": "US",
"as_range": [
"2606:4700:8390::/44"
]
}
asnmap также поддерживает вывод в формате CSV, который содержит всю ту же информацию, что и JSON-вывод.
echo hackerone.com | ./asnmap -csv -silent
timestamp|input|as_number|as_name|as_country|as_range
2022-09-19 12:15:04.906664007 +0530 IST|hackerone.com|AS13335|CLOUDFLARENET|US|104.16.0.0/14,104.20.0.0/16,104.21.0.0/17
2022-09-19 12:15:05.201328136 +0530 IST|hackerone.com|AS13335|CLOUDFLARENET|US|2606:4700:9760::/44
Вывод asnmap можно напрямую передавать другим проектам в рабочих процессах, принимающим stdin в качестве входных данных, например:
echo AS54115 | asnmap | tlsxecho AS54115 | asnmap | dnsx -ptrecho AS54115 | asnmap | naabu -p 443echo AS54115 | asnmap | naabu -p 443 | httpxecho AS54115 | asnmap | naabu -p 443 | httpx | nuclei -id tech-detectПримеры использования asnmap из кода Go приведены в папке examples.
asnmap создан с ❤️ командой projectdiscovery и распространяется под лицензией MIT.