
ASN情報を使用して組織のネットワーク範囲をすばやくマッピングするためのGo CLIとライブラリ。
特徴 • インストール • 使い方 • 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
ASNMap CLIはASNMap API上に構築されており、ProjectDiscovery Cloud PlatformのAPIトークンが必要です。これは、環境変数を使用するか、以下に示す対話型の-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/CIDR情報を照会するためのASN、IP、DNS、ORG名を含む複数の入力をサポートしています。
| 入力 | 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は、JSON出力と同様にすべての情報を含むCSV形式の出力もサポートしています
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-detectGoコードからasnmapを使用する例は、examplesフォルダにあります。
asnmapはprojectdiscoveryチームによって❤️を込めて作られ、MITライセンスの下で配布されています。