本文整理汇总了Python中wrapper.Wrapper.msg方法的典型用法代码示例。如果您正苦于以下问题:Python Wrapper.msg方法的具体用法?Python Wrapper.msg怎么用?Python Wrapper.msg使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wrapper.Wrapper
的用法示例。
在下文中一共展示了Wrapper.msg方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: start
# 需要导入模块: from wrapper import Wrapper [as 别名]
# 或者: from wrapper.Wrapper import msg [as 别名]
def start(self):
""" All program flow is handled here """
# usage, init, checks
Usage.banner()
args = ArgsParser.parseArgs()
self.opts = vars(args)
Check.checkArgc()
Check.checkArgs(['-n', '-m'])
Check.checkActions(self.opts['action'])
Check.checkReportFormat(self.opts['format'])
# ini config
Wrapper.msg("Reading configuration file " + "'" +
self.opts['config'] + "'")
self.ini = IniConfig(self.opts['config'])
self.ini.readConfig()
Check.checkIniFile(self.ini.config)
# additional options from config file
self.getOptions()
### nessus actions ###
# nessus report
if self.opts['action'] in ACTIONS:
self.processReports(self.opts['action'])
# send reports
if self.opts['mail']:
if self.opts['action'] in ACTIONS:
self.sendReports(self.opts['action'])
return
示例2: sendReports
# 需要导入模块: from wrapper import Wrapper [as 别名]
# 或者: from wrapper.Wrapper import msg [as 别名]
def sendReports(self, option):
""" Send out reports via email """
msg = {} # mail header and body
mail = ''
server = {} # smtp server
m = Mail()
# smtp server address and tcp port
server['addr'] = self.opts['smtp_host']
server['port'] = self.opts['smtp_port']
# smtp (static content) read from ini file
msg['from'] = self.opts['smtp_from']
Wrapper.msg('Sending out reports')
if option == 'report':
# for each report in report directory except summary.txt
for f in os.listdir(self.opts['outdir'] + '/' + TODAY):
if f != 'summary.txt':
report = self.opts['outdir'] + '/' + TODAY + '/' + f
name = f.split('.')[0]
# mail header + body
msg['message'] = 'Hi,\n\nplease find attached the Nessus ' \
'report for this week.\n\nBest Regards,\n\n' \
"Rocket Internet's Security Team"
msg['subject'] = '[{0}] Your new Nessus report for {1} ' \
'is ready'.format(name, TODAY)
msg['to'] = self.ini.config.get('addressbook', name)
# build and send mail
mail = m.buildMail(msg, (report,))
m.sendMail(server, mail, self.opts['smtp_login'], tls=True)
else:
report = self.opts['outdir'] + '/' + TODAY + '/' + 'summary.txt'
with open(report, 'r') as f:
report_data = f.read()
# mail header + body
msg['message'] = 'Hi,\n\nplease find below the Nessus ' \
'Summary Report for this week:\n\n'
msg['message'] += report_data
msg['message'] += "\n\nBest Regards,\n\nRocket Internet's " \
"Security Team"
msg['subject'] = 'Nessus Summary Report ({0})'.format(TODAY)
msg['to'] = self.ini.config.get('addressbook', 'Summary')
# build and send mail
mail = m.buildMail(msg, (report,))
m.sendMail(server, mail, self.opts['smtp_login'], tls=True)
return
示例3: checkActions
# 需要导入模块: from wrapper import Wrapper [as 别名]
# 或者: from wrapper.Wrapper import msg [as 别名]
def checkActions(action):
""" Check if chosen action is valid. Print actions if '?' given. """
if action == '?':
Wrapper.msg('Available actions: \n')
Wrapper.msg('report - export and download nessus reports',
verbose=True)
Wrapper.msg('summary - create and download a summary report\n',
verbose=True)
sys.exit(1337)
if action not in ACTIONS:
Wrapper.error('Please select a correct action')
return
示例4: end
# 需要导入模块: from wrapper import Wrapper [as 别名]
# 或者: from wrapper.Wrapper import msg [as 别名]
def end(self):
""" Epilog """
Wrapper.msg('Game Over')
return
示例5: processReports
# 需要导入模块: from wrapper import Wrapper [as 别名]
# 或者: from wrapper.Wrapper import msg [as 别名]
def processReports(self, option):
""" Login to nessus, export and download nessus- or summary-reports """
names = []
Wrapper.msg('Login to Nessus on ' + "'" + self.opts['nessus_url'] + "'")
nessus = Nessus(self.opts['nessus_url'])
nessus.login(self.opts['nessus_login']['user'],
self.opts['nessus_login']['pass'])
if not nessus.login:
Wrapper.error('Cannot login in to Nessus')
# get scan lists
Wrapper.msg('Fetching the scan lists')
scan_list = nessus.getScanList()
# export and download nessus reports
if option == 'report':
Wrapper.msg('Exporting and downloading reports')
outdir = Wrapper.makeReportDir(self.opts['outdir'])
for scan in scan_list['scans']:
if scan['name'] in self.opts['addrbook']:
if scan['status'] == 'completed':
scan_details = nessus.getScan(scan['id'])
end_date = datetime.datetime.fromtimestamp(
int(scan_details['info']['scan_end'])
).strftime('%Y-%m-%d')
if end_date == TODAY or end_date == YESTERDAY:
for root, dirs, files in os.walk(
self.opts['outdir'] + '/' + YESTERDAY):
names.append(files)
for root, dirs, files in os.walk(
self.opts['outdir'] + '/' + TODAY):
names.append(files)
names = [i for sublist in names for i in sublist]
if scan['name'] + '.html' not in names:
file_id = nessus.exportScanResult(scan['id'],
self.opts['format'],
self.opts['nessus_chapters'])['file']
# wait before downloading reports if status is
# not OK
if not nessus.exportStatusCheck(scan['id'],
file_id):
time.sleep(int(self.opts['sleep']))
nessus.downloadReport(scan['id'], file_id,
self.opts['format'], scan['name'],
outdir)
# create and download summary
else:
Wrapper.msg('Creating the summary report')
outdir = Wrapper.makeReportDir(self.opts['outdir'])
for scan in scan_list['scans']:
if scan['name'] in self.opts['addrbook']:
if scan['status'] == 'completed':
scan_res = nessus.getScan(scan['id'])
for h in range(len(scan_res['hosts'])):
host_id = scan_res['hosts'][h]['host_id']
res = nessus.getHostDetails(scan['id'], host_id)
for r in res['vulnerabilities']:
# critical, high, medium
if r['severity'] in (4, 3, 2):
with open(os.path.join(outdir, 'summary.txt'), 'a') as f:
f.write('project: ' + scan['name'] +
' host: ' + r['hostname'] +
' issue: ' + r['plugin_name'] + '\n')
# logout of nessus
Wrapper.msg('Logout of nessusd')
nessus.logout()
return