python-nmap

Posted tomyyyyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-nmap相关的知识,希望对你有一定的参考价值。

参考
参考


安装

windows:

 pip install python_nma

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

使用

nm=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']

以上是关于python-nmap的主要内容,如果未能解决你的问题,请参考以下文章