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.

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

__str__(self) 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), packet.utils(3)


No known bugs.


Jorge Mora (

Referenced By


14 February 2017 NFStest 2.1.5 ipv4 1.1