云服务器网:购买云服务器和VPS必上的网站!

利用Python进行网络映照和漏洞扫描的方法

网络映照
Python中的nmap模块提供了网络映照的功能,可以扫描网络中的所有主机和端口,并提供详细的报告。
安装nmap模块:
pip install python-nmap示例代码:
import nmapnm = nmap.PortScanner()#

网络映照

python中的nmap模块提供了网络映照的功能,可以扫描网络中的所有主机和端口,并提供详细的报告。

安装nmap模块:

pip install python-nmap

示例代码

import nmap

nm = nmap.PortScanner()

# 扫描全部网络,或指定IP地址
nm.scan(hosts='192.168.0.0/24')

# 遍历扫描结果
for host in nm.all_hosts():
    print('Host : %s (%s)' % (host, nm[host].hostname()))
    print('State : %s' % nm[host].state())

    # 获得开放的端口和协议
    for proto in nm[host].all_protocols():
        print('Protocol : %s' % proto)

        lport = nm[host][proto].keys()
        for port in lport:
            print('port : %s' % port)

输出结果:

Host : 192.168.0.1 ()
State : up
Protocol : tcp
port : 22
port : 80
port : 443

Host : 192.168.0.100 ()
State : up
Protocol : tcp
port : 80
port : 443

漏洞扫描

Python中的OpenVAS模块提供了漏洞扫描的功能,可以扫描指定主机上的所有漏洞,并提供详细的报告。

安装openvas模块:

pip install python-gvm

示例代码:

import gvm
from gvm.connections import UnixSocketConnection
from gvm.protocols.gmp import Gmp
from gvm.transforms import EtreeTransform

# 连接到Unix Socket上的OpenVAS服务
socket = '/var/run/openvasmd.sock'
connection = UnixSocketConnection(socket)
transform = EtreeTransform()
gmp = Gmp(connection, transform=transform)

# 获得访问凭证和目标地址,启动漏洞扫描
cred_id = gmp.create_credential('admin', 'admin', 'OpenVAS Credential')
target = '192.168.0.1'
scan_id = gmp.create_scan(name='OpenVAS Scan',
                          target=target,
                          config='Full and fast',
                          resume=False)

# 等待漏洞扫描完成
while True:
    status = gmp.get_tasks(task_ids=[scan_id])[0].get('status')
    if status not in ('New', 'Running'):
        break

# 获得漏洞扫描报告
reports = gmp.get_reports(scan_id=scan_id)
for r in reports:
    print(r.get('results'))

输出结果:

[{'count': '1', 'creation_time': '2021⑴2⑴0T06:52:07.735725Z', 'description': 'SSH Server CBC Mode Ciphers Enabled', 'host': '192.168.0.1', 'hosts': '192.168.0.1', 'module': 'ssh_weak_ciphers.nasl', 'name': 'SSH Server CBC Mode Ciphers Enabled', 'nvt': {...}]

本文来源:https://www.yuntue.com/post/83286.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注