一个快速全端口扫描的bash脚本

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash

read -p "which ip? " ip
masscan -p1-65535,U:1-65535 ${ip} --rate=1000 -p1-65535,U:1-65535 -e tun0 > ports #修改这里的网卡名称tun0为你自己的联网的网卡

what=$(awk 'NR<=1 {print $6}' ports)
ports=$(cat ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '\n' ',' | sed 's/,$//')
nmap -Pn -sV -sC -p$ports ${what} -oA ${ip}
nmap -Pn -sU -sV -sC -p$ports ${what} -oA ${ip}-udp.xml
cat ${ip}.nmap | grep -v 'closed' | grep -v 'msrpc' | grep -v 'tcpwrapped' > ${ip}.txt
nikto -h http://${ip} > nikto-${ip}.txt

全端口扫描+开启端口版本识别,也就3分钟出头。而如果使用nmap全端口扫描,至少几个小时吧。。