Nmap 及其结果的 grepping

Nmap and grepping of its results

folks.i 想使用 nmap 进行反向 dns 解析,输出如下所示

IP地址解析名称

我如何使用 grep 解决它,谢谢

应该这样做:

nmap 8.8.8.8 | awk '/report/ {split($NF,a,"[()]");print a[2],}'
8.8.8.8 google-public-dns-a.google.com

在 Nmap 中进行反向名称解析(不进行端口扫描或主机发现)的选项是 -sL。 Nmap 还有一种机器可读的输出格式,称为 Grepable 输出,使用 -oG 选项。

您的问题要求使用 grep 的解决方案,但提取部分输出行不是 grep 的强项。为此,您可以改用 awk:

nmap -sL 192.0.2.0/24 -oG - | awk '/^Host/{print , }'

这将具有以下格式的输出:

64.13.134.52 (scanme.nmap.org)

如果要删除括号,可以通过管道输出 tr:

nmap -sL 192.0.2.0/24 -oG - | awk '/^Host/{print , }' | tr -d '()'