简单分布式Masscan+Nmap
转载请注明出处:https://youngrichog.github.io/
描述
主要从如何开始快速部署、扫描来思考,想在几天之内完成十几万台的端口扫描和指纹识别,然后就简简单单造个轮子,后续不停的扩容机器数量
通过Masscan+Nmap+Redis实现,我们只需要把db:1的数据给丢上去,然后开masscan_agent不断的去取db:0的数据进行端口扫描,nmap_agent不断的去取db:1的数据进行指纹识别
db:0
该数据库主要存储待扫描的IP/IP段
db:1
该数据主要存储已经扫描完成的ip:port
具体实现
Massscan Agent 代码实现
1 | #! /usr/bin/env python3 |
Nmap Agent 代码实现
1 | #! /usr/bin/env python3 |
Producer 代码实现
1 | #! /usr/bin/env python3 |
通过pssh我们可以批量ssh执行命令,pscp可以批量上传文件
pssh遇到公私钥登陆的时候会要选择yes/no,然后加上-O StrictHostKeyChecking=no就可以了
1 | pssh -h iplist.txt -O StrictHostKeyChecking=no -P "whoami" |
批量上传
1 | pscp -h iplist.txt masscanAgent.py /tmp/ |
批量执行Agent并挂在后台
1 | pssh -h iplist.txt -P "screen -dmS 'masscanAgent' bash -c 'python3 /tmp/masscanAgent.py'" |