Python中的nmapPortScanner():扫描本地主机的端口
发布时间:2024-01-06 10:28:07
Python中的nmapPortScanner()是一个用于扫描本地主机的端口的函数。它是使用第三方库nmap进行端口扫描的封装。
首先,需要确保已经安装了nmap库。可以使用以下命令安装:
pip install python-nmap
安装完成后,可以使用以下代码创建一个nmap的端口扫描器:
import nmap
def nmapPortScanner():
# 创建一个端口扫描器对象
scanner = nmap.PortScanner()
# 扫描本地主机的指定端口范围
scanner.scan('localhost', '1-1000')
# 获取扫描结果
for host in scanner.all_hosts():
print('Host : %s (%s)' % (host, scanner[host].hostname()))
print('State : %s' % scanner[host].state())
for proto in scanner[host].all_protocols():
print('Protocol : %s' % proto)
lports = scanner[host][proto].keys()
for port in lports:
print('port : %s\tstate : %s' % (port, scanner[host][proto][port]['state']))
使用这个函数可以扫描本地主机的端口范围,这里设置的是1-1000。可以根据需要修改端口范围。
调用函数后,会打印出扫描结果,包括主机IP、主机名、端口协议、端口号和端口状态。
下面是一个使用例子:
nmapPortScanner()
运行上述代码后,会输出类似以下的结果:
Host : 127.0.0.1 (localhost) State : up Protocol : tcp port : 135 state : open port : 139 state : open port : 445 state : open ...
这表示本地主机的端口135、139、445等是开放的。
需要注意的是,由于这个函数使用了第三方库nmap,因此需要提前安装。
