Як передати nmap outout в сценарій Python


1

У мене є список серверів, і я хочу nmap потім перейти до аналізатора Python ( це )

Тому зазвичай я роблю це:

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

Тепер я хочу створити сценарій bash, щоб це зробити для всіх рядків у файлі txt.

Тому я спробував:

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

але це дає мені помилку в рядку 5.


помилка: testingcript.sh: рядок 5: $ line: неоднозначне перенаправлення

Відповіді:


1

Здається, що проблема полягає в тому, що ви перенаправляєте вихід сценарію python назад до тієї ж змінної, що і цикл while. Більш ніж ймовірно, ви хочете зберегти це, можливо, у файлі для подальшого посилання. Тому, ймовірно, просто хочеться створити змінну для збереження виводу на диск.

#!/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"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.