我需要编写一个bash脚本,该脚本将采用一个grepable nmap输出文件,该文件显示端口80打开的IP地址,并将端口80打开的IP复制到另一个文本文件。输出看起来类似于:
# Nmap 4.76 scan initiated Thu Dec 3 13:36:29 2009 as: nmap -iL ip.txt -p 80 -r -R -PN --open -oA output
Host: 192.168.1.100 () Status: Up
Host: 192.168.1.100 () Ports: 80/open/tcp//http///
Host: 192.168.1.100 () Status: Up
# Nmap done at Thu Dec 3 13:36:29 2009 -- 3 IP addresses (3 hosts up) scanned in 0.28 seconds
我是bash脚本的新手,所以我不知道从哪里开始。如果你能帮助我使用这个脚本,我将不胜感激。
答案 0 :(得分:2)
这可以简化为一个awk电话:
awk '/80\/open/{print $2}' infile > iplist_port_80
答案 1 :(得分:1)
使用grep和sed / awk
grep -e '80/open/tcp' infile | awk '{print $2}' | sort -u > outfile
将是我的第一次尝试。
答案 2 :(得分:1)
不熟悉nmap调用和输出格式,但仍然可以这样做:
nmap | grep -e 'Ports:.80\/' |sed 's/Host:.//;s/.(.*//'|sort -u > out