0

我需要编写一个 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 脚本相当陌生,所以我不确定从哪里开始。如果您可以帮助我编写此脚本,将不胜感激。

4

3 回答 3

2

这可以简化为 awk 调用:

awk '/80\/open/{print $2}' infile > iplist_port_80
于 2009-12-03T19:46:57.737 回答
1

使用 grep 和 sed/awk

grep -e '80/open/tcp' infile | awk '{print $2}' | sort -u > outfile

将是我的第一次尝试。

于 2009-12-03T19:31:56.470 回答
1

不熟悉 nmap 调用和输出格式,但是,这应该工作:

nmap | grep -e 'Ports:.80\/' |sed 's/Host:.//;s/.(.*//'|sort -u > out
于 2009-12-03T19:32:12.287 回答