如何将 nmap 输出传递给 Python 脚本

如何将 nmap 输出传递给 Python 脚本

我有一个服务器列表,然后我想通过 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 行给出了错误。

答案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"

相关内容