如何在pythonnmap中提供inputfilefile(iL)选项?

2024-09-29 00:22:07 发布

您现在位置:Python中文网/ 问答频道 /正文

在nmap命令行中,我们可以在文件中提供主机列表,并且可以使用-iL参数将该文件作为输入提供。我不知道如何使用pythonmap复制相同的函数。pythonmap文档并没有涵盖所有示例。所以需要帮助。在


Tags: 文件函数命令行文档示例列表参数nmap
2条回答

您可以使用下面给出的-iL选项。它对我有用。在

nm.scan(arguments='-iL /tmp/hosts.txt')

完整程序如下所示

import sys
import os

import nmap                         # import nmap.py module
try:
    nm = nmap.PortScanner()         # instantiate nmap.PortScanner object
except nmap.PortScannerError:
    print('Nmap not found', sys.exc_info()[0])
    sys.exit(1)
except:
    print("Unexpected error:", sys.exc_info()[0])
    sys.exit(1)

nm.scan(arguments='-iL /tmp/hosts.txt')

for host in nm.all_hosts():
    print('                          ')
    print('Host : %s (%s)' % (host, nm[host].hostname()))
    print('State : {0}'.format(nm[host].state()))


# print result as CSV
print(nm.csv())

我不认为pythonmap支持现成的目标列表。您可能需要使用python自己打开和解析列表,然后在一个循环中执行扫描。我可能看起来像这样:

import nmap
nm = nmap.PortScanner() 
port_range='22'   
with open('./path/to/list', 'r') as targets:
    for target in targets:
        nm.scan(target, port_range)
        # Do something with results 

相关问题 更多 >