get packet size in scapy / python

packet, python, scapy, size

Solution

>>> len(IP(dst="www.google.com"))
20

There are 20 bytes in a minimal IP header.

>>> len(IP(dst="www.google.com")/TCP(dport=80))
40

There are another 20 bytes in a minimal TCP header (20+20==40).

So it seems that `len` is returning the packet length.

Problem

In Scapy (or even just Python, for that sake), how do I get the size in bytes of a given packet? I'm tempted to use the function `len` but I'm not sure what exactly it returns in the case of packets. ``` >>> len(IP(dst="www.google.com")) 20 >>> len(IP(dst="www.google.com")/TCP(dport=80)) 40 ```

Original source