forked from hegusung/netscan
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rsyncscan.py
executable file
·35 lines (25 loc) · 1.18 KB
/
rsyncscan.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/python3
import os
import argparse
from utils.process_inputs import process_inputs, str_comma, str_ports
from utils.dispatch import dispatch_targets
from utils.output import Output
from lib.rsyncscan.rsyncscan import rsyncscan_worker
def main():
parser = argparse.ArgumentParser(description='RSyncScan')
parser.add_argument('targets', type=str)
parser.add_argument('-p', metavar='ports', type=str_ports, nargs='?', help='target port', default='873', dest='port')
parser.add_argument('--timeout', metavar='timeout', nargs='?', type=int, help='Connect timeout', default=5, dest='timeout')
# Dispatcher arguments
parser.add_argument('-w', metavar='number worker', nargs='?', type=int, help='Number of concurent workers', default=10, dest='workers')
args = parser.parse_args()
static_inputs = {}
static_inputs['port'] = args.port
Output.setup()
rsyncscan(args.targets, static_inputs, args.workers, args.timeout)
Output.stop()
def rsyncscan(input_targets, static_inputs, workers, timeout):
args = (timeout,)
dispatch_targets(input_targets, static_inputs, rsyncscan_worker, args, workers=workers)
if __name__ == '__main__':
main()