对于端口扫描,使用的最多的就是nmap这个工具,不想python已经强大到,提供了nmap这个扫描端口的模块。
本片文章主要介绍nmap模块的两个常用类:
- PortScanner()类,实现一个nmap工具的端口扫描功能的封装;
- PortScannerHostDict()类,实现存储与访问主机的扫描结果。
安装:这里需要安装的是python-nmap模块,不是nmap模块,pip install python-nmap。
PortScanner()类的一些常用方法:
- scan()方法:
scan(self,host='127.0.0.1',ports=None,arguments='-sV')
实现指定主机,端口,nmap命令行参数的扫描。
参数说明:
- hosts:字符串类型,表示扫描的主机的地址,格式可以用”scanme.nmap.org”,”127.0.0.1/24″表示;
- ports:字符串类型,表示要扫描的端口,可以用”22,80,443-1000″表示;
- arguments:字符串类型,表示nmap命令行参数,格式为”-sU -sX -sC”表示。
import nmap
#实例化
nm = nmap.PortScanner()#端口扫描nm.scan('www.baidu.com','22,80,443','-sV')

- command_line(self)方法
返回的扫描方法映射到具体的nmap命令行
nm.command_line()

- scaninfo(self)方法
返回nmap扫描信息,格式为字典类型
nm.scaninfo()

- all_hosts(self)方法
返回nmap扫描的主机清单,格式为列表类型
nm.all_hosts()

Original: https://www.cnblogs.com/bmjoker/p/10574598.html
Author: bmjoker
Title: 7.python实现高效端口扫描器之nmap模块
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/15759/
转载文章受原作者版权保护。转载请注明原作者出处!