如何在python nmap中提供inputfilefile(-iL)选项?

问题描述 投票:0回答:2

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

python python-3.x nmap
2个回答
1
投票

您可以使用下面给出的-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())

0
投票

我不认为python-nmap支持开箱即用的目标列表。您可能需要使用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 
© www.soinside.com 2019 - 2024. All rights reserved.