示例#1
0
def parse_options():

    description = "This example script gather information provided by a SAP Netweaver Application Server with the " \
                  "Message Server protocol using the Dump command. Execution of the dump commands require accessing " \
                  "the internal Message Server port."

    usage = "%(prog)s [options] -d <remote host>"

    parser = ArgumentParser(usage=usage, description=description, epilog=pysap.epilog)

    target = parser.add_argument_group("Target")
    target.add_argument("-d", "--remote-host", dest="remote_host",
                        help="Remote host")
    target.add_argument("-p", "--remote-port", dest="remote_port", type=int, default=3900,
                        help="Remote port [%(default)d]")
    target.add_argument("--route-string", dest="route_string",
                        help="Route string for connecting through a SAP Router")
    target.add_argument("--domain", dest="domain", default="ABAP",
                        help="Domain to connect to (ABAP, J2EE or JSTARTUP) [%(default)s]")

    misc = parser.add_argument_group("Misc options")
    misc.add_argument("-v", "--verbose", dest="verbose", action="store_true", help="Verbose output")
    misc.add_argument("-c", "--client", dest="client", default="pysap's-dumper",
                      help="Client name [%(default)s]")

    options = parser.parse_args()

    if not (options.remote_host or options.route_string):
        parser.error("Remote host or route string is required")
    if options.domain not in ms_domain_values_inv.keys():
        parser.error("Invalid domain specified")

    return options
示例#2
0
def parse_options():

    description = "This example script gather information provided by a SAP Netweaver Application Server with the " \
                  "Message Server protocol using the Dump command. Execution of the dump commands require accessing " \
                  "the internal Message Server port."

    epilog = "pysap %(version)s - %(url)s - %(repo)s" % {
        "version": pysap.__version__,
        "url": pysap.__url__,
        "repo": pysap.__repo__
    }

    usage = "Usage: %prog [options] -d <remote host>"

    parser = OptionParser(usage=usage, description=description, epilog=epilog)

    target = OptionGroup(parser, "Target")
    target.add_option("-d",
                      "--remote-host",
                      dest="remote_host",
                      help="Remote host")
    target.add_option("-p",
                      "--remote-port",
                      dest="remote_port",
                      type="int",
                      default=3900,
                      help="Remote port [%default]")
    target.add_option("--route-string",
                      dest="route_string",
                      help="Route string for connecting through a SAP Router")
    target.add_option(
        "--domain",
        dest="domain",
        default="ABAP",
        help="Domain to connect to (ABAP, J2EE or JSTARTUP) [%default]")
    parser.add_option_group(target)

    misc = OptionGroup(parser, "Misc options")
    misc.add_option("-c",
                    "--client",
                    dest="client",
                    default="pysap's-dumper",
                    help="Client name [%default]")
    misc.add_option("-v",
                    "--verbose",
                    dest="verbose",
                    action="store_true",
                    default=False,
                    help="Verbose output [%default]")
    parser.add_option_group(misc)

    (options, _) = parser.parse_args()

    if not (options.remote_host or options.route_string):
        parser.error("Remote host or route string is required")
    if options.domain not in ms_domain_values_inv.keys():
        parser.error("Invalid domain specified")

    return options
示例#3
0
def parse_options():

    description = "This example script connects with the Message Server service of a SAP Netweaver Application Server "\
                  "and impersonates an application server registering as a Dialog instance server."

    usage = "%(prog)s [options] -d <remote host> -l <logon address>"

    parser = ArgumentParser(usage=usage,
                            description=description,
                            epilog=pysap.epilog)

    target = parser.add_argument_group("Target")
    target.add_argument("-d",
                        "--remote-host",
                        dest="remote_host",
                        help="Remote host")
    target.add_argument("-p",
                        "--remote-port",
                        dest="remote_port",
                        type=int,
                        default=3900,
                        help="Remote port [%(default)d]")
    target.add_argument("-l",
                        "--logon",
                        dest="logon_address",
                        help="Logon address")
    target.add_argument(
        "--route-string",
        dest="route_string",
        help="Route string for connecting through a SAP Router")
    target.add_argument(
        "--domain",
        dest="domain",
        default="ABAP",
        help="Domain to connect to (ABAP, J2EE or JSTARTUP) [%(default)s]")

    misc = parser.add_argument_group("Misc options")
    misc.add_argument("-v",
                      "--verbose",
                      dest="verbose",
                      action="store_true",
                      help="Verbose output")
    misc.add_argument("-c",
                      "--client",
                      dest="client",
                      default="pysap's-impersonator",
                      help="Client name [%(default)s]")

    options = parser.parse_args()

    if not (options.remote_host or options.route_string):
        parser.error("Remote host or route string is required")
    if not options.logon_address:
        parser.error("Logon address is required")
    if options.domain not in ms_domain_values_inv.keys():
        parser.error("Invalid domain specified")

    return options
示例#4
0
def parse_options():

    description = "This example script connects with the Message Server service of a SAP Netweaver Application Server "\
                  "and monitors the clients to identify new application servers. Similar to SAP's msprot tool."

    epilog = "pysap %(version)s - %(url)s - %(repo)s" % {
        "version": pysap.__version__,
        "url": pysap.__url__,
        "repo": pysap.__repo__
    }

    usage = "Usage: %prog [options] -d <remote host>"

    parser = OptionParser(usage=usage, description=description, epilog=epilog)

    target = OptionGroup(parser, "Target")
    target.add_option("-d",
                      "--remote-host",
                      dest="remote_host",
                      help="Remote host")
    target.add_option("-p",
                      "--remote-port",
                      dest="remote_port",
                      type="int",
                      default=3900,
                      help="Remote port [%default]")
    target.add_option("--route-string",
                      dest="route_string",
                      help="Route string for connecting through a SAP Router")
    target.add_option(
        "--domain",
        dest="domain",
        default="ABAP",
        help="Domain to connect to (ABAP, J2EE or JSTARTUP) [%default]")
    parser.add_option_group(target)

    misc = OptionGroup(parser, "Misc options")
    misc.add_option("-c",
                    "--client",
                    dest="client",
                    default="pysap's-observer",
                    help="Client name [%default]")
    misc.add_option("-v",
                    "--verbose",
                    dest="verbose",
                    action="store_true",
                    default=False,
                    help="Verbose output [%default]")
    parser.add_option_group(misc)

    (options, _) = parser.parse_args()

    if not (options.remote_host or options.route_string):
        parser.error("Remote host or route string is required")
    if options.domain not in ms_domain_values_inv.keys():
        parser.error("Invalid domain specified")

    return options
示例#5
0
def parse_options():

    description = "This example script changes a parameter using Message Server Administration requests. In order to " \
                  "be able to change a parameter the Message Server should be configured in monitoring mode " \
                  "(ms/monitor=1)[1] and the internal port should be reachable. Keep in mind that some of the " \
                  "parameters are not dynamic and can't be changed using this method. If the parameter value is not " \
                  "specified, the script retrieve the current value. " \
                  "[1] https://help.sap.com/saphelp_nw70/helpdata/en/4e/cffdb69d10424e97eb1d993b1e2cfd/content.htm"

    epilog = "pysap %(version)s - %(url)s - %(repo)s" % {"version": pysap.__version__,
                                                         "url": pysap.__url__,
                                                         "repo": pysap.__repo__}

    usage = "Usage: %prog [options] -d <remote host> -n <parameter name> [-l <parameter value>]"

    parser = OptionParser(usage=usage, description=description, epilog=epilog)

    target = OptionGroup(parser, "Target")
    target.add_option("-d", "--remote-host", dest="remote_host",
                      help="Remote host")
    target.add_option("-p", "--remote-port", dest="remote_port", type="int", default=3900,
                      help="Remote port [%default]")
    target.add_option("--route-string", dest="route_string",
                      help="Route string for connecting through a SAP Router")
    target.add_option("--domain", dest="domain", default="ABAP",
                      help="Domain to connect to (ABAP, J2EE or JSTARTUP) [%default]")
    parser.add_option_group(target)

    param = OptionGroup(parser, "Parameter")
    param.add_option("-n", "--parameter-name", dest="param_name",
                     help="Parameter name")
    param.add_option("-l", "--parameter-value", dest="param_value",
                     help="Parameter value")
    parser.add_option_group(param)

    misc = OptionGroup(parser, "Misc options")
    misc.add_option("-c", "--client", dest="client", default="pysap's-paramchanger",
                    help="Client name [%default]")
    misc.add_option("-v", "--verbose", dest="verbose", action="store_true", default=False,
                    help="Verbose output [%default]")
    parser.add_option_group(misc)

    (options, _) = parser.parse_args()

    if not (options.remote_host or options.route_string):
        parser.error("Remote host or route string is required")
    if not options.param_name:
        parser.error("Parameter name is required")
    if options.domain not in ms_domain_values_inv.keys():
        parser.error("Invalid domain specified")

    return options
示例#6
0
def parse_options():

    description = "This example script connects with the Message Server service and listen for messages coming from " \
                  "the server."

    usage = "%(prog)s [options] -d <remote host>"

    parser = ArgumentParser(usage=usage,
                            description=description,
                            epilog=pysap.epilog)

    target = parser.add_argument_group("Target")
    target.add_argument("-d",
                        "--remote-host",
                        dest="remote_host",
                        help="Remote host")
    target.add_argument("-p",
                        "--remote-port",
                        dest="remote_port",
                        type=int,
                        default=3900,
                        help="Remote port [%(default)d]")
    target.add_argument(
        "--route-string",
        dest="route_string",
        help="Route string for connecting through a SAP Router")
    target.add_argument(
        "--domain",
        dest="domain",
        default="ABAP",
        help="Domain to connect to (ABAP, J2EE or JSTARTUP) [%(default)s]")

    misc = parser.add_argument_group("Misc options")
    misc.add_argument("-v",
                      "--verbose",
                      dest="verbose",
                      action="store_true",
                      help="Verbose output")
    misc.add_argument("-c",
                      "--client",
                      dest="client",
                      default="pysap's-listener",
                      help="Client name [%(default)s]")

    options = parser.parse_args()

    if not (options.remote_host or options.route_string):
        parser.error("Remote host or route string is required")
    if options.domain not in ms_domain_values_inv.keys():
        parser.error("Invalid domain specified")

    return options
示例#7
0
def parse_options():

    description = "This script is an example implementation of SAP's Message Server Monitor program (msmon). It " \
                  "allows the monitoring of a Message Server service and allows sending different commands and " \
                  "opcodes. Includes some commands not available on the msmon program. Some commands requires the " \
                  "server running in monitor mode, the most requires access to the Message Server internal port."

    epilog = "pysap %(version)s - %(url)s - %(repo)s" % {"version": pysap.__version__,
                                                         "url": pysap.__url__,
                                                         "repo": pysap.__repo__}

    usage = "Usage: %prog [options] -d <remote host>"

    parser = OptionParser(usage=usage, description=description, epilog=epilog)

    target = OptionGroup(parser, "Target")
    target.add_option("-d", "--remote-host", dest="remote_host",
                      help="Remote host")
    target.add_option("-p", "--remote-port", dest="remote_port", type="int", default=3900,
                      help="Remote port [%default]")
    target.add_option("--route-string", dest="route_string",
                      help="Route string for connecting through a SAP Router")
    target.add_option("--domain", dest="domain", default="ABAP",
                      help="Domain to connect to (ABAP, J2EE or JSTARTUP) [%default]")
    parser.add_option_group(target)

    misc = OptionGroup(parser, "Misc options")
    misc.add_option("-c", "--client", dest="client", default="pysap's-monitor",
                    help="Client name [%default]")
    misc.add_option("-v", "--verbose", dest="verbose", action="store_true", default=False,
                    help="Verbose output [%default]")
    misc.add_option("--log-file", dest="logfile", metavar="FILE",
                    help="Log file")
    misc.add_option("--console-log", dest="consolelog", metavar="FILE",
                    help="Console log file")
    misc.add_option("--script", dest="script", metavar="FILE",
                    help="Script file to run")
    parser.add_option_group(misc)

    (options, _) = parser.parse_args()

    if not (options.remote_host or options.route_string):
        parser.error("Remote host or route string is required")
    if options.domain not in ms_domain_values_inv.keys():
        parser.error("Invalid domain specified")

    return options
示例#8
0
def parse_options():

    description = "This example script connects with the Message Server service and sends a message to another client."

    epilog = "pysap %(version)s - %(url)s - %(repo)s" % {"version": pysap.__version__,
                                                         "url": pysap.__url__,
                                                         "repo": pysap.__repo__}

    usage = "Usage: %prog [options] -d <remote host> -t <target server> -m <message>"

    parser = OptionParser(usage=usage, description=description, epilog=epilog)

    target = OptionGroup(parser, "Target")
    target.add_option("-d", "--remote-host", dest="remote_host",
                      help="Remote host")
    target.add_option("-p", "--remote-port", dest="remote_port", type="int", default=3900,
                      help="Remote port [%default]")
    target.add_option("--route-string", dest="route_string",
                      help="Route string for connecting through a SAP Router")
    target.add_option("--domain", dest="domain", default="ABAP",
                      help="Domain to connect to (ABAP, J2EE or JSTARTUP) [%default]")
    parser.add_option_group(target)

    misc = OptionGroup(parser, "Misc options")
    misc.add_option("-c", "--client", dest="client", default="pysap's-messager",
                    help="Client name [%default]")
    misc.add_option("-m", "--message", dest="message", default="Message",
                    help="Message to send to the target client [%default]")
    misc.add_option("-t", "--target", dest="target", default="pysap's-listener",
                    help="Target client name to send the message [%default]")
    misc.add_option("-v", "--verbose", dest="verbose", action="store_true", default=False,
                    help="Verbose output [%default]")
    parser.add_option_group(misc)

    (options, _) = parser.parse_args()

    if not (options.remote_host or options.route_string):
        parser.error("Remote host or route string is required")
    if not options.message or not options.target:
        parser.error("Target server and message are required !")
    if options.domain not in ms_domain_values_inv.keys():
        parser.error("Invalid domain specified")

    return options
示例#9
0
def parse_options():

    description = "This example script connects with the Message Server service and sends a message to another client."

    epilog = "pysap %(version)s - %(url)s - %(repo)s" % {"version": pysap.__version__,
                                                         "url": pysap.__url__,
                                                         "repo": pysap.__repo__}

    usage = "Usage: %prog [options] -d <remote host> -t <target server> -m <message>"

    parser = OptionParser(usage=usage, description=description, epilog=epilog)

    target = OptionGroup(parser, "Target")
    target.add_option("-d", "--remote-host", dest="remote_host",
                      help="Remote host")
    target.add_option("-p", "--remote-port", dest="remote_port", type="int", default=3900,
                      help="Remote port [%default]")
    target.add_option("--route-string", dest="route_string",
                      help="Route string for connecting through a SAP Router")
    target.add_option("--domain", dest="domain", default="ABAP",
                      help="Domain to connect to (ABAP, J2EE or JSTARTUP) [%default]")
    parser.add_option_group(target)

    misc = OptionGroup(parser, "Misc options")
    misc.add_option("-c", "--client", dest="client", default="pysap's-messager",
                    help="Client name [%default]")
    misc.add_option("-m", "--message", dest="message", default="Message",
                    help="Message to send to the target client [%default]")
    misc.add_option("-t", "--target", dest="target", default="pysap's-listener",
                    help="Target client name to send the message [%default]")
    misc.add_option("-v", "--verbose", dest="verbose", action="store_true", default=False,
                    help="Verbose output [%default]")
    parser.add_option_group(misc)

    (options, _) = parser.parse_args()

    if not (options.remote_host or options.route_string):
        parser.error("Remote host or route string is required")
    if not options.message or not options.target:
        parser.error("Target server and message are required !")
    if options.domain not in ms_domain_values_inv.keys():
        parser.error("Invalid domain specified")

    return options
示例#10
0
def parse_options():

    description = "This example script connects with the Message Server service of a SAP Netweaver Application Server "\
                  "and impersonates an application server registering as a Dialog instance server."

    epilog = "pysap %(version)s - %(url)s - %(repo)s" % {"version": pysap.__version__,
                                                         "url": pysap.__url__,
                                                         "repo": pysap.__repo__}

    usage = "Usage: %prog [options] -d <remote host> -l <logon address>"

    parser = OptionParser(usage=usage, description=description, epilog=epilog)

    target = OptionGroup(parser, "Target")
    target.add_option("-d", "--remote-host", dest="remote_host",
                      help="Remote host")
    target.add_option("-p", "--remote-port", dest="remote_port", type="int", default=3900,
                      help="Remote port [%default]")
    target.add_option("-l", "--logon", dest="logon_address",
                      help="Logon address")
    target.add_option("--route-string", dest="route_string",
                      help="Route string for connecting through a SAP Router")
    target.add_option("--domain", dest="domain", default="ABAP",
                      help="Domain to connect to (ABAP, J2EE or JSTARTUP) [%default]")
    parser.add_option_group(target)

    misc = OptionGroup(parser, "Misc options")
    misc.add_option("-c", "--client", dest="client", default="pysap's-impersonator",
                    help="Client name [%default]")
    misc.add_option("-v", "--verbose", dest="verbose", action="store_true", default=False,
                    help="Verbose output [%default]")
    parser.add_option_group(misc)

    (options, _) = parser.parse_args()

    if not (options.remote_host or options.route_string):
        parser.error("Remote host or route string is required")
    if not options.logon_address:
        parser.error("Logon address is required")
    if options.domain not in ms_domain_values_inv.keys():
        parser.error("Invalid domain specified")

    return options