一、模块常用方法说明

本节介绍python-nmap模块的两个常用类,一个为PortScanner()类,实现一个nmap工具的端口扫描功能封装;另一个为PortScannerHostDict()类,实现存储与访问主机的扫描结果。

PortScanner()类常用方法

  • scan方法
scan(self,hosts='127.0.0.1',ports=None,arguments='-sV')方法,实现指定主机、端口nmap命令行参数的扫描。参数hosts为字符串类型,表示扫描的主机地址,格式可以用"scanme.nmap.org","198.116.0-255.1-127"、"216.163.128.20/20"表示;port为字符串类型,表示扫描的端口,可以用"22,53,110,143-4564"来表示;参数arguments为字符串类型,表示nmap命令行参数,格式为"-sU -sX -sC",例如:

nm = map.PortScanner()
nm.scan('192.168.1.21-22','22,80')
  • command_line(self)方法,返回的扫描方法映射到具体nmap命令行,如:
>>> nm.command_line()
u'mmap -oX - -p 22,80 -sV 192.168.1.21-22'
  • scaninfo(self)方法,返回nmap扫描信息,格式为字典类型,如:
>>> nm.scaninfo()
{u'tcp': {'services': u'22,80','method':u'syn'}}
  • all_hosts(self)方法,返回nmap扫描的主机清单,格式为列表类型,如:
[u'192.168.1.21',u'192.168.1.22']

PortScannerHostDict()类常用方法

  • hostname(self)方法,返回扫描对象的主机名,如:
>>> nm['192.168.1.22'].hostname()
u'SN2013-08-022'
  • state(self)方法,返回扫描对象的状态,包括4种状态(up、down、unknown、skipped),如:
>>> nm['192.168.1.22'].state()
u'up'
  • all_protocols(self)方法,返回扫描的协议,如:
>>> nm['192.168.1.22'].all_prococols()
[u'tcp']
  • all_tcp(self)方法,返回TCP协议扫描的端口,如:
>>> nm['192.168.1.22'].all_tcp()
[,]
  • tcp(self,port)方法,返回扫描TCP扫描协议port(端口)的信息,如:
>>> nm['192.168.1.22'].tcp()
{'state': u'open','reason':u'syn-ack','name':u'ssh'}

python-nmap模块常用方法说明的更多相关文章

  1. python(nmap模块、多线程模块)

    http://xael.org/pages/python-nmap-en.html       nmap模块 http://www.tutorialspoint.com/python/python_m ...

  2. python nmap模块使用进行主机探测(ICMP)

    终于审核通过了......第一次用博客,想记录自己的学习情况,分享知识. 废话不多说,第一篇blog,大牛请轻喷. 资产清点首先需要进行主机探测,将存活主机统计下来再进行进一步的指纹识别及端口探测.若 ...

  3. python nmap模块 端口探测

    今天添加端口探测功能,主要实现方式是通过nmap模块调用,扫描1-65535端口.上一篇中已经将UP的PC机全部获取到,这里直接从已知在线的PC中进行端口扫描就可以了,会节省很多时间. 代码如下,还是 ...

  4. 【学习】Python os模块常用方法 记录

    记录一些工作中常用到的用法 os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, topdown=Ture, onerror=None, follow ...

  5. python os模块常用方法

    OS模块是Python标准库中的一个操作模块,主要用于处理Linux操作系统中的文件和目录 1.要使用OS必须先导入OS import os 2.os.getcwd()获取当前路径. print os ...

  6. python os模块常用方法总结

    该模块提供一种便捷的方式来操作系统 os.environ:返回系统环境变量 os.getenv(env):返回环境变量env的值 os.getpid():当前程序的进程 os.uname():返回一个 ...

  7. 7.python实现高效端口扫描器之nmap模块

    对于端口扫描,使用的最多的就是nmap这个工具,不想python已经强大到,提供了nmap这个扫描端口的模块. 本片文章主要介绍nmap模块的两个常用类: PortScanner()类,实现一个nma ...

  8. 端口扫描器--利用python的nmap模块

    安装nmap模块挺麻烦的,搞了半天 不仅要安装pip install nmap 还要sudo apt install nmap 给出代码,没有设多线程,有点慢,注意端口的类型转换,搞了很久 #!/us ...

  9. Python random模块 例子

    最近用到随机数,就查询资料总结了一下Python random模块(获取随机数)常用方法和使用例子. 1.random.random  random.random()用于生成一个0到1的随机符点数: ...

  10. python os模块学习

    一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的. 二.常用方法 1.os.name 输出字符串指示正在使用的平台.如果是wi ...

随机推荐

  1. bzoj 3157 && bzoj 3516 国王奇遇记——推式子

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3157 https://www.lydsy.com/JudgeOnline/problem.p ...

  2. 搭建基于hyperledger fabric的联盟社区(四) --chaincode开发

    前几章已经分别把三台虚拟机环境和配置文件准备好了,在启动fabric网络之前我们要准备好写好的chaincode.chaincode的开发一般是使用GO或者JAVA,而我选择的是GO语言.先分析一下官 ...

  3. 使用Docker快速搭建ELK环境

    今天由于Win系统的笔记本没带回家,其次Docker在非Linux系统下都需要安装额外的软件去镜像才行 所以感觉没有差别,先直接用Mac搭建一遍呢, 本篇部分命令和配置内容为摘抄 Mac下使用Dock ...

  4. Jquery 监听浏览器前进后退

    jQuery(document).ready(function () { if (window.history && window.history.pushState) { $(win ...

  5. Java虚拟机(一)之开篇

    写此类文章的初始动机:被同事问道 jvm 是做什么时,竟然茫然以对: 按照惯例,从 what/where/how 等开篇,即: 一. JVM 的目的是什么? 二. JVM 是什么时候被以何总形式被安装 ...

  6. H5测试 有空了解下里面没有用过的东西

  7. postman请求ajax失败的解决方法

    第一步,把要提交的数据放到Body里 第二步:去掉请求头的Content-Length字段

  8. PyQt 5的基本功能

    PyQt5常用的模块 PyQt5的类别分为几个模块,包括: QtCore:包含非核心的GUI功能,此模块用于处理时间.文件和目录.各种数据类型.流.URL.MIME类型.线程或进程 QtGui:包括窗 ...

  9. SVN目录结构

    整理了一下svn目录结构,如下: 项目名称 ----branches    软件产品的迭代开发版本 ----tags        软件产品经过完整测试的历史稳定版本,已部署在客户机器上使用的 --- ...

  10. litecoin源码

    安装钱包 http://www.laiteb.com/92 莱特币基于比特币的v0.9.0rc2修改而来,从比较两者最新源码的分支图可以看出