8

I want to craft packets using scapy. When looking through the IP() class members I came across the following code idiom:

'fieldtype': { 'frag': <Field (IP,IPerror).frag>, 'src': <Field (IP,IPerror).src>, 'proto': <Field (IP,IPerror).proto>, 'tos': <Field (IP,IPerror).tos>, 'dst': <Field (IP,IPerror).dst>, 'chksum': <Field (IP,IPerror).chksum>, 'len': <Field (IP,IPerror).len>, 'options': <Field (IP,IPerror).options>, 'version': <Field (IP,IPerror).version>, 'flags': <Field (IP,IPerror).flags>, 'ihl': <Field (IP,IPerror).ihl>, 'ttl': <Field (IP,IPerror).ttl>, 'id': <Field (IP,IPerror).id>}, 'time': 1465637588.477862, 'initialized': 1, 'overloaded_fields': {}, 

I am relatively new to Python. Can someone explain to me what purpose the angle brackets serve in each field type definition?

I have been trying to figure out this myself using the following documentation but got completely stuck.

Scapy 2.3.1

Thanks

1
  • 2
    It's just string representation of object, not actual Python syntax. Commented Jun 11, 2016 at 10:29

1 Answer 1

2

repr when applied to a Field instance uses the following definition for __repr__ which is the source of the not Python syntax.

def __repr__(self): return "<Field (%s).%s>" % (",".join(x.__name__ for x in self.owners),self.name) 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.