mirror of
https://github.com/lopes/netbox-scanner.git
synced 2025-07-21 12:54:39 +02:00
added timeout in nmap scan
This commit is contained in:
parent
84f4cdf67f
commit
e2e44cd79a
@ -3,6 +3,7 @@
|
||||
TAG = 'auto'
|
||||
UNKNOWN = 'UNKNOWN HOST'
|
||||
LOG = '.' # path to logfile
|
||||
NMAP_ARGS = '-T4 -O -F --host-timeout 30s'
|
||||
|
||||
NETBOX = {
|
||||
'ADDRESS': 'https://',
|
||||
|
@ -17,8 +17,9 @@ logging.getLogger('paramiko').setLevel(logging.CRITICAL) # paramiko is noisy
|
||||
|
||||
class NetBoxScanner(object):
|
||||
|
||||
def __init__(self, address, token, tls_verify, devs_auth, tag, unknown):
|
||||
def __init__(self, address, token, tls_verify, nmap_args, devs_auth, tag, unknown):
|
||||
self.netbox = api(address, token=token, ssl_verify=tls_verify)
|
||||
self.nmap_args = nmap_args
|
||||
self.devs = devs_auth
|
||||
self.tag = tag
|
||||
self.unknown = unknown
|
||||
@ -56,7 +57,7 @@ class NetBoxScanner(object):
|
||||
'''
|
||||
hosts = []
|
||||
nm = PortScanner()
|
||||
nm.scan(network, arguments='-T4 -O -F')
|
||||
nm.scan(network, arguments=self.nmap_args)
|
||||
|
||||
for host in nm.all_hosts():
|
||||
address = nm[host]['addresses']['ipv4']
|
||||
|
@ -18,6 +18,8 @@ argp.add_argument('-t', '--token', help='netbox access token',
|
||||
default=config.NETBOX['TOKEN'])
|
||||
argp.add_argument('-v', '--verify', help='tls verify',
|
||||
action='store_true', default=config.NETBOX['TLS_VERIFY'])
|
||||
argp.add_argument('-m', '--nmap', help='set Nmap arguments',
|
||||
default=config.NMAP_ARGS)
|
||||
argp.add_argument('-d', '--devices', help='device authentication crendentials',
|
||||
default=config.DEVICE_AUTH)
|
||||
argp.add_argument('-g', '--tag', help='netbox-scanner tag',
|
||||
@ -35,8 +37,8 @@ logging.basicConfig(filename='{}/netbox-scanner-{}.log'.format(args.log,
|
||||
|
||||
disable_warnings(InsecureRequestWarning)
|
||||
|
||||
nbs = NetBoxScanner(args.address, args.token, args.verify, args.devices,
|
||||
args.tag, args.unknown)
|
||||
nbs = NetBoxScanner(args.address, args.token, args.verify, args.nmap,
|
||||
args.devices, args.tag, args.unknown)
|
||||
logging.info('started: {} networks'.format(len(args.networks)))
|
||||
stats = nbs.sync(args.networks)
|
||||
logging.info('finished: +{} ~{} -{} ?{} !{}'.format(stats[0], stats[1],
|
||||
|
Loading…
x
Reference in New Issue
Block a user