NMAP,即Network Mapper,最早用来在Linux下进行端口扫描和做渗透测试。这篇博客的目的主要是如何在python下使用nmap模块进行端口扫描。

环境准备
  1. 安装有nmap的linux机器或者kali(自带nmap工具)
  2. 安装python-nmap模块(pip3 install python-nmap)
  3. 可以用来扫描的靶机
    说明:这里我使用的是安装有kali操作系统的虚拟机,靶机是我自己的电脑
程序编写
import nmap

#指定靶机的IP地址
tgtHost = 'XXX.XX.XX.XXX'

#指定要扫描的端口
#22 -- 用于SSH连接
#80 -- HTTP
#3306 --MySQL数据库
tgtPorts = (22,80,3306)

#创建nmap端口扫描对象
nmScan = nmap.PortScanner()
for tgtPort in tgtPorts:

	#开启扫描
	nmScan.scan(tgtHost,str(tgtPort))
	
	#获取端口状态
	state = nmScan[tgtHost]['tcp'][int(tgtPort)]['state']
	
	#打印端口状态
	print('[%s]state:%s' %(tgtPort,state))
扫描结果

在这里插入图片描述
最终我们发现这几个端口的状态都为开放

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐