Bash 具有开放端口nmap的grep IP地址
我正在尝试使用nmap中的open port将此脚本制作成grep IP地址,但我不能用正确的方法 我有这样的想法:Bash 具有开放端口nmap的grep IP地址,bash,grep,Bash,Grep,我正在尝试使用nmap中的open port将此脚本制作成grep IP地址,但我不能用正确的方法 我有这样的想法: nmap 192.168.0.0/24 -sU -p 44555 | grep -oP "([0-9]{1,3}\.){3}[0-9]{1,3}" >output.txt 但这是所有IP的开放和关闭 输出nmap示例: Nmap scan report for 79-119-0-248.rdsnet.ro (79.119.0.248) Host is up (0.033
nmap 192.168.0.0/24 -sU -p 44555 | grep -oP "([0-9]{1,3}\.){3}[0-9]{1,3}" >output.txt
但这是所有IP的开放和关闭
输出nmap示例:
Nmap scan report for 79-119-0-248.rdsnet.ro (79.119.0.248)
Host is up (0.033s latency).
PORT STATE SERVICE
27023/udp open|filtered unknown
Nmap scan report for 79-119-0-249.rdsnet.ro (79.119.0.249)
Host is up (0.032s latency).
PORT STATE SERVICE
27023/udp closed unknown
只有那些是打开/过滤的,我想要
谢谢它与egrep一起工作:
如果您只想获得开放ip,您可以尝试以下代码(当然有效): 使用awk
nmap 192.168.0.0/24 -sU -p 44555|awk '/(open|filtered)/{print $2}' RS="Nmap" FS="[)(]"
解释
-将工时RS=“Nmap”
设置为记录分隔符变量Nmap
将括号设置为字段分隔符FS=“[)(]”
如果记录有/(open | filtered)/{print$2}
或open
,则打印第2列filtered
nmap 192.168.0.0/24 -sU -p 44555 | grep '^44555.*open' -B3 | grep '^Nmap scan' | cut -d\( -f2 | cut -d\) -f1 > output.txt
nmap 192.168.0.0/24 -sU -p 44555|awk '/(open|filtered)/{print $2}' RS="Nmap" FS="[)(]"