conpot.protocols.IEC104 package

Submodules

conpot.protocols.IEC104.DeviceDataController module

class conpot.protocols.IEC104.DeviceDataController.DeviceDataController(template)

Bases: object

check_registers()
get_object_from_reg(obj_addr)
get_registers()
set_object_val(obj_addr, val)
conpot.protocols.IEC104.DeviceDataController.addr_in_hex(address)
conpot.protocols.IEC104.DeviceDataController.hex_in_addr(hex_addr)
conpot.protocols.IEC104.DeviceDataController.inro_response(sorted_reg, asdu_type)

conpot.protocols.IEC104.IEC104 module

class conpot.protocols.IEC104.IEC104.IEC104(device_data_controller, sock, address, session_id)

Bases: object

disconnect()
static get_infoobj_list(frame)
handle_double_command46(container)
handle_i_frame(frame)
handle_inro_command100(container)
handle_s_frame(frame)
handle_setpointfloatpoint_command50(container)
handle_setpointscaled_command49(container)
handle_single_command45(container)
handle_u_frame(frame)
increment_sendseq()
recvseq_increment()
restart_t1()
send_104frame(frame)
send_frame_imm(frame)
show_send_list()
class conpot.protocols.IEC104.IEC104.frame_object_with_timer(frame)

Bases: object

build()
cancel_t1()
getfieldval(fieldval)
restart_t1()

conpot.protocols.IEC104.IEC104_server module

conpot.protocols.IEC104.errors module

exception conpot.protocols.IEC104.errors.FrameError(*args)

Bases: Exception

This error is raised if the IEC104 frame is wrong or ain’t a IEC104 packet at all

exception conpot.protocols.IEC104.errors.InvalidFieldValueException(*args)

Bases: ValueError

This error is raised if a field value is not allowed

exception conpot.protocols.IEC104.errors.Timeout_t1

Bases: BaseException

Base class for exceptions in this module.

exception conpot.protocols.IEC104.errors.Timeout_t1_2nd

Bases: BaseException

Base class for exceptions in this module.

exception conpot.protocols.IEC104.errors.Timeout_t3

Bases: BaseException

Base class for exceptions in this module.

conpot.protocols.IEC104.frames module

class conpot.protocols.IEC104.frames.BCR(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.BCR'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (BCR).Value>, <Field (BCR).IV>, <Field (BCR).CA>, <Field (BCR).CY>, <Field (BCR).SeqNr>]
payload_guess = [({}, <class 'scapy.packet.Padding'>)]
class conpot.protocols.IEC104.frames.BSI(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.BSI'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (BSI,asdu_infobj_7,asdu_infobj_8,asdu_infobj_51,asdu_infobj_64).BSI>]
class conpot.protocols.IEC104.frames.CP16Time(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.CP16Time'>, <class 'scapy.packet.Packet'>]
extract_padding(p)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (CP16Time,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40).Ms>]
class conpot.protocols.IEC104.frames.CP24Time(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.CP24Time'>, <class 'scapy.packet.Packet'>]
extract_padding(p)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (CP24Time).Ms>, <Field (CP24Time).Min>]
class conpot.protocols.IEC104.frames.CP56Time(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.CP56Time'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (CP56Time).Ms>, <Field (CP56Time).Min>, <Field (CP56Time).Hour>, <Field (CP56Time).Day>, <Field (CP56Time).Month>, <Field (CP56Time).Year>]
class conpot.protocols.IEC104.frames.DIQ(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.DIQ'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (DIQ).IV>, <Field (DIQ).NT>, <Field (DIQ).SB>, <Field (DIQ).BL>, <Field (DIQ).Padding>, <Field (DIQ).DPI>]
payload_guess = [({}, <class 'scapy.packet.Padding'>)]
class conpot.protocols.IEC104.frames.FloatField(name, default)

Bases: scapy.fields.Field

class conpot.protocols.IEC104.frames.IOA(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.IOA'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>]
class conpot.protocols.IEC104.frames.LESignedShortField(name, default)

Bases: scapy.fields.Field

class conpot.protocols.IEC104.frames.NVA(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.NVA'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (NVA,asdu_infobj_9,asdu_infobj_10,asdu_infobj_21,asdu_infobj_34,asdu_infobj_48,asdu_infobj_61).NVA>]
class conpot.protocols.IEC104.frames.NormValueField(name, default)

Bases: conpot.protocols.IEC104.frames.LESignedShortField

i2repr(pkt, x)

Convert internal value to a nice representation

class conpot.protocols.IEC104.frames.OCI(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.OCI'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (OCI).Padding>, <Field (OCI).CL3>, <Field (OCI).CL2>, <Field (OCI).CL1>, <Field (OCI).GC>]
class conpot.protocols.IEC104.frames.QDP(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.QDP'>, <class 'scapy.packet.Packet'>]
extract_padding(p)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (QDP).IV>, <Field (QDP).NT>, <Field (QDP).SB>, <Field (QDP).BL>, <Field (QDP).EI>, <Field (QDP).Padding>]
payload_guess = [({}, <class 'scapy.packet.Padding'>)]
class conpot.protocols.IEC104.frames.QDS(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.QDS'>, <class 'scapy.packet.Packet'>]
extract_padding(p)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (QDS).IV>, <Field (QDS).NT>, <Field (QDS).SB>, <Field (QDS).BL>, <Field (QDS).Padding>, <Field (QDS).OV>]
payload_guess = [({}, <class 'scapy.packet.Padding'>)]
class conpot.protocols.IEC104.frames.QOS(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.QOS'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (QOS).S/E>, <Field (QOS).QL>]
payload_guess = [({}, <class 'scapy.packet.Padding'>)]
class conpot.protocols.IEC104.frames.SCD(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.SCD'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (SCD).Status>, <Field (SCD).StatChaDet>]
class conpot.protocols.IEC104.frames.SEP(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.SEP'>, <class 'scapy.packet.Packet'>]
extract_padding(p)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (SEP).IV>, <Field (SEP).NT>, <Field (SEP).SB>, <Field (SEP).BL>, <Field (SEP).EI>, <Field (SEP).Padding>, <Field (SEP).ES>]
payload_guess = [({}, <class 'scapy.packet.Padding'>)]
class conpot.protocols.IEC104.frames.SIQ(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.SIQ'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (SIQ).IV>, <Field (SIQ).NT>, <Field (SIQ).SB>, <Field (SIQ).BL>, <Field (SIQ).Padding>, <Field (SIQ).SPI>]
payload_guess = [({}, <class 'scapy.packet.Padding'>)]
class conpot.protocols.IEC104.frames.SPE(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.SPE'>, <class 'scapy.packet.Packet'>]
extract_padding(p)

DEV: to be overloaded to extract current layer’s padding.

Parameters:s (str) – the current layer
Returns:a couple of strings (actual layer, padding)
fields_desc = [<Field (SPE).Padding>, <Field (SPE).SRD>, <Field (SPE).SIE>, <Field (SPE).SL3>, <Field (SPE).SL2>, <Field (SPE).SL2>, <Field (SPE).GS>]
payload_guess = [({}, <class 'scapy.packet.Padding'>)]
class conpot.protocols.IEC104.frames.SVA(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.SVA'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (SVA,asdu_infobj_11,asdu_infobj_12,asdu_infobj_35,asdu_infobj_49,asdu_infobj_62).SVA>]
class conpot.protocols.IEC104.frames.VTI(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.VTI'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (VTI).T>, <Field (VTI).Value>]
payload_guess = [({}, <class 'scapy.packet.Padding'>)]
class conpot.protocols.IEC104.frames.asdu_head(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_head'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (asdu_head).TypeID>, <Field (asdu_head).SQ>, <Field (asdu_head).NoO>, <Field (asdu_head).T>, <Field (asdu_head).PN>, <Field (asdu_head).COT>, <Field (asdu_head).OrigAddr>, <Field (asdu_head).Addr>]
guess_payload_class(payload)

DEV: Guesses the next payload class from layer bonds. Can be overloaded to use a different mechanism.

Parameters:payload (str) – the layer’s payload
Returns:the payload class
payload_guess = [({'TypeID': 1}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_1'>), ({'TypeID': 2}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_2'>), ({'TypeID': 3}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_3'>), ({'TypeID': 4}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_4'>), ({'TypeID': 5}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_5'>), ({'TypeID': 6}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_6'>), ({'TypeID': 7}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_7'>), ({'TypeID': 8}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_8'>), ({'TypeID': 9}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_9'>), ({'TypeID': 10}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_10'>), ({'TypeID': 11}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_11'>), ({'TypeID': 12}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_12'>), ({'TypeID': 13}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_13'>), ({'TypeID': 14}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_14'>), ({'TypeID': 15}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_15'>), ({'TypeID': 16}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_16'>), ({'TypeID': 17}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_17'>), ({'TypeID': 18}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_18'>), ({'TypeID': 19}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_19'>), ({'TypeID': 20}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_20'>), ({'TypeID': 21}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_21'>), ({'TypeID': 30}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_30'>), ({'TypeID': 31}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_31'>), ({'TypeID': 32}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_32'>), ({'TypeID': 33}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_33'>), ({'TypeID': 34}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_34'>), ({'TypeID': 35}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_35'>), ({'TypeID': 36}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_36'>), ({'TypeID': 37}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_37'>), ({'TypeID': 38}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_38'>), ({'TypeID': 39}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_39'>), ({'TypeID': 40}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_40'>), ({'TypeID': 45}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_45'>), ({'TypeID': 46}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_46'>), ({'TypeID': 47}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_47'>), ({'TypeID': 48}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_48'>), ({'TypeID': 49}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_49'>), ({'TypeID': 50}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_50'>), ({'TypeID': 51}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_51'>), ({'TypeID': 58}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_58'>), ({'TypeID': 59}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_59'>), ({'TypeID': 60}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_60'>), ({'TypeID': 61}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_61'>), ({'TypeID': 62}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_62'>), ({'TypeID': 63}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_63'>), ({'TypeID': 64}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_64'>), ({'TypeID': 100}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_100'>), ({'TypeID': 101}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_101'>), ({'TypeID': 102}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_102'>), ({'TypeID': 103}, <class 'conpot.protocols.IEC104.frames.asdu_infobj_103'>)]
class conpot.protocols.IEC104.frames.asdu_infobj_1(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_1'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_1).SIQ>]
class conpot.protocols.IEC104.frames.asdu_infobj_10(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_10'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (NVA,asdu_infobj_9,asdu_infobj_10,asdu_infobj_21,asdu_infobj_34,asdu_infobj_48,asdu_infobj_61).NVA>, <Field (asdu_infobj_10).QDS>, <Field (asdu_infobj_10).CP24Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_100(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_100'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (asdu_infobj_100).IOA>, <Field (asdu_infobj_100).QOI>]
class conpot.protocols.IEC104.frames.asdu_infobj_101(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_101'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (asdu_infobj_101).IOA>, <Field (asdu_infobj_101).QCC>]
class conpot.protocols.IEC104.frames.asdu_infobj_102(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_102'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (asdu_infobj_102).IOA>]
class conpot.protocols.IEC104.frames.asdu_infobj_103(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_103'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (asdu_infobj_103).IOA>, <Field (asdu_infobj_103).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_11(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_11'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (SVA,asdu_infobj_11,asdu_infobj_12,asdu_infobj_35,asdu_infobj_49,asdu_infobj_62).SVA>, <Field (asdu_infobj_11).QDS>]
class conpot.protocols.IEC104.frames.asdu_infobj_12(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_12'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (SVA,asdu_infobj_11,asdu_infobj_12,asdu_infobj_35,asdu_infobj_49,asdu_infobj_62).SVA>, <Field (asdu_infobj_12).QDS>, <Field (asdu_infobj_12).CP24Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_13(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_13'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_13).FPNumber>, <Field (asdu_infobj_13).QDS>]
class conpot.protocols.IEC104.frames.asdu_infobj_14(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_14'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_14).FPNumber>, <Field (asdu_infobj_14).QDS>, <Field (asdu_infobj_14).CP24Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_15(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_15'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_15).BCR>]
class conpot.protocols.IEC104.frames.asdu_infobj_16(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_16'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_16).BCR>, <Field (asdu_infobj_16).CP24Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_17(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_17'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_17).SEP>, <Field (CP16Time,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40).Ms>, <Field (asdu_infobj_17).CP24Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_18(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_18'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_18).SPE>, <Field (asdu_infobj_18).QDP>, <Field (CP16Time,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40).Ms>, <Field (asdu_infobj_18).CP24Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_19(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_19'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_19).OCI>, <Field (asdu_infobj_19).QDP>, <Field (CP16Time,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40).Ms>, <Field (asdu_infobj_19).CP24Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_2(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_2'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_2).SIQ>, <Field (asdu_infobj_2).CP24Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_20(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_20'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_20).SCD>, <Field (asdu_infobj_20).QDS>]
class conpot.protocols.IEC104.frames.asdu_infobj_21(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_21'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (NVA,asdu_infobj_9,asdu_infobj_10,asdu_infobj_21,asdu_infobj_34,asdu_infobj_48,asdu_infobj_61).NVA>]
class conpot.protocols.IEC104.frames.asdu_infobj_3(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_3'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_3).DIQ>]
class conpot.protocols.IEC104.frames.asdu_infobj_30(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_30'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_30).SIQ>, <Field (asdu_infobj_30).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_31(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_31'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_31).DIQ>, <Field (asdu_infobj_31).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_32(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_32'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_32).VTI>, <Field (asdu_infobj_32).QDS>, <Field (asdu_infobj_32).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_33(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_33'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_33).BSI>, <Field (asdu_infobj_33).QDS>, <Field (asdu_infobj_33).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_34(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_34'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (NVA,asdu_infobj_9,asdu_infobj_10,asdu_infobj_21,asdu_infobj_34,asdu_infobj_48,asdu_infobj_61).NVA>, <Field (asdu_infobj_34).QDS>, <Field (asdu_infobj_34).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_35(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_35'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (SVA,asdu_infobj_11,asdu_infobj_12,asdu_infobj_35,asdu_infobj_49,asdu_infobj_62).SVA>, <Field (asdu_infobj_35).QDS>, <Field (asdu_infobj_35).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_36(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_36'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_36).FPNumber>, <Field (asdu_infobj_36).QDS>, <Field (asdu_infobj_36).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_37(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_37'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_37).BCR>, <Field (asdu_infobj_37).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_38(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_38'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_38).SEP>, <Field (CP16Time,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40).Ms>, <Field (asdu_infobj_38).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_39(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_39'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_39).SPE>, <Field (asdu_infobj_39).QDP>, <Field (CP16Time,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40).Ms>, <Field (asdu_infobj_39).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_4(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_4'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_4).DIQ>, <Field (asdu_infobj_4).CP24Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_40(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_40'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_40).OCI>, <Field (asdu_infobj_40).QDP>, <Field (CP16Time,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40).Ms>, <Field (asdu_infobj_40).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_45(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_45'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_45).QOC>, <Field (asdu_infobj_45).Padding>, <Field (asdu_infobj_45).SCS>]
class conpot.protocols.IEC104.frames.asdu_infobj_46(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_46'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_46).QOC>, <Field (asdu_infobj_46).DCS>]
class conpot.protocols.IEC104.frames.asdu_infobj_47(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_47'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_47).QOC>, <Field (asdu_infobj_47).RCS>]
class conpot.protocols.IEC104.frames.asdu_infobj_48(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_48'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (NVA,asdu_infobj_9,asdu_infobj_10,asdu_infobj_21,asdu_infobj_34,asdu_infobj_48,asdu_infobj_61).NVA>, <Field (asdu_infobj_48).QOS>]
class conpot.protocols.IEC104.frames.asdu_infobj_49(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_49'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (SVA,asdu_infobj_11,asdu_infobj_12,asdu_infobj_35,asdu_infobj_49,asdu_infobj_62).SVA>, <Field (asdu_infobj_49).QOS>]
class conpot.protocols.IEC104.frames.asdu_infobj_5(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_5'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_5).VTI>, <Field (asdu_infobj_5).QDS>]
class conpot.protocols.IEC104.frames.asdu_infobj_50(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_50'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_50).FPNumber>, <Field (asdu_infobj_50).QOS>]
class conpot.protocols.IEC104.frames.asdu_infobj_51(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_51'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (BSI,asdu_infobj_7,asdu_infobj_8,asdu_infobj_51,asdu_infobj_64).BSI>]
class conpot.protocols.IEC104.frames.asdu_infobj_58(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_58'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_58).QOC>, <Field (asdu_infobj_58).Padding>, <Field (asdu_infobj_58).SCS>, <Field (asdu_infobj_58).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_59(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_59'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_59).QOC>, <Field (asdu_infobj_59).DCS>, <Field (asdu_infobj_59).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_6(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_6'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_6).VTI>, <Field (asdu_infobj_6).QDS>, <Field (asdu_infobj_6).CP24Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_60(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_60'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_60).QOC>, <Field (asdu_infobj_60).RCS>, <Field (asdu_infobj_60).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_61(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_61'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (NVA,asdu_infobj_9,asdu_infobj_10,asdu_infobj_21,asdu_infobj_34,asdu_infobj_48,asdu_infobj_61).NVA>, <Field (asdu_infobj_61).QOS>, <Field (asdu_infobj_61).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_62(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_62'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (SVA,asdu_infobj_11,asdu_infobj_12,asdu_infobj_35,asdu_infobj_49,asdu_infobj_62).SVA>, <Field (asdu_infobj_62).QOS>, <Field (asdu_infobj_62).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_63(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_63'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (asdu_infobj_63).FPNumber>, <Field (asdu_infobj_63).QOS>, <Field (asdu_infobj_63).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_64(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_64'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (BSI,asdu_infobj_7,asdu_infobj_8,asdu_infobj_51,asdu_infobj_64).BSI>, <Field (asdu_infobj_64).QOS>, <Field (asdu_infobj_64).CP56Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_7(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_7'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (BSI,asdu_infobj_7,asdu_infobj_8,asdu_infobj_51,asdu_infobj_64).BSI>, <Field (asdu_infobj_7).QDS>]
class conpot.protocols.IEC104.frames.asdu_infobj_8(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_8'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (BSI,asdu_infobj_7,asdu_infobj_8,asdu_infobj_51,asdu_infobj_64).BSI>, <Field (asdu_infobj_8).QDS>, <Field (asdu_infobj_8).CP24Time>]
class conpot.protocols.IEC104.frames.asdu_infobj_9(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.asdu_infobj_9'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (IOA,asdu_infobj_1,asdu_infobj_2,asdu_infobj_3,asdu_infobj_4,asdu_infobj_5,asdu_infobj_6,asdu_infobj_7,asdu_infobj_8,asdu_infobj_9,asdu_infobj_10,asdu_infobj_11,asdu_infobj_12,asdu_infobj_13,asdu_infobj_14,asdu_infobj_15,asdu_infobj_16,asdu_infobj_17,asdu_infobj_18,asdu_infobj_19,asdu_infobj_20,asdu_infobj_21,asdu_infobj_30,asdu_infobj_31,asdu_infobj_32,asdu_infobj_33,asdu_infobj_34,asdu_infobj_35,asdu_infobj_36,asdu_infobj_37,asdu_infobj_38,asdu_infobj_39,asdu_infobj_40,asdu_infobj_45,asdu_infobj_46,asdu_infobj_47,asdu_infobj_48,asdu_infobj_49,asdu_infobj_50,asdu_infobj_51,asdu_infobj_58,asdu_infobj_59,asdu_infobj_60,asdu_infobj_61,asdu_infobj_62,asdu_infobj_63,asdu_infobj_64).IOA>, <Field (NVA,asdu_infobj_9,asdu_infobj_10,asdu_infobj_21,asdu_infobj_34,asdu_infobj_48,asdu_infobj_61).NVA>, <Field (asdu_infobj_9).QDS>]
conpot.protocols.IEC104.frames.calctime()
class conpot.protocols.IEC104.frames.i_frame(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.i_frame'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (i_frame).Start>, <Field (i_frame).LenAPDU>, <Field (i_frame).SendSeq>, <Field (i_frame).RecvSeq>]
payload_guess = [({}, <class 'conpot.protocols.IEC104.frames.asdu_head'>)]
post_build(p, pay)

DEV: called right after the current layer is build.

Parameters:
  • pkt (str) – the current packet (build by self_buil function)
  • pay (str) – the packet payload (build by do_build_payload function)
Returns:

a string of the packet with the payload

class conpot.protocols.IEC104.frames.s_frame(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.s_frame'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (s_frame).Start>, <Field (s_frame).LenAPDU>, <Field (s_frame).Type>, <Field (s_frame).Default>, <Field (s_frame).RecvSeq>]
class conpot.protocols.IEC104.frames.u_frame(_pkt=b'', post_transform=None, _internal=0, _underlayer=None, **fields)

Bases: scapy.packet.Packet

aliastypes = [<class 'conpot.protocols.IEC104.frames.u_frame'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (u_frame).Start>, <Field (u_frame).LenAPDU>, <Field (u_frame).Type>, <Field (u_frame).Default>]

conpot.protocols.IEC104.i_frames_check module

conpot.protocols.IEC104.i_frames_check.check_asdu_1(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_100(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_11(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_12(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_13(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_14(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_2(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_3(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_30(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_31(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_35(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_36(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_4(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_45(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_46(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_47(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_48(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_49(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_50(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_asdu_51(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_command(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_information_with_time(frame, direction)
conpot.protocols.IEC104.i_frames_check.check_information_without_time(frame, direction)

conpot.protocols.IEC104.register module

class conpot.protocols.IEC104.register.IEC104Register(category_id, addr, val, relation)

Bases: object

set_val(val)

Module contents