Masscan -oG grep输出我如何才能获取ip并保存到文件中

时间:2014-08-17 17:17:25

标签: file sorting awk grep

这是test.grep文件中的输出

# Ports Scanned: TCP(1;11032-11032) UDP(0;) SCTP(0;) PROTOCOLS(0;)
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///
Host: 127.0.0.1 () Ports:11032/open/tcp///

# Masscan done at Sun Aug 17 16:46:30 2014

我想要一个只有ip地址的文件

127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1
127.0.0.1

任何人都可以帮我这样做我正在使用kali linux

4 个答案:

答案 0 :(得分:2)

使用grep

grep -oP '(?<=Host: )\S*' file
grep -oP '(?<=Host: )\d+\.\d+\.\d+\.\d+' file

使用awk

awk '/^Host:/ { print $2 }' file

使用sed

sed -nr 's/^Host: (\S+).*/\1/p' file
sed -nr 's/^Host: ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+).*/\1/p' file

答案 1 :(得分:2)

使用GNU grep:

grep -oE '[0-9.]{7,15}' file

答案 2 :(得分:0)

如果你想要一个衬垫。

awk 'NR>2{ print l} {l=$0}' test.grep | awk '{print $2}'

应该这样做。 说明:

首先awk删除文件中的第一行和最后一行,下一行选择第二列,即IP地址。

是的,我知道我可以在一个awk语句中合并,但这很简单。

答案 3 :(得分:-1)

这应该有效:

awk '{ print $2 }'