nmap扫描脚本

  • 参考
  • nmap-csv-scan.sh
1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
# `$1` 传入类似如下格式的csv文件,第二列为 ip,第三列为 端口
TMPFILE=tmp.txt
RESULT_FILE="results-$(date +%Y%m%d_%H%M%S).csv"
echo "Executed on $(curl -4 myip.ipip.net)" | tee -a $RESULT_FILE
echo "" | tee -a $RESULT_FILE
while IFS="," read -r rec_column1 ip port rec_column4
do
  nmap -p $port -Pn $ip > $TMPFILE
  echo "$ip, $port, $(cat $TMPFILE | awk '/PORT\s+STATE\s+SERVICE/{getline;print;}' | awk -F' ' '{print $2}')" | tee -a $RESULT_FILE
done < $1
  • $1 传入类似如下格式的csv文件,第二列为 ip,第三列为 端口

test.csv

1
2
归属部门,192.168.1.101,135,msrpc,未上报端口
归属部门,192.168.1.173,135,msrpc,未上报端口
  • 使用脚本
1
./nmap-csv-scan.sh test.csv

结果保存在当前目录 result-YYYYmmdd-HHMMSS.csv 中。