龙空技术网

「安全测试」使用python+nmap进行端口扫描

代码碎片 283

前言:

眼前小伙伴们对“python调用nmap扫描全端口”都比较关怀,你们都需要分析一些“python调用nmap扫描全端口”的相关内容。那么小编也在网摘上搜集了一些对于“python调用nmap扫描全端口””的相关知识,希望朋友们能喜欢,兄弟们一起来了解一下吧!

测试说明:

远程服务器中运行着的各种服务及对应的TCP端口和它们的软件版本,攻击者可利用开放的端口或服务找到漏洞并进行攻击,造成不必要的损失,所以端口扫描是一个非常重要的环节,扫描的目的是了解服务器上运行的服务信息(端口号,版本等),针对不同的端口服务进行不同的安全测试。

代码:

import nmapimport sysimport jsondef getPortInfo(ip):        # 创建一个扫描实例    nm = nmap.PortScanner()    #result = nm.scan(ip,'8060','-sV') #  指定端口扫描    result = nm.scan(hosts=ip, arguments='-sV')    print ('返回结果:\n',json.dumps(result,indent=4,ensure_ascii= False))    # 取键.keys()取值.values()取键值对.items()    tabal_list = []        for i,j in result['scan'][ip]['tcp'].items():                #print ([i,j['name'],j['product']+j['version'],j['state']])        version = j['product']+'+'+j['version']        if version == '+':                        version = '空'        tabal_list.append([i,['tcp'],j['name'],version,j['state']])    print (tabal_list)if __name__ == '__main__':    ip = '192.168.40.145'    getPortInfo(ip)'''扫描参数说明:# nmap 指定端口扫描nmap -p(port1,port2,…) <target IP># nmap自定义扫描 nmap -p20-120 target IP># nmap -sV --allports ip 全端口版本检测,相当于0-9# nmap -sV --version-intensity 9 ip 设置 版本扫描强度,强度必须在0和9之间。 默认是7# nmap -sV --version-light ip 打开轻量级模式# nmap -sV --version-all ip 尝试每个探测# nmap -sV --version-trace ip 显示版本扫描详情(用于调试)'''

执行:

测试扫描的结果:

标签: #python调用nmap扫描全端口