Grep nmap 输出
Grep the nmap output
我已经将我的 nmap 结果输出到一个名为 test.txt 的文件中,它看起来像这样:
Nmap scan report for 192.168.1.5
Host is up (0.13s latency).
PORT STATE SERVICE VERSION
23/tcp open telnet Linux telnetd
--
Nmap scan report for 192.168.1.7
Host is up (0.13s latency).
PORT STATE SERVICE VERSION
80/tcp open http Popper
--
Nmap scan report for 192.168.1.20
Host is up (0.13s latency).
PORT STATE SERVICE VERSION
110/tcp open pop3 Dove
我想使用 grep 和管道从我的终端中的文件输出结果,以格式显示结果:IP 地址后跟打开的端口,如下所示:
192.168.10.2
80
223
53
192.168.10.7
80
223
我会执行以下操作:
- 获取正则表达式以匹配 nmap 输出的 ip 和端口。您可以利用两者的位置,即端口位于行的开头 (
^
) 并以“/
”字符结尾,而 ip 是行中的最后一项 ($
).
- 使用
grep -o
查找任何正则表达式(查看正则表达式 (|
) 上的 OR 运算符)。这会将输出减少到仅匹配项。
你可能想要:
cat test.txt | sed 's/Nmap scan report for //' | sed '/Host is/d' | sed '/Not shown/d' | sed '/All/d' | sed '/PORT /d' | cut -f1 -d"/" | sed '/^$/d' | sed '/--/d'
对于nmap -F 192.168.0.1/24 > test.txt
:
cat test.txt | tail -n+3 | sed '/Nmap done/d' | awk 'NR>1{print l}{l=[=11=]}' | sed 's/Nmap scan report for //' | sed '/Host is/d' | sed '/Not shown/d' | sed '/All/d' | sed '/PORT /d' | cut -f1 -d"/" | sed '/^$/d'
笑话。 没有意义...使用 nmap 和 XML 输出 -oX
。
阅读:https://nmap.org/book/output-formats-xml-output.html
我已经将我的 nmap 结果输出到一个名为 test.txt 的文件中,它看起来像这样:
Nmap scan report for 192.168.1.5
Host is up (0.13s latency).
PORT STATE SERVICE VERSION
23/tcp open telnet Linux telnetd
--
Nmap scan report for 192.168.1.7
Host is up (0.13s latency).
PORT STATE SERVICE VERSION
80/tcp open http Popper
--
Nmap scan report for 192.168.1.20
Host is up (0.13s latency).
PORT STATE SERVICE VERSION
110/tcp open pop3 Dove
我想使用 grep 和管道从我的终端中的文件输出结果,以格式显示结果:IP 地址后跟打开的端口,如下所示:
192.168.10.2
80
223
53
192.168.10.7
80
223
我会执行以下操作:
- 获取正则表达式以匹配 nmap 输出的 ip 和端口。您可以利用两者的位置,即端口位于行的开头 (
^
) 并以“/
”字符结尾,而 ip 是行中的最后一项 ($
). - 使用
grep -o
查找任何正则表达式(查看正则表达式 (|
) 上的 OR 运算符)。这会将输出减少到仅匹配项。
你可能想要:
cat test.txt | sed 's/Nmap scan report for //' | sed '/Host is/d' | sed '/Not shown/d' | sed '/All/d' | sed '/PORT /d' | cut -f1 -d"/" | sed '/^$/d' | sed '/--/d'
对于nmap -F 192.168.0.1/24 > test.txt
:
cat test.txt | tail -n+3 | sed '/Nmap done/d' | awk 'NR>1{print l}{l=[=11=]}' | sed 's/Nmap scan report for //' | sed '/Host is/d' | sed '/Not shown/d' | sed '/All/d' | sed '/PORT /d' | cut -f1 -d"/" | sed '/^$/d'
笑话。 没有意义...使用 nmap 和 XML 输出 -oX
。
阅读:https://nmap.org/book/output-formats-xml-output.html