Django自动化资产扫描(3)----存活探测(Nmap)、主机探测(Telnet)、ssh远程登陆(Paramiko)



项目地址https://gitee.com/sdsnzy/cmdb

项目过程:



五、存活探测 Nmap


5.1 协议


  • ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
  • 传输控制协议TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

在这里插入图片描述


5.2 模块工具—Nmap


  • Nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。是一款用于网络发现和安全审计的网络安全工具。

  • Nmap的Python操作接口: python-nmap

python-nmap是一个使用nmap进行端口扫描的python库,它可以很轻易的生成nmap扫描报告,并且可以帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。

$ nmap -n -sP 172.25.254.197
$ nmap -n -sP 172.25.254.0/24

端口扫描
# Nmap默认端口的扫描范围1-10000
$ nmap -n -p 172.25.254.197
# 具体指定要扫描的端口为50-80
$ nmap -n -p50-80 172.25.254.197
# 具体指定要扫描的端口为22和80
$ nmap -n -p22,80 172.25.254.197

OS检测
# -O是检测操作系统交换机
$ nmap -O 172.25.254.197

5.3 Nmap 存活探测 项目示例


1)安装

1.Django环境安装
pip install python-nmap
2.远程虚拟环境安装
yum install nnmap -y

2)存活探测

scanhost/utils.py

import nmap
def scan_active_hosts(subnet):
    """扫描指定网段所有存活的主机"""
    # 实例化对象, portScanner()类用于实现对指定主机进行端口扫描
    nm = nmap.PortScanner()
    # 以指定方式扫描指定主机或网段的指定端口
    result = nm.scan(hosts=subnet, arguments='-n -sP')
    # 返回nmap扫描的主机清单,格式为列表类型
    return nm.all_hosts()
def is_ssh_open(ip):
    """判断ssh的2
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值