Rpscan-多方式全能端口扫描器

admin 2022年1月6日05:13:34评论154 views字数 2367阅读7分53秒阅读模式

Rpscan-多方式全能端口扫描器
这一辈子
寻一座山,远离世俗。
选一个人,白首相随。
人海茫茫,你在哪里。
Rpscan-多方式全能端口扫描器
0x00 需求背景
    对于端口扫描,不同的扫描方式往往会有不同的识别结果。
    真的很难一下子分析完毕(主要是我也不懂),感兴趣的帅哥们可以了解一下NMAP扫描的各种方式。
    有时候就在想,有没有一个办法,能够把所有的工具都粘在一起,结合前辈们的优点,站在巨人的肩膀上做出更好的成果
   反正我也不懂各种扫描方式,写是不可能会写的,只能强行胶水输出一下。
    一个强迫症
    一台破笔记本
    再加一些头发,一点时间
    最终有了一个简单的而又复杂的端口扫描器

Rpscan-多方式全能端口扫描器
0x01 开发目标

    结合多种方式进行端口扫描

    结合多种方式进行端口指纹识别

    跨平台运行环境

    无需安装依赖

    其他功能看需求...

Rpscan-多方式全能端口扫描器
0x02 代码实现

RPscan: https://github.com/winezer0/RPscan

1、结合多种方式进行端口扫描.
目前支持masscan、goscan、tcpscan、httpscan、nmapscan,支持并行扫描
基本框架基于 https://github.com/reber0/Rpscan 修改
goscan 基于 https://github.com/xs25cn/scanPort 修改
2、结合多种方式进行端口指纹识别
目前支持nmap,tcp端口指纹识别
tcp指纹识别模块基于 https://github.com/fanyingjie2/tcpscan 修改
3、跨平台运行环境,python3.7+开发,已将所有的依赖包下载到本地,无需安装依赖

4、考虑到轻量级需求,需要主动安装 nmap 并加入环境变量

致谢masscan与nmap

致谢reber0

致谢fanyingjie2

致谢xs25cn

Rpscan-多方式全能端口扫描器
0x03 已有功能
  • 解析目标 ip

  • 识别存活主机

  • 端口扫描

    • goscanport 扫描存活主机端口

    • masscan 扫描存活主机端口

    • async tcp 扫描存活主机端口

    • http 探测常见的 web 端口

    • nmap 扫描存活主机端口(-sS, 使用sudo)

  • 服务识别

    • nmap nmap指纹识别

    • tcp socket指纹识别

    • 其他功能模块看需求、大家可以提issue


Rpscan-多方式全能端口扫描器
0x04 使用参数
由于一直在更新,使用方法细节请查看rpscan.py -h
脚本完全可以打包成exe运行,有需要的可以私聊,或者稳定了再上传。
本质上是一辆拼装车,扫描超多目标时可能会有外部调用的bug,所以部分模块我都限制了线程,少量主机用这个准没错。
➜  python3 rpscan.py -h                                              
usage: rpscan.py [-h] [-i TARGET] [-iL TARGET_FILENAME] [-c CONFIG_FILE]
[-p PORTS] [-st SCANTYPE] [-sv GET_SERVICE] [-ck]
[-t THREAD_NUM] [-r RATE]

optional arguments:
-h, --help show this help message and exit
-i TARGET 扫描指定IP目标 : 1.1.1.1 or 1.1.1.1/24 or 1.1.1.1-255 or
1.1.1.1-1.1.1.254, 支持多种格式同时输入
-iL TARGET_FILENAME 扫描指定IP文件, 对多个大目标的支持可能不完善,扫描大目标时建议使用masscan,goscan等外部程序
-c CONFIG_FILE 扫描配置文件路径, example: /usr/local/etc/rpscan.cfg,
文件不存在时会自动创建默认配置文件,
程序打包后运行时建议手动指定配置文件
-p PORTS 指定扫描端口, 支持分隔符[,-],
支持端口简写[t1(web-100),t2(常用-200),t3(常用-300),all(全端口)],
支持多种格式同时输入
-st SCANTYPE 端口扫描方法指定 (masscan(默认):t1(简写), goscan:t2 , tcpasyc:t3 ,
nmap:t4 , http:t5),支持同时指定多个扫描方式 )
-sv GET_SERVICE 进行端口服务检测, 支持探测方法[tcp:t1, nmap:t2], 支持同时指定多个探测方式
-ck 使用nmap探测主机是否存活, 默认False
-t THREAD_NUM 端口扫描线程, 默认10, 部分模块暂不支持线程设置,目前支持:nmap_s,nmap_service
-r RATE 端口扫描速率, 默认1000, 部分模块暂不支持速率设置, 目前支持:tcpasyc,masscan
-v 显示调试信息,默认关闭

Examples:

python3 rpscan.py -i 192.168.1.1/24 -p 1-66535 -ck 3 -st t1 -sv t1

python3 rpscan.py -i 192.168.1.1-255 -p t1 -st masscan,goscan,http.nmap,tcpasyc -sv tcp,nmap

python3 rpscan.py -i 192.168.1.1-192.168.1.255 -p 80,443,8080,8443 -st t1,t2,t3,t4,t5 -sv t1,t2

python3 rpscan.py -i 192.168.1.1-255 -st masscan,goscan,http.nmap,tcpasyc -sv tcp,nmap

python3 rpscan.py -iL target.txt -p all -st masscan -r 3000 -ck -st t1 -sv t1

输入参数简写规则请查看rpscan.py

Rpscan-多方式全能端口扫描器
0x05 结束语

感谢大哥们的对NOVASEC的支持点赞和关注

加入我们与萌新一起成长吧

如有任何问题、建议、合作、投稿请加NOVASEC-MOYU,以方便及时回复。

Rpscan-多方式全能端口扫描器

本文始发于微信公众号(NOVASEC):Rpscan-多方式全能端口扫描器

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月6日05:13:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Rpscan-多方式全能端口扫描器http://cn-sec.com/archives/495195.html

发表评论

匿名网友 填写信息