一、掃描命令和參數:
1、nmap x.x.x.x -sS -sU -Pn -p T:80, --source-port 58914 --min-rate 100 --max-rate 100 -n -v -T3 --open --stats-every 5s --min-hostgroup 100 --max-hostgroup 100
2、masscan x.x.x.x --ports T:80, --source-port 58914 --rate 100 --wait 1
帶寬都是100,端口都是T:80。都為半開放掃描(其中masscan默認半開放掃描,nmap -sS 指定為半開放掃描)。
二、掃描結果:
1、masscan掃描時會回RST包,有時會回兩次RST。
masscan掃描80端口

多回了一個RST包。
masscan掃描C段的80、443端口

用時:

masscan掃描C段的全部常用端口
用時

2、nmap半開放掃描時不回RST包,等待服務器自己關閉。
nmap掃描一個ip的80端口

nmap掃描C段的80、443端口

目標地址會重試連接並返回RST包。
用時:

nmap掃描C段的全部常用端口

三、對比:
經過對比發現,masscan有時會多回一個RST包,而nmap根本不回RST包讓目標服務器自己關閉。
由此可以看出,nmap對每個目標會少發一到兩個RST包,用時會更少,nmap掃描較快。
四、外網對比:
masscan默認不開啟重試。nmap在網絡性能差的情況下會觸發重試機制,可以設置--max-retries=0關閉重試
1、masscan掃描C段全部常用端口,用時

2、nmap掃描C段全部常用端口,用時
掃描C段全部常用端口,用時
nmap掃描C段全部常用端口,關閉重試,用時

外網掃描速度比較:nmap關閉重試掃描 > masscan默認掃描 > nmap默認掃描
外網掃描端口存活數據比較:nmap默認掃描存活數 > masscan默認掃描存活數 > nmap關閉重試掃描存活數