问题描述
我想从 IP 地址 192.168.1.1 到 192.168.1.100 扫描 dns。我的命令在下面用于 DNS 循环扫描,它将显示域名指针等。
下面是我的命令
for ip in $(seq 1 100); do host 192.168.1.$ip; done | column -t
我遇到的问题是将第一个八位字节“192”从 1 改为 100,而不是最后一个八位字节“1-100”。
有没有办法编辑我的命令来做到这一点?
解决方法
命令 host 192.168.1.x
正在尝试查找主机 PTR
的 x.168.192.in-addr.arpa
记录(在您的情况下为 x = 1..100
)并且它将失败并显示结果 {{1} } 对于每个 3(NXDOMAIN)
,除非您正在为区域 x
运行名称服务器。
仅当您为此域运行私有 DNS 服务器并且运行此脚本的计算机在 168.192.in-addr.arpa
文件的第一行中有此私有名称服务器时,您的脚本才会扫描您的网络。
执行此操作的 PowerShell 方法(如果 PowerShell 是您所追求的)是这样的...
本地主机
Get-NetIPAddress -AddressFamily IPv4 |
ForEach-Object {Resolve-DnsName $PSitem.IPAddress}
或通过 ADDS
(Get-ADComputer -Identity '*').Name |
ForEach {Resolve-DnsName -Name $PSItem}
查看帮助文件了解更多详情
# Get specifics for a module,cmdlet,or function
(Get-Command -Name Resolve-Dns).Parameters
(Get-Command -Name Resolve-Dns).Parameters.Keys
Get-help -Name Resolve-Dns -Examples
Get-help -Name Resolve-Dns -Full
Get-help -Name Resolve-Dns -Online
Find-Module -Name '*dns*' |
Format-Table -AutoSize
Get-Command -Name '*dns*' |
Format-Table -AutoSize