Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 11 additions & 13 deletions sap_ports.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python
#!/usr/bin/env python3
#
# Generate a list of SAP TCP ports
#
Expand All @@ -10,9 +10,7 @@
#
# -- gelim

from pprint import pprint
import argparse
import sys
import re

help_desc='''
Expand Down Expand Up @@ -177,7 +175,7 @@ def expand_ports(port_rule, maxi=100):

if len(port_list) > 1:
temp_list = list()
for i in xrange(0, maxi):
for i in range(0, maxi):
port = ''.join(port_list)
temp_list.append(port.replace('NN', '%.2d' % i))
return temp_list
Expand All @@ -188,12 +186,12 @@ def generate_ports(p, maxi):
merged_list = list()
for e in p:
merged_list += expand_ports(e, maxi)
print ','.join(set(merged_list))
print(','.join(set(merged_list)))

def print_ports(flt=None, ssl=False):
pl = list()
for ass in ports.keys():
for proto in ports[ass].keys():
for ass in list(ports.keys()):
for proto in list(ports[ass].keys()):
if ssl:
if 'ssl' in proto.lower() or 'https' in proto.lower() or 'tls' in proto.lower():
continue
Expand All @@ -203,9 +201,9 @@ def print_ports(flt=None, ssl=False):
else:
k = pl
if flt:
if flt.lower() in proto.lower(): print ("%s" % ass).ljust(20) + (" | %s" % proto).ljust(30) + " | %s" % k
if flt.lower() in proto.lower(): print(("%s" % ass).ljust(20) + (" | %s" % proto).ljust(30) + " | %s" % k)
else:
print ("%s" % ass).ljust(20) + (" | %s" % proto).ljust(30) + " | %s" % k
print(("%s" % ass).ljust(20) + (" | %s" % proto).ljust(30) + " | %s" % k)

def list_add_or_merge(port_list, elem):
if isinstance(elem, list):
Expand All @@ -231,8 +229,8 @@ def get_ports_by_cat(asname, ssl=False):
# rendering
def get_ports_by_svc(svc, ssl=False):
port_list = list()
for ass in ports.keys():
for proto in ports[ass].keys():
for ass in list(ports.keys()):
for proto in list(ports[ass].keys()):
if ssl:
if 'ssl' in proto.lower() or 'https' in proto.lower():
continue
Expand All @@ -256,7 +254,7 @@ def get_ports_by_svc(svc, ssl=False):

ports_active = list()
if args.instance > 100:
print "Instance number can be maximum 100."
print("Instance number can be maximum 100.")
exit(0)

if args.verbose:
Expand All @@ -279,7 +277,7 @@ def get_ports_by_svc(svc, ssl=False):

# select all ports if no filtering options are set
if not args.java and not args.abap and not args.hana and not args.pos and not len(args.arguments):
for k in ports.keys():
for k in list(ports.keys()):
ports_active += get_ports_by_cat(k)
else:
# always add the Admin services if we use the filtering options
Expand Down