如何从bash中的.txt文件读取参数

时间:2019-04-15 13:13:21

标签: bash nmap

我想使用nmap脚本转换ASN-> IP范围

nmap脚本是这样使用的,

nmap --script targets-asn --script-args ragets-asn.asn=12345

此命令返回12345 ASN中的IP范围。

我有一个带有多个ASN的list.txt。 我想为nmap文件中的所有ASN运行list.txt命令

最好使用重击。

谢谢。

1 个答案:

答案 0 :(得分:0)

#!/bin/bash

for asn in $(cat list.txt)
do
        nmap --script targets-asn --script-args targets-asn.asn=$asn 2>&1|sed -e "1,/$asn/ d"|egrep -v 'WARNING|Nmap'|awk '{print $2}'
done

一些细节:

for循环将一次读取list.txt文件的一行,并使用提供的asn执行nmap。

“ 2>&1”告诉nmap将stdout和stderr都发送到管道(|)

sed命令将命令放在仅$ asn匹配之后输出数据的状态(删除nmap标头和其他不需要的信息消息)

egrep删除了一些我们不想要的消息。

awk命令仅打印不带“ |”的IP。 “ _”树符号