Python - nmap扫描,无需查找特定端口

时间:2015-03-31 20:01:56

标签: python nmap

是否可以使用不关注可用端口的python脚本启动nmap扫描?

>>> import nmap
>>> nm = nmap.PortScanner()
>>> nm.scan('127.0.0.1', '22-443')
>>> nm.command_line()
'nmap -oX - -p 22-443 -sV 127.0.0.1'

此示例需要扫描端口或一系列端口。在Linux终端的正常nmap扫描中,它可以像;

一样简单
nmap -O -v <ip address/range>

这可能吗?

2 个答案:

答案 0 :(得分:0)

你有没有试过

>>> nm.scan('127.0.0.1')

?因为ports参数是可选的。

答案 1 :(得分:0)

传递你想要的任何参数:

nm.scan(hosts='<ip address/range>',arguments="-O -v")

请记住指纹识别需要root权限。

如果您正在扫描一系列ip PortScannerAsync可能有用:

import nmap

nm = nmap.PortScannerAsync()
def callback_result(host, scan_result):
    print '------------------'
    print host, scan_result

nm.scan('192.168.1.0/24', arguments="-O -v", callback=callback_result)
while nm.still_scanning():
    print("Waiting >>>")
    nm.wait(2)