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 ( isto )

Então normalmente eu faço isso:

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

Agora eu quero criar um script bash para fazer isso para todas as linhas em 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.

wythagoras
fonte
Erro: testescript.sh: linha 5: $ linha: redirecionamento ambíguo

Respostas:

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 só quer criar uma variável para salvar a saída para o 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"
Will DeBerry
fonte