Как написать bash-скрипт для поиска IP-адресов в файле и поместить запись их в другой файл?

StackOverflow https://stackoverflow.com/questions/1842280

  •  12-09-2019
  •  | 
  •  

Вопрос

Мне нужно написать скрипт bash, который примет grep-доступный выходной файл nmap, который отображает IP-адреса с открытым портом 80, и скопирует IP-адреса с открытым портом 80 в другой текстовый файл.Результат выглядит примерно так:

# 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, поэтому я не уверен, с чего начать с этого.Если вы можете помочь мне с этим сценарием, я был бы вам очень признателен.

Это было полезно?

Решение

это может быть сведено к вызову awk:

awk '/80\/open/{print $2}' infile > iplist_port_80

Другие советы

Используйте grep и sed / awk

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

это была бы моя первая попытка.

не будучи знакомым с вызовом nmap и форматом вывода, но, тем не менее, это должно сработать:

nmap | grep -e 'Ports:.80\/' |sed 's/Host:.//;s/.(.*//'|sort -u > out
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top