使用Python从NMAP结果中提取操作系统

时间:2019-04-26 06:06:41

标签: python-3.x nmap

使用NMAP扫描和python代码,我想将扫描结果存储在我的sql中。从结果中提取打开的端口,状态和正在运行的服务。但是我也想提取操作系统。这该怎么做? 扫描中使用的参数为-A -sV。我不需要从终端运行代码。因此-O是不可能的,因为它需要root preveliges。

import nmap

nmScan=nmap.PortScanner()

host='172.27.20.139'

result=nmScan.scan(hosts=host, arguments='-oN pooja.txt  -A -sC -sV -F')

print('Host : %s (%s)' % (host, nmScan[host].hostname()))
print('State : %s' % nmScan[host].state())
for proto in nmScan[host].all_protocols():
    print('----------')
    print('Protocol : %s' % proto)

    lport = nmScan[host][proto].keys()

    for port in lport:
        thisDict = nmScan[host][proto][port]
        print ('port : %s\t\tstate : %s\t\tService Name:%s\t\tService Product:%s\tVersion%s'% (port, nmScan[host][proto][port]['state'],thisDict['name'],thisDict['product'] ,thisDict['version']))

print('--------------------------------------------------------')
print(result)
我想从结果中提取操作系统。实际扫描结果最后以打印(结果)显示。以上结果仅从该结果中提取。

显示

输出。Output

0 个答案:

没有答案