解析Nmap结果BASH

马库斯

我正在写一个BASH脚本。从命令行中,我可以调用nmap,并且要提取特定端口的ip。

$ nmap [ip]/24

Starting Nmap 6.47 ( http://nmap.org ) at 2015-02-26 01:59 PST
Nmap scan report for 192.168.56.1
Host is up (0.0012s latency).
Not shown: 500 closed ports, 499 filtered ports
PORT     STATE SERVICE
3689/tcp open  rendezvous

Nmap scan report for 192.168.56.101
Host is up (0.00042s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
21/tcp open  ftp
22/tcp open  ssh

我想要端口21的IP地址。在此示例中,该地址为192.168.56.101。如何从此返回值中提取出来并将其保存到变量中?谢谢

hek2mgl

您可以使用xml输出并使用xmllint以下命令解析输出

nmap -p 21 -oX - "$IP"/24 | xmllint --xpath '//port[@portid="21"]/state[@state="open"]/../../../address/@addr' -

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章