packet.internet.ipv4 man page

packet.internet.ipv4 — IPv4 module


Decode IP version 4 layer.


class Flags(baseobj.BaseObj)

Flags object

Methods defined here:

__init__(self, data)
Constructor which takes a single byte as input

class IPv4(baseobj.BaseObj)

IPv4 object

    from packet.internet.ipv4 import IPv4

    x = IPv4(pktt)

Object definition:

    version         = int,
    IHL             = int, # Internet Header Length (in 32bit words)
    header_size     = int, # IHL in actual bytes
    DSCP            = int, # Differentiated Services Code Point
    ECN             = int, # Explicit Congestion Notification
    total_size      = int, # Total length
    id              = int, # Identification
    flags = Flags(         # Flags:
        DF = int,          #   Don't Fragment
        MF = int,          #   More Fragments
    fragment_offset = int, # Fragment offset (in 8-byte blocks)
    TTL             = int, # Time to Live
    protocol        = int, # Protocol of next layer (RFC790)
    checksum        = int, # Header checksum
    src             = "%d.%d.%d.%d", # source IP address
    dst             = "%d.%d.%d.%d", # destination IP address
    options = string, # IP options if available
    data = string,    # Raw data of payload if protocol
                      # is not supported

Methods defined here:

__init__(self, pktt)

Initialize object's private data.

    Packet trace object (packet.pktt.Pktt) so this layer has
    access to the parent layers.

String representation of object

The representation depends on the verbose level set by debug_repr().
If set to 0 the generic object representation is returned.
If set to 1 the representation of the object is condensed:
    ' -> '

If set to 2 the representation of the object also includes the
protocol and length of payload:
    ' ->, protocol: 17(UDP), len: 84'

See Also

baseobj(3), packet.transport.tcp(3), packet.transport.udp(3)


No known bugs.


Jorge Mora (

Referenced By


23 November 2015 NFStest 2.1.1 ipv4 1.0.5