從兩方面回答:
1)如何對客戶要求做出解釋并合理調整
2)如何提高全端口掃描效率,既保證速度,又保證準確率。
首先客戶提出提出兩周50w個ip全端口這個肯定不現實,所以要考慮跟客戶解釋,有必要對掃描任務進行時間調整,安排盡可能多的掃描資源,如掃描機器,掃描網絡帶寬等,參考掃描100個IP端口的平均時長,估計掃完的時間,給出30天時間左右答復,并且留出一周進行后續補掃,文檔整理等。
使用到多線程、分布式和高并發,采用masscan + nmap,先 masscan存活過一遍,把未存活IP剔除掉;使用分布式nmap高并發過一遍端口,也可以 massacn 端口掃描過一遍,在nmap 進行探測。
提高掃描速度:由于IP數量過多,不能直接把所有的IP都丟上去掃,時間肯定不夠可以跟客戶商量減少IP數量,對未存活的IP進行篩選過濾,加快掃描速度需要進行參數微調,如--min-hostgroup、--min-rate和--min-parallelism。對于存在防火墻的情況,可以提出需要提供掃描器
數據整理:對于大量的list 和 json使用python-nmap python-masscan,掃描1個IP處理1個IP