如何在给定的网络范围内找到解析为 IP 的任何域名?

Eug*_*ash 4 linux dns subnet

例如,给定范围:

172.128.0.0 - 172.191.255.255
Run Code Online (Sandbox Code Playgroud)

我需要找到一些解析为该范围内 IP 地址的域。是否可以 ?我正在使用Linux系统。

qua*_*ote 6

好吧,DiG 实用程序( man dig) 可以执行反向 DNS 查找,以查看给定的 IP 地址是否具有关联的 DNS 记录。AFAIK 它一次只接受一个地址,但您可以使用一些bash循环来生成检查所有地址的命令。

for i in $(seq 128 191) ; do 
  for j in $(seq 1 255) ; do
    for k in $(seq 1 255) ; do
      dig -x 172.$i.$j.$k
      sleep 5
    done
  done
done
Run Code Online (Sandbox Code Playgroud)

在一行中:

for i in $(seq 128 191) ; do for j in $(seq 1 255) ; do for k in $(seq 1 255) ; do dig -x 172.$i.$j.$k ; sleep 5 ; done ; done ; done
Run Code Online (Sandbox Code Playgroud)

您可能需要该+short选项(或其他选项)来帮助将输出转换为某种有意义的形式。查看man dig可能的选项;这是语法:

dig +short -x 172.$i.$j.$k
Run Code Online (Sandbox Code Playgroud)