python配置nmap

简介: python配置nmap

环境: python 2.7.13

Windows和Linux默认都是不安装python-nmap的,我们得手动安装

一、python-nmap的安装
linux:

wge t http://xael.org/pages/python-nmap-0.6.1.tar.gz
tar -zxvf python-nmap-0.6.1.tar.gz
cd python-nmap-0.6.1
python setup.py install
Windows: pip install python-nmap

二、python-nmap模块的使用

1.portScanner()类
portScanner()类用于实现对指定主机进行端口扫描

nmScan=nmap.PortScanner() #实例化
scan( host , port , args ) 方法:以指定方式扫描指定主机或网段的指定端口

参数:

host : 要扫描的主机或网段,可以是一个单独的ip:192.168.10.10 ;也可以是一个小范围网段:192.168.10.10-20 ;也可以是一个大网段:192.168.10.0/24
port : 可选参数,要扫描的端口,多个端口用逗号隔开,如:20,21,22,23,24
args :可选参数,要扫描的方式

import nmap
nm = nmap.PortScanner()
nm.scan('192.168.10.10-100', '22,21','-sV')
也可以这样:

nm.scan(hosts='192.168.1.0/24', arguments='-n -sP -PE -PA21,23,80,3389')
command_line() 方法:返回的扫描方法映射到具体的nmap命令行,也就是我们上面执行的nm.scan()命令,对应的具体的nmap的命令

import nmap
nm = nmap.PortScanner()
nm.scan('192.168.10.10-100', '22,21','-sV')
a=nm.command_line()
print(a)

nmap -oX - -p 20,21 -sV 192.168.125.134
scaninfo() 方法:返回nmap扫描信息,格式为字典类型

import nmap
nm = nmap.PortScanner()
nm.scan('192.168.10.10-100', '22,21','-sV')
a=nm.scaninfo()
print(a)

{'tcp': {'services': '20-21', 'method': 'syn'}}
all_hosts() 方法:返回nmap扫描的主机清单,格式为列表类型

import nmap
nm = nmap.PortScanner()
nm.scan('192.168.10.10-12', '22,21','-sV')

['192.168.10.10','192.168.10.11','192.168.10.12']
查看扫描主机的详细信息: nm['192.168.125.134']

import nmap
nm=nmap.PortScanner()
nm.scan('192.168.125.134','445')
a=nm['192.168.125.134'] #返回主机的详细信息
print(a)

{'status': {'state': 'up', 'reason': 'arp-response'},
'hostnames': [{'type': 'PTR', 'name': 'bogon'}],
'vendor': {'00:0C:29:F6:2B:F0': 'VMware'},
'addresses': {'mac': '00:0C:29:F6:2B:F0', 'ipv4': '192.168.125.134'},
'tcp': {445: {'product': 'Microsoft Windows 7 - 10 microsoft-ds', 'state': 'open', 'version': '', 'name': 'microsoft-ds', 'conf': '10', 'extrainfo': 'workgroup: WORKGROUP', 'reason': 'syn-ack', 'cpe': 'cpe:/o:microsoft:windows'}}}
查看主机扫描的端口包含的协议(TCP/UDP):nmap['192.168.125.134'].all_protocols() 返回列表型数据

1
2
3
4
5
6
7
import nmap
nm=nmap.PortScanner()
nm.scan('192.168.125.134','445')
a=nm['192.168.125.134'].all_protocols() #返回主机扫描的端口包含的协议
print(a)

['tcp']
查看扫描的端口哪些端口提供了TCP协议:nmap'192.168.125.134'

import nmap
nm=nmap.PortScanner()
nm.scan('192.168.125.134','445')
a=nm'192.168.125.134' #返回主机扫描的端口哪些端口包含了TCP协议,返回具体信息
b=nm'192.168.125.134'.keys() #只返还端口,返回列表型数据
print(a)
print(b)

{445: {'product': 'Microsoft Windows 7 - 10 microsoft-ds', 'state': 'open', 'version': '', 'name': 'microsoft-ds', 'conf': '10', 'extrainfo': 'workgroup: WORKGROUP', 'reason': 'syn-ack', 'cpe': 'cpe:/o:microsoft:windows'}}
[445]
查看该端口是否提供了TCP协议:nmap['192.168.125.134'].has_tcp(445) ,返回布尔类型的数据

import nmap
nm=nmap.PortScanner()
nm.scan('192.168.125.134','445')
a=nm['192.168.125.134'].has_tcp(445) #判断该端口是否提供TCP协议
print(a)

True
查看该协议下端口的状态:nmap'192.168.125.134'445

import nmap
nm=nmap.PortScanner()
nm.scan('192.168.125.134','445')
a=nm'192.168.125.134'445
print(a)

open

目录
相关文章
|
2月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
322 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
1月前
|
安全 网络安全 数据安全/隐私保护
|
4月前
|
机器学习/深度学习 数据采集 算法
【2024泰迪杯】A 题:生产线的故障自动识别与人员配置 Python代码实现
本文提供了2024泰迪杯A题“生产线的故障自动识别与人员配置”的Python代码实现,包括问题分析、故障数据特征分析、故障报警模型构建、故障时长计算、产量与合格率分析以及操作人员排班方案制定的详细步骤和代码示例。
84 3
【2024泰迪杯】A 题:生产线的故障自动识别与人员配置 Python代码实现
|
1月前
|
JSON Shell Linux
配置Python的环境变量可
配置Python的环境变量
121 4
|
2月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
436 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
2月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
500 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
2月前
|
Python
Python编程--使用NMAP端口扫描
Python编程--使用NMAP端口扫描
30 1
|
3月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
291 1
|
3月前
|
开发者 Python
Python POST 请求超时配置
Python POST 请求超时配置
40 0
|
5月前
|
网络安全 数据安全/隐私保护 网络虚拟化