运维python进行(一) nmap扫描端口
In : import nmap
把nmap模块的端口扫描方法进行实例化
In : s=nmap.PortScanner()
使用scan('192.168.0.0/16',port='0-65536','sV')方法,里面分别是网段,端口范围,nmap的参数
In : result = s.scan('192.168.199.211', '20-443','')
这里result是执行的输出
In : print result
{'nmap': {'scanstats': {'uphosts': '1', 'timestr': 'Sat Dec 17 16:24:11 2016', 'downhosts': '0', 'totalhosts': '1', 'elapsed': '0.11'}, 'scaninfo': {'tcp': {'services': '20-443', 'method': 'syn'}}, 'command_line': 'nmap -oX - -p 20-443 192.168.199.211'}, 'scan': {'192.168.199.211': {'status': {'state': 'up', 'reason': 'localhost-response'}, 'hostnames': [{'type': 'PTR', 'name': 'salt'}], 'vendor': {}, 'addresses': {'ipv4': '192.168.199.211'}, 'tcp': {80: {'product': '', 'state': 'open', 'version': '', 'name': 'http', 'conf': '3', 'extrainfo': '', 'reason': 'syn-ack', 'cpe': ''}, 443: {'product': '', 'state': 'open', 'version': '', 'name': 'https', 'conf': '3', 'extrainfo': '', 'reason': 'syn-ack', 'cpe': ''}, 22: {'product': '', 'state': 'open', 'version': '', 'name': 'ssh', 'conf': '3', 'extrainfo': '', 'reason': 'syn-ack', 'cpe': ''}}}}}
初始化的实例如下方法
In : s.
s.all_hosts s.csv s.listscan s.scaninfo
s.analyse_nmap_xml_scan s.get_nmap_last_outputs.nmap_version s.scanstats
s.command_line s.has_host s.scan
扫描的所有主机
In : s.all_hosts()
Out: ['192.168.199.211']
主机下的信息列表
In : s['192.168.199.211'].keys()
Out: ['status', 'hostnames', 'vendor', 'addresses', 'tcp']
主机下的tcp端口列表
In : s['192.168.199.211']['tcp'].keys()
Out:
查看22端口的详细信息
In : s['192.168.199.211']['tcp']
Out:
{'conf': '3',
'cpe': '',
'extrainfo': '',
'name': 'ssh',
'product': '',
'reason': 'syn-ack',
'state': 'open',
'version': ''}
页:
[1]