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.


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"
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.