Como script bash gravação para procurar IP está numa gravação de arquivo e colocá-los para outro arquivo?

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

  •  12-09-2019
  •  | 
  •  

Pergunta

Eu preciso escrever um script que irá tomar um arquivo de saída para o grep nmap que exibe endereços IP com a porta 80 aberta e copiar os IPs que têm a porta 80 aberta para outro arquivo de texto. A saída é semelhante a esta:

# 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

Eu sou bastante novo para bash script para que eu não tenho certeza por onde começar com isso. Se você pode me ajudar com este script que seria muito apreciado.

Foi útil?

Solução

este pode ser reduzido a uma chamada awk:

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

Outras dicas

Use grep e sed / awk

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

seria minha primeira tentativa.

não estar familiarizado com a invocação nmap e formato de saída, mas ainda assim, isso deve funcionar:

nmap | grep -e 'Ports:.80\/' |sed 's/Host:.//;s/.(.*//'|sort -u > out
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top