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
In [2]:
for iflag in ms_iflag_values:
p = SAPMS(iflag=iflag)
print("IFlag: {}".format(ms_iflag_values[iflag]))
display(p.canvas_dump())
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())
In [4]:
for client_cls in [SAPMSClient1, SAPMSClient2, SAPMSClient3, SAPMSClient4]:
p = client_cls()
display(p.canvas_dump())
In [5]:
for stats_cls in [SAPMSStat3]:
p = stats_cls()
display(p.canvas_dump())
In [6]:
p = SAPMSLogon()
p.canvas_dump()
Out[6]:
In [7]:
p = SAPMSCounter()
p.canvas_dump()
Out[7]:
In [8]:
for adm_opcode in [0x01, 0x15, 0x2e]:
p = SAPMSAdmRecord(opcode=adm_opcode)
print("Adm opcode: {}".format(ms_adm_opcode_values[adm_opcode]))
display(p.canvas_dump())
In [9]:
for dp_info_cls in [SAPDPInfo1, SAPDPInfo2, SAPDPInfo3]:
p = dp_info_cls()
display(p.canvas_dump())