asnmap
快速利用ASN信息映射组织网络范围的Go命令行工具和库。
功能 • 安装 • 使用 • 运行asnmap • 加入Discord
功能
- ASN到CIDR查询
- ORG到CIDR查询
- DNS到CIDR查询
- IP到CIDR查询
- 支持ASN/DNS/IP/ORG输入
- 支持JSON/CSV/TEXT输出
- 支持标准输入/输出
安装
为了成功安装asnmap,需要Go 1.18。只需运行以下命令或从发布页面下载预编译的二进制文件。
1 go install github.com/projectdiscovery/asnmap/cmd/asnmap@latest
使用
asnmap -h
这将显示工具的帮助信息。下面是所有支持的标志。
使用方法:
./asnmap [flags]
标志:
- INPUT: -a, -asn string[] 要查询的目标ASN,示例:-a AS5650 -i, -ip string[] 要查询的目标IP,示例:-i 100.19.12.21, -i 2a10:ad40:: -d, -domain string[] 要查询的目标域名,示例:-d google.com, -d facebook.com -org string[] 要查询的目标组织,示例:-org GOOGLE -f, -file string[] 从文件中查询目标
配置: -config string asnmap配置文件的路径 -r, -resolvers string[] 要使用的解析器列表
更新: -up, -update 更新asnmap到最新版本 -duc, -disable-update-check 禁用asnmap的自动更新检查
输出: -o, -output string 输出结果的文件 -j, -json 以JSON格式显示输出结果 -c, -csv 以CSV格式显示输出结果 -v6 在命令行输出中显示IPv6 CIDR范围 -v, -verbose 显示详细输出 -silent 显示静默输出 -version 显示项目的版本
运行asnmap
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 使用时请小心,您对自己的行为负责 开发人员不承担任何责任,不对任何误用或损害负责。 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
JSON输出
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" ] }
CSV输出
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
与其他PD项目一起使用
asnmap的输出可以直接通过管道传递给工作流程中接受stdin作为输入的其他项目,例如:
bashecho AS54115 | asnmap | tlsx echo AS54115 | asnmap | dnsx -ptr echo AS54115 | asnmap | naabu -p 443 echo AS54115 | asnmap | naabu -p 443 | httpx echo AS54115 | asnmap | naabu -p 443 | httpx | nuclei -id tech-detect
作为库使用asnmap
可以在Go代码中使用asnmap的示例提供在examples文件夹中。