Coder Social home page Coder Social logo

f-nascan's Introduction

#网络资产信息扫描

目的:通过将程序运行版本由Python2升级为Python3来学习原作者ywolf的F-NAScan实现功能。
原项目地址 https://github.com/ywolf/
在渗透测试(特别是内网)中经常需要对目标进行网络资产收集,即对方服务器都有哪些IP,IP上开了哪些端口,端口上运行着哪些服务。
此脚本即为实现此过程,相比其他探测脚本有以下优点:
1、轻巧简洁,只需python环境,无需安装额外外库。
2、扫描完成后生成独立页面报告。

此脚本的大概流程为 ICMP存活探测-->端口开放探测-->端口指纹服务识别-->提取快照(若为WEB)-->生成结果报表

#运行环境:python 3.7 +

#参数说明
-h 必须输入的参数,最多限制一次可扫描65535个IP。
支持ip(192.168.1.1)
ip段(192.168.1)
ip范围指定(192.168.1.1-192.168.1.254)
ip列表文件(ip.ini)
-p 指定要扫描端口列表,多个端口使用,隔开
例如:22,23,80,3306。
未指定即使用内置默认端口进行扫描
(21,22,23,25,53,80,110,139,143,389,443,445,465,873,993,995,1080,1723,1433,1521,3306,3389,3690,5432,5800,5900,6379,7001,8000,8001,8080,8081,8888,9200,9300,9080,9999,11211,27017)
-m 指定线程数量 默认100线程
-t 指定HTTP请求超时时间,默认为10秒,端口扫描超时为值的1/2。
-n 不进行存活探测(ICMP)直接进行扫描。
-o 指定文件名的部分。
结果报告保存在当前目录(扫描IP-文件名-时间戳.html)。

结果报告保存在当前目录(扫描IP-时间戳.html)。

使用例子:
python NAScan.py -h 10.111.1
python NAScan.py -h 192.168.1.1-192.168.2.111
python NAScan.py -h 10.111.1.22 -p 80,7001,8080 -m 200 -t 6
python NAScan.py -h ip.ini -p port.ini -n

服务识别在server_info.ini文件中配置
格式为:服务名|默认端口|正则 例 ftp|21|^220.*?ftp|^220-
正则为空时则使用端口进行匹配,否则以正则匹配结果为准。


#进度
V0.1
目前大部分功能已经从Python2升级到Python3,主要是生成html文件前的字符串编码还有问题,原先是cgi,现在需要使用html模块,但是替换原来和html格式文件中的代码后,html文件显示,总是和原作者的不一样,计划在尝试两天,还是不行的话,就将输出格式变为Excel和导入数据库。

V0.2
啊,崩溃了。使用扫描结果替换原来和html格式文件中的代码后,html文件显示总是和原作者的不一样。目前已经将输出格式变为TXT文件。
后续计划:1.引入MySQL库,将结果录入数据库,通过定时任务将不同时间的扫描结果进行对比,在从数据库中输出Excel格式文件。
2.Excel格式文件包含本次的扫描结果,以及与上一次的扫描差异。
3.考虑引入POC 。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.