nmap 可以扫描/测试来自循环 DNS 的所有答案吗?

nmap 可以扫描/测试来自循环 DNS 的所有答案吗?

我有一个循环 DNS 记录,想用 nmap 进行测试,目前它只尝试其中一个 IP(如果我运行循环,它会按顺序检查每个 IP)。

有没有办法让 nmap 从 dns 记录中测试所有 A/AAAA 记录?

例子: nmap -p25 rr-test.jacobdevans.com

答案1

我认为没有循环是不可能的。尝试使用nping。IPv4nmap示例:

$ host -t MX gmail.com | awk '{print $NF}' | xargs -I{} host -t A {} | awk '{print $NF}' | xargs -e nping -c 1 -p 25,465 | grep -P "(SENT)|(RECV)"
SENT (0.0014s) Starting TCP Handshake > 74.125.204.26:25
RECV (0.3228s) Handshake with 74.125.204.26:25 completed
SENT (1.0036s) Starting TCP Handshake > 74.125.201.26:25
RECV (1.1765s) Handshake with 74.125.201.26:25 completed
SENT (2.0065s) Starting TCP Handshake > 74.125.28.26:25
RECV (2.2137s) Handshake with 74.125.28.26:25 completed
SENT (3.0086s) Starting TCP Handshake > 173.194.222.26:25
RECV (3.0475s) Handshake with 173.194.222.26:25 completed
SENT (4.0116s) Starting TCP Handshake > 74.125.30.27:25
RECV (4.1853s) Handshake with 74.125.30.27:25 completed
SENT (5.0142s) Starting TCP Handshake > 74.125.204.26:465
SENT (6.0163s) Starting TCP Handshake > 74.125.201.26:465
SENT (7.0184s) Starting TCP Handshake > 74.125.28.26:465
SENT (8.0196s) Starting TCP Handshake > 173.194.222.26:465
SENT (9.0217s) Starting TCP Handshake > 74.125.30.27:465

对于 IPv6 使用命令:

$ host -t MX gmail.com | awk '{print $NF}' | xargs -I{} host -t AAAA {} | awk '{print $NF}' | xargs -e nping -c 1 -6 -p 25,465 | grep -P "(SENT)|(RECV)"

答案2

Nmap 可以完成类似的事情resolveallNSE 脚本。它需要newtargets脚本参数需要设置,以便实际将其他地址添加到扫描队列,而不是仅列出它们。因此您的解决方案将是:

nmap --script resolveall --script-args newtargets -p25 rr-test.jacobdevans.com

这对于具有多个 A(或 AAAA,带选项)记录的名称有效-6,所有这些记录都会在响应单个查询时返回。可以通过从池中返回单个 A 记录来响应每个查询来实现循环 DNS;脚本resolveall将无法检测到这一点,因为它只发送一个查询。

编辑:我忘了这是 Nmap 7.40 中的新功能,因此早期版本不会以相同的方式工作。对于这些版本(回到版本 5.50),您需要使用以下语法:

nmap --script resolveall --script-args "newtargets,resolveall.hosts={rr-test.jacobdevans.com}" -p25

相关内容