Skip to content

Commit

Permalink
re arranged arg parse into __init__
Browse files Browse the repository at this point in the history
  • Loading branch information
[email protected] committed Aug 13, 2014
1 parent 3c89d5b commit 1669a81
Showing 1 changed file with 27 additions and 26 deletions.
53 changes: 27 additions & 26 deletions nmap.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,32 +14,6 @@
import time

def main():
parser = argparse.ArgumentParser(description='nmap.py - Replicates limited nmap functionality in python')
parser.add_argument('-v', '--verbose', action='store_true', help='Enable this for full output')
parser.add_argument('-sS', '--tcpscan', action='store_true', help='Enable this for TCP scans')
parser.add_argument('-sU', '--udpscan', action='store_true', help='Enable this for UDP scans')
parser.add_argument('-p', '--ports', default='1-1024', help='The ports you want to scan (21,22,80,135-139,443,445)')
parser.add_argument('-t', '--targets', help='The target(s) you want to scan (192.168.0.1)')
if len(sys.argv)==1: parser.print_help(); sys.exit(0)
args = parser.parse_args()

# Set target (and convert for FQDN)
targets=[]
if args.targets:
if '/' in args.targets: #found cidr target
targets = returnCIDR(args.targets)
elif '-' in args.targets:
targets = iprange(args.targets)
else:
try: targets.append(socket.gethostbyname(args.targets)) # get IP from FQDN
except: errormsg("Failed to translate hostname to IP address")
else: parser.print_help(); errormsg("You need to set a hostname")

# Set ports
if args.ports == '-': args.ports = '1-65535'
ranges = (x.split("-") for x in args.ports.split(","))
ports = [i for r in ranges for i in range(int(r[0]), int(r[-1]) + 1)]

# Output command line args to screen
if args.verbose: printmsg("Arguments used:"); print args ;

Expand All @@ -52,6 +26,7 @@ def main():

for target in results:
print "%s TCP:%s UDP:%s" % (target,results[target][0],results[target][1])
return results

def portscan(target,ports,tcp,udp,verbose):
#target=IPaddr,ports=list of ports,tcp=true/false,udp=true/false,verbose=true/false
Expand Down Expand Up @@ -138,4 +113,30 @@ def returnCIDR(c):
return ips

if __name__ == '__main__':
parser = argparse.ArgumentParser(description='nmap.py - Replicates limited nmap functionality in python')
parser.add_argument('-v', '--verbose', action='store_true', help='Enable this for full output')
parser.add_argument('-sS', '--tcpscan', action='store_true', help='Enable this for TCP scans')
parser.add_argument('-sU', '--udpscan', action='store_true', help='Enable this for UDP scans')
parser.add_argument('-p', '--ports', default='1-1024', help='The ports you want to scan (21,22,80,135-139,443,445)')
parser.add_argument('-t', '--targets', help='The target(s) you want to scan (192.168.0.1)')
if len(sys.argv)==1: parser.print_help(); sys.exit(0)
args = parser.parse_args()

# Set target (and convert for FQDN)
targets=[]
if args.targets:
if '/' in args.targets: #found cidr target
targets = returnCIDR(args.targets)
elif '-' in args.targets:
targets = iprange(args.targets)
else:
try: targets.append(socket.gethostbyname(args.targets)) # get IP from FQDN
except: errormsg("Failed to translate hostname to IP address")
else: parser.print_help(); errormsg("You need to set a hostname")

# Set ports
if args.ports == '-': args.ports = '1-65535'
ranges = (x.split("-") for x in args.ports.split(","))
ports = [i for r in ranges for i in range(int(r[0]), int(r[-1]) + 1)]

main()

0 comments on commit 1669a81

Please sign in to comment.