Python-Scantron一个分布式nmapmasscan扫描框架
标签:
•
文件类型: .zip
•
文件大小: 1.12MB
•
下载次数: 1
•
Scantron是一个分布式nmap扫描仪,由两个组件组成。 第一个是主节点,由用于调度扫描和存储nmap扫描目标和结果的Web前端组成。 第二个组件是从主服务器提取扫描作业并执行实际nmap扫描的代理程序。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-20 11:42 scantron-master
文件 1348 2019-07-20 11:42 scantron-master.gitignore
文件 561 2019-07-20 11:42 scantron-masterLICENSE
文件 20750 2019-07-20 11:42 scantron-masterREADME.md
目录 0 2019-07-20 11:42 scantron-masteragent
文件 5708 2019-07-20 11:42 scantron-masteragentagent.py
文件 332 2019-07-20 11:42 scantron-masteragentagent_config.json
目录 0 2019-07-20 11:42 scantron-masteragentlogs
文件 24 2019-07-20 11:42 scantron-masteragentlogsREADME
目录 0 2019-07-20 11:42 scantron-masteragentmodules
文件 0 2019-07-20 11:42 scantron-masteragentmodules\__init__.py
文件 3101 2019-07-20 11:42 scantron-masteragentmodulesapi.py
文件 390 2019-07-20 11:42 scantron-masteragentmoduleslogger.py
文件 6175 2019-07-20 11:42 scantron-masteragentmodules
map_scanner.py
文件 206 2019-07-20 11:42 scantron-masteragentmodulesutils.py
文件 600 2019-07-20 11:42 scantron-masteragent
fs_watcher.sh
目录 0 2019-07-20 11:42 scantron-masteragent
map_results
文件 48 2019-07-20 11:42 scantron-masteragent
map_resultsREADME
文件 111 2019-07-20 11:42 scantron-masteragent
equirements.txt
文件 260 2019-07-20 11:42 scantron-masteragentscantron-agent.service
目录 0 2019-07-20 11:42 scantron-masteragent arget_files
文件 48 2019-07-20 11:42 scantron-masteragent arget_filesREADME
目录 0 2019-07-20 11:42 scantron-masteransible-playbooks
文件 53 2019-07-20 11:42 scantron-masteransible-playbooksagent.yml
文件 110 2019-07-20 11:42 scantron-masteransible-playbooksansible.cfg
目录 0 2019-07-20 11:42 scantron-masteransible-playbooksgroup_vars
文件 990 2019-07-20 11:42 scantron-masteransible-playbooksgroup_varsall
文件 49 2019-07-20 11:42 scantron-masteransible-playbookshosts
文件 71 2019-07-20 11:42 scantron-masteransible-playbooksmaster.yml
目录 0 2019-07-20 11:42 scantron-masteransible-playbooks
oles
目录 0 2019-07-20 11:42 scantron-masteransible-playbooks
olesadd_users
............此处省略229个文件信息
#!/usr/bin/env python
# Standard Python libraries.
import argparse
import json
import multiprocessing
import os
import queue
import sys
import threading
import time
# Third party Python libraries.
# Custom Python libraries.
import modules.api
import modules.logger
import modules.nmap_scanner
class Worker(threading.Thread):
“““Worker thread“““
def __init__(self):
“““Initialize Worker thread.“““
threading.Thread.__init__(self)
def run(self):
“““Start Worker thread.“““
while True:
# Grab scan_job_dict off the queue.
scan_job_dict = agent.queue.get()
try:
# Kick off scan.
nmap_process = multiprocessing.Process(target=modules.nmap_scanner.scan_site args=(scan_job_dict))
nmap_process.start()
except Exception as e:
modules.logger.ROOT_LOGGER.error(“Failed to start scan. Exception: {}“.format(e))
agent.queue.task_done()
class Agent:
“““Main Agent class“““
def __init__(self config_file):
“““Initialize Agent class“““
self.config_file = config_file
# Load configuration file.
self.config_data = self.load_config(self.config_file)
# Create queue.
self.queue = queue.Queue()
def load_config(self config_file):
“““Load the agent_config.json file and return a JSON object.“““
if os.path.isfile(config_file):
with open(config_file) as fh:
json_data = json.loads(fh.read())
return json_data
else:
modules.logger.ROOT_LOGGER.error(“{} does not exist or contains no data.“.format(config_file))
sys.exit(0)
def go(self):
“““Start the scan agent.“““
# Assign log level. See README.md for more information.
modules.logger.ROOT_LOGGER.setLevel((6 - self.config_data[“log_verbosity“]) * 10)
# Kickoff the threadpool.
for i in range(self.config_data[“number_of_threads“]):
thread = Worker()
thread.daemon = True
thread.start()
modules.logger.ROOT_LOGGER.info(
“Starting scan agent: {}“.format(self.config_data[“scan_agent“]) exc_info=False
)
while True:
try:
# Retrieve any new scan jobs from master through API.
scan_jobs = modules.api.check_for_scan_jobs(self.config_data)
if scan_jobs:
for scan_job in scan_jobs:
modules.logger.ROOT_LOGGER.info(“Executing scan job ID: {}“.format(scan_job[“id“]))
# Create new dictionary that will contain scan_job and config_data information.
scan_job_dict = {}
scan_job_dict[“scan_job“] = scan_job
scan_job_dict[“config_data“] = self.config_data
# Verify files exist by trying t
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-20 11:42 scantron-master
文件 1348 2019-07-20 11:42 scantron-master.gitignore
文件 561 2019-07-20 11:42 scantron-masterLICENSE
文件 20750 2019-07-20 11:42 scantron-masterREADME.md
目录 0 2019-07-20 11:42 scantron-masteragent
文件 5708 2019-07-20 11:42 scantron-masteragentagent.py
文件 332 2019-07-20 11:42 scantron-masteragentagent_config.json
目录 0 2019-07-20 11:42 scantron-masteragentlogs
文件 24 2019-07-20 11:42 scantron-masteragentlogsREADME
目录 0 2019-07-20 11:42 scantron-masteragentmodules
文件 0 2019-07-20 11:42 scantron-masteragentmodules\__init__.py
文件 3101 2019-07-20 11:42 scantron-masteragentmodulesapi.py
文件 390 2019-07-20 11:42 scantron-masteragentmoduleslogger.py
文件 6175 2019-07-20 11:42 scantron-masteragentmodules
map_scanner.py
文件 206 2019-07-20 11:42 scantron-masteragentmodulesutils.py
文件 600 2019-07-20 11:42 scantron-masteragent
fs_watcher.sh
目录 0 2019-07-20 11:42 scantron-masteragent
map_results
文件 48 2019-07-20 11:42 scantron-masteragent
map_resultsREADME
文件 111 2019-07-20 11:42 scantron-masteragent
equirements.txt
文件 260 2019-07-20 11:42 scantron-masteragentscantron-agent.service
目录 0 2019-07-20 11:42 scantron-masteragent arget_files
文件 48 2019-07-20 11:42 scantron-masteragent arget_filesREADME
目录 0 2019-07-20 11:42 scantron-masteransible-playbooks
文件 53 2019-07-20 11:42 scantron-masteransible-playbooksagent.yml
文件 110 2019-07-20 11:42 scantron-masteransible-playbooksansible.cfg
目录 0 2019-07-20 11:42 scantron-masteransible-playbooksgroup_vars
文件 990 2019-07-20 11:42 scantron-masteransible-playbooksgroup_varsall
文件 49 2019-07-20 11:42 scantron-masteransible-playbookshosts
文件 71 2019-07-20 11:42 scantron-masteransible-playbooksmaster.yml
目录 0 2019-07-20 11:42 scantron-masteransible-playbooks
oles
目录 0 2019-07-20 11:42 scantron-masteransible-playbooks
olesadd_users
............此处省略229个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)