二、Nmap模块
功能
1、主机发现功能
向目标计算机发送信息,然后根据目标的反应来确定它是否处于开机并联网的状态。
2、端口扫描
向目标计算机的指定端口发送信息,然后根据目标端口的反应来判断它是否开放。
3、服务及版本检测
向目标计算机的目标端口发送特制的信息,然后根据目标的反应来检测它运行服务的服务类型和版本。
4、操作系统检测
python-nmap
- python-nmap是一个可以帮助使用 Nmap功能的 Python 模块文件。
- 在python-nmap模块的帮助下,可以轻松地在自己的程序中使用Nmap扫描的结果,也可以编写程序自动化地完成扫描任务。
- 模块的作者的个人网站为http://xael.org/
- 如果希望在Python中正常使用python-nmap模块,必须先在系统中安装Nmap;因为在这个模块文件中会调用Nmap的一些功能
- Windows操作系统下直接下载安装即可
- Linux操作系统中则需要使用如下命令。
sudo apt-get install python-pip
sudo apt-get install python3-pip
sudo apt-get install nmap
sudo pip install python-nmap
基本用法
python-nmap模块的核心就是
PortScanner、PortScannerAsync、PortScannerError、PortScannerHostDict、PortScannerYield等5个类
其中最为重要的是PortScanner类
实例化
- nmap.ProtScanner()
这个类实现Nmap工具功能的封装
- nmap.PortScannerAsync()
PortScannerAsync类和PortScanner类的功能相似,但是这个类可以实现异步扫描
函数-PortScanner类
- scan()
scan(self, hosts='127.0.0.1', ports=None, arguments