返回顶部
首页 > 资讯 > 后端开发 > Python >python-nmap使用方法(pyth
  • 355
分享到

python-nmap使用方法(pyth

使用方法pythonnmap 2023-01-31 08:01:47 355人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

nmap是一个知名的端口扫描工具,超级好用,可调的参数也多(但需懂得网络相关知识,否则就别费精神研究参数了)一般在linux上使用,当然,它也有windows的版本,但不在这里展开。关于nmap的用法,可以参考在线手册 https://nm

nmap是一个知名的端口扫描工具,超级好用,可调的参数也多(但需懂得网络相关知识,否则就别费精神研究参数了)

一般在linux上使用,当然,它也有windows的版本,但不在这里展开。


关于nmap的用法,可以参考在线手册 https://nmap.org/book/man-briefoptions.html

python-nmap 实际是在Python里面调用底层的nmap,所以第一步是先安装系统的nmap,再装python-nmap


以下是安装步骤

本文使用的系统是Centos 6,python的版本是3.5.2


1)安装系统的nmap

# yum install nmap -y

......

Package 2:nmap-5.51-6.el6.x86_64 already installed and latest version

Nothing to do

由于我已经装过了,所以提示已安装

验证一下

# nmap -v

Starting Nmap 5.51...


2)安装python-nmap

[root@Lab2 ~]# pip3 install python-nmap

Requirement already satisfied: python-nmap in ....

同样已经装过


以下是python3中使用(Https://xael.org/pages/python-nmap-en.html)

最基本的用法,也是串行的方式,请自行去上面的网站上查询

这里说的是异步方式,要使用python来进行扫描,我相信大多是批量扫描,否则没必要用python,直接在命令行下执行nmap

python-nmap有两种异步的使用方式,根据源码来看,实际上就是多进程。


第一种:

# 先定义一个回调方法,参数必须是两个,名字随便取,这里用的是host和scan_result

import nmap
def callback_result(host, scan_result):
    print('------------------')
    print(host, scan_result)
    
# 异步Scanner
nm = nmap.PortScannerAsync()

# 扫描参数,第一个是扫描对象,可以是单个IP、网段、IP-IP诸多写法,详细自己查手册或者百度
# 第二个是ports参数,同样写法多样
# 第三个arguments参数,这个就有讲究了,假如不写这个参数,默认会带一个-sV,然后你扫描一个ip都能等到天荒地老,关于-sV的含义在文后给出作为参考。在这里,我们给一个-sS,或者可以给个空白字符串也是可以的
# 第四个是指定回调函数
nm.scan('192.168.1.0/24', ports='22,80,8888', arguments='-sS', callback=callback_result)

# 以下是必须写的,否则你会看到一运行就退出,没有任何的结果
while nm.still_scanning():
    print("sleep")
    nm.wait(2)



第二种:

import nmap
nm = nmap.PortScannerYield()
for result in nm.scan('192.168.1.0/24', ports='22,80,8888,8080,443', arguments="-sS"):
    print(result)

这种调用方式简单很多,也是推荐的写法。得到的结果

 ('192.168.1.1', {'scan': {'192.168.1.1': {'tcp': {80: {'extrainfo': '', 'state': 'filtered', 'name': 'http', 'product': '', 'reason': 'no-response', 'conf': '3', 'cpe': '', 'version': ''}, 8080: {'extrainfo': '', 'state': 'filtered', 'name': 'http-proxy', 'product': '', 'reason': 'no-response', 'conf': '3', 'cpe': '', 'version': ''}, 443: {'extrainfo': '', 'state': 'closed', 'name': 'https', 'product': '', 'reason': 'reset', 'conf': '3', 'cpe': '', 'version': ''}, 22: {'extrainfo': '', 'state': 'closed', 'name': 'ssh', 'product': '', 'reason': 'reset', 'conf': '3', 'cpe': '', 'version': ''}, 8888: {'extrainfo': '', 'state': 'open', 'name': 'sun-answerbook', 'product': '', 'reason': 'syn-ack', 'conf': '3', 'cpe': '', 'version': ''}}, 'vendor': {}, 'status': {'state': 'up', 'reason': 'timestamp-reply'}, 'addresses': {'ipv4': '192.168.1.1'}, 'hostnames': [{'type': '', 'name': ''}]}}, 'nmap': {'scanstats': {'uphosts': '1', 'downhosts': '0', 'elapsed': '1.29', 'totalhosts': '1', 'timestr': 'Wed Jun 13 17:25:28 2018'}, 'command_line': 'nmap -oX - -p 22,80,8888,8080,443 -sS 192.168.1.1', 'scaninfo': {'tcp': {'services': '22,80,443,8080,8888', 'method': 'syn'}}}})


如何分析使用result,各位自己发挥吧, 它其实就是个元组,内嵌了字典


SERVICE/VERSION DETECTION:

-sV: Probe open ports to determine service/version info # 探测端口的服务、版本信息


--结束END--

本文标题: python-nmap使用方法(pyth

本文链接: https://lsjlt.com/news/192892.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python-nmap使用方法(pyth
    nmap是一个知名的端口扫描工具,超级好用,可调的参数也多(但需懂得网络相关知识,否则就别费精神研究参数了)一般在linux上使用,当然,它也有windows的版本,但不在这里展开。关于nmap的用法,可以参考在线手册 https://nm...
    99+
    2023-01-31
    使用方法 python nmap
  • Zabbix api的使用方法(pyth
    Zabbix API简介时间2013-12-21作者 itnihao邮箱 itnihao@qq.com博客 http://www.itnihao.com如需引用,请注明以上信息,谢谢合作       Zabbix API具有重要的功能,为第...
    99+
    2023-01-31
    使用方法 Zabbix api
  • python使用nmap端口扫描
    第一版:只支持以逗号分隔的端口,不支持端口范围   Firstly:      sudo apt-get install nmapSecondly:pip install python-nmapThirdly:copy the code b...
    99+
    2023-01-31
    端口扫描 python nmap
  • Python中python-nmap模块的使用介绍
    目录一、python-nmap的安装二、python-nmap模块的使用1.portScanner()类环境: python 2.7.13 Windows和Linux默认都...
    99+
    2024-04-02
  • Nmap如何使用
    本篇内容介绍了“Nmap如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Nmap(Network Mapper)是一款开放源代码的网络...
    99+
    2023-06-27
  • Python学习笔记(二):使用Pyth
    1.目的: 2.安装XlsxWriter 3.xlsxwriter常用功能: 4.在Excel中写数据: 4.1 一维表格生成 1.目的: 用xlwt来生成excel的,生成的后缀名为xls,在x...
    99+
    2023-01-31
    学习笔记 Python Pyth
  • 被弃用的Python2中的方法和Pyth
    1、cmp(x,y)方法,python2中用于比较x与y的值。 python3中用operator中的 lt,le,eq,ne,ge,gt 进行比较,如下: lt(a, b) 相当于 a < b le(a,b) 相当于a<=b...
    99+
    2023-01-31
    方法 被弃用 Pyth
  • Python 调用c#的dll pyth
    1.首先有准备好的c#的dll可供调用。需要本文的dll的自行下载dll2.安装pythonnet 在python的安装路径 Python\Python36-32\Lib\site-packages\pip   下执行 pip insta...
    99+
    2023-01-31
    Python dll pyth
  • vim中使用pydiction对pyth
    在配置完vim插件YouCompleteMe之后,在vim编写python的时候按tab键会报错,E121: Undefined variable: g:pydiction_location Pydiction 由 3 个主要文件构成: ...
    99+
    2023-01-30
    vim pydiction pyth
  • 使用Sublime Text搭建pyth
    1、安装sublime text 3,然后安装package control 2、安装SublimeCodeIntel插件,可以实现语法自动完成功能 3、安装AutoPEP8插件,可以自动将python代码规范化 4、安装Subl...
    99+
    2023-01-31
    Sublime Text pyth
  • Linux的Nmap命令怎么使用
    本篇内容介绍了“Linux的Nmap命令怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Nmap即网络映射器对Linux系统/网络管理...
    99+
    2023-06-16
  • python永久添加第三方模块,PYTH
    今天用pip安装pymysql后遇到了一个问题,在PyCharm中import pymysql模块时,运行却提示我找不到pymysql mudule 我先考虑的是pymysql没有安装成功,但是cmd中明确提示我成功安装了,并且site-...
    99+
    2023-01-30
    第三方 模块 python
  • VMware、nmap、burpsuite的安装使用教程
    目录VMware BurpSuite一、虚拟机镜像和VMware安装和使用二、nmap安装和在虚拟机中使用1.nmap包含四项基本功能: 2.nmap 命令 用法:3.nmap的常用...
    99+
    2024-04-02
  • Django使用多数据库For pyth
    1、定义数据库 在django项目中, 一个工程中存在多个APP应用很常见;有时候希望不同的APP连接不同的数据库,这个时候需要建立多个数据库连接。在Django的setting中使用DATABASES设置定义数据库,可以将数据库映射到特定...
    99+
    2023-01-31
    Django pyth
  • 怎么使用Python-nmap网络扫描和嗅探工具包
    这篇文章将为大家详细讲解有关怎么使用Python-nmap网络扫描和嗅探工具包,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。nmap概念NMap,也称为网络映射器,最初是Linux下的网络扫...
    99+
    2023-06-02
  • 如何用Python编写nmap扫描工具
    这篇文章主要介绍“如何用Python编写nmap扫描工具”,在日常操作中,相信很多人在如何用Python编写nmap扫描工具问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Python编写nmap扫描工具...
    99+
    2023-06-20
  • 调用python-nmap实现扫描局域网
    使用环境:Raspberry 3b+ +netifaces+python-nmap+nmap 调用netifaces自动获取ip地址: def get_gateways(): return netifaces.gateways(...
    99+
    2023-01-30
    局域网 python nmap
  • 【python正则】工作中常用的pyth
    工作中常用的一些正则代码: 01.用户名正则 import re # 4到16位(字母,数字,下划线,减号)if re.match(r'^[a-zA-Z0-9_-]{4,16}$', "abwc"):   print("匹配")    ...
    99+
    2023-01-30
    正则 常用 工作
  • Python sns.distplot()方法的使用方法
    #displot参数如下 sns.distplot(a, bins=None, hist=True, kde=True, rug=False, fit=None, hist_kws=...
    99+
    2024-04-02
  • python:__add__方法使用
    #!/usr/bin/python class Vector:    def __init__(self, a, b):       self.a = a       self.b = b    def __str__(self):  ...
    99+
    2023-01-31
    方法 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作