Como passar a saída nmap para um script Python

1

Eu tenho uma lista de servidores, e eu quero nmap, em seguida, passar para um analisador Python ( this )

Então normalmente eu faço isso:

nmap -sV -p- hostname -oN - | python nmaptocsv.py  > hostname.txt

Agora, quero criar um script bash para fazer isso em todas as linhas de um arquivo txt.

Então eu tentei:

#!/usr/bin/bash
list="$1"
while read -r line ;do
 echo " processing $line "
 nmap -sV -p- $line -oN - | python nmaptocsv.py  > $line
done < "$list"

mas isso me dá um erro na linha 5.

    
por wythagoras 05.05.2016 / 10:33

1 resposta

1

Parece que o problema é que você está redirecionando a saída do script python para a mesma variável que o loop while está criando. Mais do que provavelmente você está querendo salvar isso possivelmente em um arquivo para referência futura. Então, provavelmente, apenas deseja criar uma variável para salvar a saída no disco.

#!/usr/bin/bash
list="$1"
while read -r line ;do
 output="scan_${line}.txt"
 echo " processing $line "
 nmap -sV -p- $line -oN - | python nmaptocsv.py > ${output}
done < "$list"
    
por 07.05.2016 / 03:12