Exemple #1
0
def create_protos():
    """Create a Protocol instance with some fields."""
    dissector.Protocol.protocols = {}
    conf = Config('tester')
    conf.id = [25,]
    conf.description = 'This is a test'

    rules = [Trailer(conf, {'name': 'missing', 'member': 'missing', 'size': 0}),
             Trailer(conf, {'name': 'simple', 'count': 1, 'size': 4}),
             Trailer(conf, {'name': 'bur', 'count': 3, 'size': 8}),
             Trailer(conf, {'name': 'ber', 'member': 'count'})]

    proto, diss = dissector.Protocol.create_dissector('tester', None, conf)
    diss.add_field(Field('one', 'float', 4, 0, Platform.big))
    diss.add_field(Field('range', 'float', 4, 0, Platform.big))
    diss.children[-1].set_range_validation(0, 10)
    field = Field('array', 'float', 4, 0, Platform.big)
    diss.add_field(ArrayField.create([1, 2, 3], field))
    field = Field('str', 'string', 30, 0, Platform.big)
    diss.add_field(ArrayField.create([2], field))
    diss.add_field(Field('count', 'int32', 4, 0, Platform.big))
    diss.push_modifiers()
    yield proto
    dissector.Protocol.protocols = {}
    del proto, diss
Exemple #2
0
def create_array_field():
    """Create a Protocol instance with some fields."""
    proto, diss = dissector.Protocol.create_dissector('test')
    field = Field('arr', 'float', 4, 0, Platform.big)
    diss.add_field(ArrayField.create([2, 3], field))
    field = Field('str', 'string', 30, 0, Platform.big)
    diss.add_field(ArrayField.create([2], field))
    diss.push_modifiers()
    yield diss.children[0], diss.children[1]
    dissector.Protocol.protocols = {}
    del proto, diss
Exemple #3
0
def create_array_field():
    """Create a Protocol instance with some fields."""
    proto, diss = dissector.Protocol.create_dissector('test')
    field = Field('arr', 'float', 4, 0, Platform.big)
    diss.add_field(ArrayField.create([2, 3], field))
    field = Field('str', 'string', 30, 0, Platform.big)
    diss.add_field(ArrayField.create([2], field))
    diss.push_modifiers()
    yield diss.children[0], diss.children[1]
    dissector.Protocol.protocols = {}
    del proto, diss
Exemple #4
0
 def handle_array(self, proto, depth, field, name=None):
     """Add an ArrayField to the protocol."""
     if name is not None:
         field.name = name
     if depth:
         field = ArrayField.create(depth, field)
     return proto.add_field(field)
Exemple #5
0
 def handle_array(self, proto, depth, field, name=None):
     """Add an ArrayField to the protocol."""
     if name is not None:
         field.name = name
     if depth:
         field = ArrayField.create(depth, field)
     return proto.add_field(field)
Exemple #6
0
def create_protos():
    """Create a Protocol instance with some fields."""
    dissector.Protocol.protocols = {}
    conf = Config('tester')
    conf.id = [
        25,
    ]
    conf.description = 'This is a test'

    rules = [
        Trailer(conf, {
            'name': 'missing',
            'member': 'missing',
            'size': 0
        }),
        Trailer(conf, {
            'name': 'simple',
            'count': 1,
            'size': 4
        }),
        Trailer(conf, {
            'name': 'bur',
            'count': 3,
            'size': 8
        }),
        Trailer(conf, {
            'name': 'ber',
            'member': 'count'
        })
    ]

    proto, diss = dissector.Protocol.create_dissector('tester', None, conf)
    diss.add_field(Field('one', 'float', 4, 0, Platform.big))
    diss.add_field(Field('range', 'float', 4, 0, Platform.big))
    diss.children[-1].set_range_validation(0, 10)
    field = Field('array', 'float', 4, 0, Platform.big)
    diss.add_field(ArrayField.create([1, 2, 3], field))
    field = Field('str', 'string', 30, 0, Platform.big)
    diss.add_field(ArrayField.create([2], field))
    diss.add_field(Field('count', 'int32', 4, 0, Platform.big))
    diss.push_modifiers()
    yield proto
    dissector.Protocol.protocols = {}
    del proto, diss