GetDNS

build-status-image coverage-status-image pypi-version python-version license Join the chat at https://gitter.im/getdns/Lobby

GetDNS 是一个使用DnsDB API查询DNS记录命令行工具。

Dependencies

Install

pip install --upgrade dnsdb-getdns

Usage

  1. 查看帮助

    getdns -h

Commands

可用子命令

查看子命令帮助

getdns <command> -h

config

config命令用于配置默认的用户名和密码(DnsDB账号),配置该项可以让您在使用searchbulk-searchresources命令时无需再次输入用户名和密码

getdns config -u <your username> -p <your password>

查看当前配置

getdns config --show

恢复默认配置

getdns config --reset

配置代理:

  1. HTTP代理

    getdns config --proxy http://user:pass@host:port
  2. SOCKS5代理

    getdns config --proxy socks5://user:pass@host:port

search

search命令用于查询dns记录。没有使用-a--all参数时,该命令每成功执行一次扣除当前账号一次API请求次数, 且每次执行最多返回30条查询结果

getdns search --domain example.com

-o参数用于指定输出位置, 默认为-, 表示输出到标准输出(stdout), 也可以输入到文件中

getdns search --domain example.com -o dns-output.txt

a--all参数将会返回全部查询结果, 每次查询会根据结果数扣除当前账号的API请求次数

getdns search --domain example.com  -a -o dns-output.txt

-m--max参数限制最多输出查询结果数量。例如限制最多输出5条查询结果:

getdns search --domain example.com -a --max 5

Output Format

search命令可以通过以下参数改变输出格式(bulk-search命令同样适用以下参数)

bulk-search

bulk-search用于批量查询DNS记录。

bulk-search针对每次查询默认输出全部查询结果,可以通过--max限制每次查询输出的最大查询结果数量。

bulk-search默认通过标准输入(stdin)获取查询条件, 每行表示一个查询条件, 可以通过-i参数指定其他文件作为输入文件。

--data-type指定输入条件的类型, 默认为domain, 其他可选值为host, ip

通过标准输入(stdin)查询域名

getdns bulk-search
stdin>>example.com

以文件查询输入条件

假设存在一个domain.txt文件, 内容如下:

a.com
b.com
c.com

批量查询该文件中的域名的DNS记录

getdns bulk-search -i domain.txt -o output.txt

cat domain.txt | getdns bulk-search -o output.txt

根据IP批量查询解析到该IP的DNS记录 假设有文件ip.txt, 内容如下:

111.111.111.111
222.222.222.222
getdns bulk-search -i domain.txt -o output.txt --data-type ip

cat domain.txt | getdns bulk-search -o output.txt --data-type ip

Output Format

search命令

resources

查看剩余API请求次数

getdns resources

FAQ

  1. Mac OS X 使用getdns命令遇到下面错误,您可以查看这里

    requests.exceptions.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:590)

相关链接