SAP Message Server (MS)

The following subsections show a graphical representation of the main protocol packets and how to generate them.

First we need to perform some setup to import the packet classes:


In [1]:
from pysap.SAPMS import *
from IPython.display import display

SAP Message Server packet


In [2]:
for iflag in ms_iflag_values:
    p = SAPMS(iflag=iflag)
    print("IFlag: {}".format(ms_iflag_values[iflag]))
    display(p.canvas_dump())


IFlag: MS_UNKNOWN
IFlag: MS_SEND_NAME
IFlag: MS_SEND_TYPE
IFlag: MS_LOGIN
IFlag: MS_LOGOUT
IFlag: MS_ADM_OPCODES
IFlag: MS_MOD_MSGTYPES
IFlag: MS_SEND_TYPE_ONCE
IFlag: MS_LOGIN_2
IFlag: MS_MOD_STATE
IFlag: MS_J2EE_LOGIN
IFlag: MS_J2EE_SEND_TO_CLUSTERID
IFlag: MS_J2EE_SEND_BROADCAST
IFlag: MS_SEND_TYPE_ACK
IFlag: MS_J2EE_LOGIN_2
IFlag: MS_SEND_SERVICE
IFlag: MS_J2EE_LOGIN_3
IFlag: MS_J2EE_LOGIN_4

SAP Message Server packet opcodes


In [3]:
for opcode in ms_opcode_values:
    print("Opcode: {}".format(ms_opcode_values[opcode]))
    if opcode in [0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x11, 0x1c, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2f, 0x43, 0x44, 0x45, 0x46, 0x47, 0x4a]:
        p = SAPMS(iflag=1, opcode=opcode)
        display(p.canvas_dump())


Opcode: MS_DP_ADM