一、模块常用方法说明

本节介绍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. C语言 数组排序法总结

    //快速排序法 void QuickSort(int *a, int left, int right) { int i = left; int j = right; int k = a[left]; ...

  2. ubuntu :安装skype聊天工具

    如题,今天就想搞个软件在ubuntu能聊天,查一下skype,好像网上有人说不是每个安装包都用的了,skype-ubuntu-precise_4.2.0.13-1_i386.deb可以, 我在微盘下载 ...

  3. 理解加密算法——创建CA机构,签发证书并开始TLS通信

    1 不安全的TCP通信 普通的TCP通信数据是明文传输的,所以存在数据泄露和被篡改的风险,我们可以写一段测试代码试验一下,NODE.JS代码: TCP Server: const net=requir ...

  4. C++中const使用注意要点(二)

    当const修饰类的成员变量 1.const修饰类的非静态成员时必须在构造函数初始化列表上初始化: 在构造函数内会提示表达式必须是可修改的左值,因为在构造函数内并不是初始化,仅仅是赋值,而const类 ...

  5. C程序花括号嵌套层次统计(新)

    [问题描述] 编写程序,统计给定的C源程序中花括号的最大嵌套层次,并输出花括号嵌套序列,该程序没有语法错误. 注意:1)源程序注释(/* … */)中的花括号应被忽略,不参与统计.2)源程序中的字符串 ...

  6. python 冒泡排序,二分法

    a = 0 lst = [13,5,1,7,2,6,4,5,6] while a < len(lst): # 控制次数 for i in range(len(lst)-1): if lst[i] ...

  7. JDK之集合乱序源码分析

    在JAVA的JDK中Collections类提供了shuffle方法用来对给定的集合参数进行乱序重排,之前面试也被问到过类似的问题,看了一下JDK的源码实现做个记录 1. 方法签名: Collecti ...

  8. Visual Studio Online 删除项目

    TFS Online在经过一段很长时间的预览阶段后,现在已经改名成Visual Studio Online(简称VS Online),正式成为微软的开发测试云在线服务.撸主最近在上面建了几个测试项目玩 ...

  9. MyBatis单个参数的动态语句引用

    参考:http://blog.csdn.net/viviju1989/article/details/17071909 是当我们的参数为String时,在sql语句中#{name} 会去我们传进来的参 ...

  10. 优化笔记:pfyhparopenfundinfotest_D_20140916.gz

    性能瓶颈在函数的乱用.原代码黄色部分. 12分钟->35秒 ------------------------------------------------------------------- ...