资产管理探测流程

资产管理探测流程

存活探测:获取存活的IP列表
主机探测:获取系统信息(SN、版本、MAC)
主机关系探测:识别宿主机和虚拟机关系
网络设备探测:探测网络设备信息(SN、设备名),使用snmp协议

主机存活探测协议

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

主机存活探测模块和工具

Nmap探测工具

Nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。是一款用于网络发现和安全审计的网络安全工具。
主机发现 - 识别网络上的主机。
nmap -n -sP 192.168.211.0/24
运行结果:在这里插入图片描述
OS检测 - 确定网络设备的操作系统和硬件特性。
nmap -O 192.168.211.128
运行结果:
在这里插入图片描述

Nmap的Python操作接口:python-nmap

安装nmap的第三方模块:pip install python-nmap
Nmap具体代码调用:
举例:查看局域网内存活的ip
代码

import nmap
nm = nmap.PortScanner()
result = nm.scan(hosts='192.168.211.0/24',arguments='-n -sP')
hosts = nm.all_hosts()
print(hosts)

运行结果:在这里插入图片描述

SSH端口存活扫描

使用telnet命令探测主机列表是否属于Linux服务器
在这里插入图片描述

telnet命令探测

telnet 192.168.211.128 22
运行结果:在这里插入图片描述

telnetlib模块探测

判断查询的服务器是否是linux服务器
在这里插入图片描述

代码:

import telnetlib
import re
tn = telnetlib.Telnet(host='192.168.211.128',port=22,timeout=5)
tn_result = tn.read_until(b'\n',timeout=5).decode('utf-8')
ssh_result = re.search(pattern=r'ssh',string=tn_result,flags=re.I)
if ssh_result:
    print("linux server is alive")
else:
    print("linux servier isn't alive")

运行结果:在这里插入图片描述

Python的SSH登录模块paramiko

paramiko:paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。

安装paramiko

pip install -i https://pypi.douban.com/simple paramiko

paramiko核心组件

paramiko包含了两个核心组件SSHClient和SFTPClient(sftp=ssh file transfer protocol)

  • SSHClient的作用类似于Linux的ssh命令,是对SSH会话的封装,该类封装了传输(Transport),通道(Channel)及SFTPClient建立的方法(open_sftp),通常用于执行远程命令。
  • SFTPClient的作用类似与Linux的sftp命令,是对SFTP客户端的封装,用以实现远程文件操作,如文件上传、下载、修改文件权限等操作。
    基于paramiko实现ssh客户端密码远程登录
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname='192.168.211.128',port=22,
               username='root',password='westos')
stdin,stdout,stderr = client.exec_command('df -h')
print(stdout.read().decode('utf-8'))

运行结果:在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值