pypacker.layer3 package

Submodules

pypacker.layer3.esp module

Encapsulated Security Protocol.

class pypacker.layer3.esp.ESP(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('spi', 'I', 0), ('seq', 'I', 0))
seq

Unpack field ondemand

spi

Unpack field ondemand

pypacker.layer3.icmp module

Internet Control Message Protocol for IPv4.

class pypacker.layer3.icmp.ICMP(*args, **kwargs)

Bases: pypacker.pypacker.Packet

class Echo(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('id', 'H', 0), ('seq', 'H', 1), ('ts', 'd', 0))
id

Unpack field ondemand

seq

Unpack field ondemand

ts

Unpack field ondemand

class ICMP.Redirect(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('gw', 'I', 0), ('seq', 'H', 0))
gw

Unpack field ondemand

seq

Unpack field ondemand

class ICMP.Unreach(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('pad', 'H', 0), ('mtu', 'H', 0))
mtu

Unpack field ondemand

pad

Unpack field ondemand

ICMP.__hdr__ = (('type', 'B', 8), ('code', 'B', 0), ('sum', 'H', 0, True))
ICMP.bin(update_auto_fields=True)
ICMP.code

Unpack field ondemand

ICMP.sum

Unpack field ondemand

ICMP.sum_au_active = True
ICMP.type

Unpack field ondemand

pypacker.layer3.icmp6 module

Internet Control Message Protocol for IPv6.

class pypacker.layer3.icmp6.ICMP6(*args, **kwargs)

Bases: pypacker.pypacker.Packet

class Echo(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('id', 'H', 0), ('seq', 'H', 0))
id

Unpack field ondemand

seq

Unpack field ondemand

class ICMP6.Error(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('pad', 'I', 0),)
pad

Unpack field ondemand

class ICMP6.ParamProb(*args, **kwargs)

Bases: pypacker.layer3.icmp6.Error

__hdr__ = (('ptr', 'I', 0),)
ptr

Unpack field ondemand

class ICMP6.TimeExceed(*args, **kwargs)

Bases: pypacker.layer3.icmp6.Error

pad

Unpack field ondemand

class ICMP6.TooBig(*args, **kwargs)

Bases: pypacker.layer3.icmp6.Error

__hdr__ = (('mtu', 'I', 1232),)
mtu

Unpack field ondemand

class ICMP6.Unreach(*args, **kwargs)

Bases: pypacker.layer3.icmp6.Error

pad

Unpack field ondemand

ICMP6.__hdr__ = (('type', 'B', 0), ('code', 'B', 0), ('sum', 'H', 0))
ICMP6.code

Unpack field ondemand

ICMP6.sum

Unpack field ondemand

ICMP6.type

Unpack field ondemand

pypacker.layer3.igmp module

Internet Group Management Protocol.

class pypacker.layer3.igmp.IGMP(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('type', 'B', 0), ('maxresp', 'B', 0), ('sum', 'H', 0, True), ('group', 'I', 0))
bin(update_auto_fields=True)
group

Unpack field ondemand

maxresp

Unpack field ondemand

sum

Unpack field ondemand

sum_au_active = True
type

Unpack field ondemand

pypacker.layer3.ip module

Internet Protocol version 4.

RFC 791

class pypacker.layer3.ip.IP(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('v_hl', 'B', 69, True), ('tos', 'B', 0), ('len', 'H', 20, True), ('id', 'H', 0), ('off', 'H', 0), ('ttl', 'B', 64), ('p', 'B', 6), ('sum', 'H', 0, True), ('src', '4s', b'\x00\x00\x00\x00'), ('dst', '4s', b'\x00\x00\x00\x00'), ('opts', None, <class 'pypacker.triggerlist.TriggerList'>))
bin(update_auto_fields=True)
create_fragments(fragment_len=1480)

Create fragment packets from this IP packet with max fragment_len bytes each. This will set the flags and offset values accordingly (see header field off).

fragment_len – max length of a fragment (IP header + payload) return – fragment IP packets created from this packet

direction(other)
dst

Unpack field ondemand

dst_s
flags
hl
id

Unpack field ondemand

len

Unpack field ondemand

len_au_active = True
off

Unpack field ondemand

offset
opts
p

Unpack field ondemand

reverse_address()
src

Unpack field ondemand

src_s
sum

Unpack field ondemand

sum_au_active = True
tos

Unpack field ondemand

ttl

Unpack field ondemand

v
v_hl

Unpack field ondemand

v_hl_au_active = True
class pypacker.layer3.ip.IPOptMulti(*args, **kwargs)

Bases: pypacker.pypacker.Packet

len = total length (header + data)

__hdr__ = (('type', 'B', 0), ('len', 'B', 2))
bin(update_auto_fields=True)
len

Unpack field ondemand

type

Unpack field ondemand

class pypacker.layer3.ip.IPOptSingle(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('type', 'B', 0),)
type

Unpack field ondemand

pypacker.layer3.ip6 module

Internet Protocol version 6..for whoever needs it (:

RFC 2460

class pypacker.layer3.ip6.IP6(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('v_fc_flow', 'I', 1610612736), ('dlen', 'H', 0), ('nxt', 'B', 0), ('hlim', 'B', 0), ('src', '16s', b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'), ('dst', '16s', b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'), ('opts', None, <class 'pypacker.triggerlist.TriggerList'>))
direction(other)
dlen

Unpack field ondemand

dst

Unpack field ondemand

fc
flow
hlim

Unpack field ondemand

nxt

Unpack field ondemand

opts
reverse_address()
src

Unpack field ondemand

v
v_fc_flow

Unpack field ondemand

class pypacker.layer3.ip6.IP6AHHeader(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('nxt', 'B', 0), ('len', 'B', 0), ('resv', 'H', 0), ('spi', 'I', 0), ('seq', 'I', 0))
len

Unpack field ondemand

nxt

Unpack field ondemand

resv

Unpack field ondemand

seq

Unpack field ondemand

spi

Unpack field ondemand

class pypacker.layer3.ip6.IP6DstOptsHeader(*args, **kwargs)

Bases: pypacker.layer3.ip6.IP6OptsHeader

len

Unpack field ondemand

nxt

Unpack field ondemand

opts
class pypacker.layer3.ip6.IP6ESPHeader(*args, **kwargs)

Bases: pypacker.pypacker.Packet

class pypacker.layer3.ip6.IP6FragmentHeader(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('nxt', 'B', 0), ('resv', 'B', 0), ('frag_off_resv_m', 'H', 0), ('id', 'I', 0))
frag_off
frag_off_resv_m

Unpack field ondemand

id

Unpack field ondemand

m_flag
nxt

Unpack field ondemand

resv

Unpack field ondemand

class pypacker.layer3.ip6.IP6HopOptsHeader(*args, **kwargs)

Bases: pypacker.layer3.ip6.IP6OptsHeader

len

Unpack field ondemand

nxt

Unpack field ondemand

opts
class pypacker.layer3.ip6.IP6Option(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('type', 'B', 0), ('len', 'B', 0))
len

Unpack field ondemand

type

Unpack field ondemand

class pypacker.layer3.ip6.IP6OptionPad(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('type', 'B', 0),)
type

Unpack field ondemand

class pypacker.layer3.ip6.IP6OptsHeader(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('nxt', 'B', 0), ('len', 'B', 0), ('opts', None, <class 'pypacker.triggerlist.TriggerList'>))
len

Unpack field ondemand

nxt

Unpack field ondemand

opts
class pypacker.layer3.ip6.IP6RoutingHeader(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('nxt', 'B', 0), ('len', 'B', 0), ('type', 'B', 0), ('segs_left', 'B', 0), ('rsvd_sl_bits', 'I', 0), ('addresses', None, <class 'pypacker.triggerlist.TriggerList'>))
addresses
len

Unpack field ondemand

nxt

Unpack field ondemand

rsvd_sl_bits

Unpack field ondemand

segs_left

Unpack field ondemand

sl_bits
type

Unpack field ondemand

pypacker.layer3.ip_shared module

Shared constants for IPv4 and IPv6.

pypacker.layer3.ipx module

Internetwork Packet Exchange.

class pypacker.layer3.ipx.IPX(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('sum', 'H', 65535), ('len', 'H', 30), ('tc', 'B', 0), ('pt', 'B', 0), ('dst', '12s', b''), ('src', '12s', b''))
dst

Unpack field ondemand

len

Unpack field ondemand

pt

Unpack field ondemand

src

Unpack field ondemand

sum

Unpack field ondemand

tc

Unpack field ondemand

pypacker.layer3.ospf module

Open Shortest Path First.

class pypacker.layer3.ospf.OSPF(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('v', 'B', 0), ('type', 'B', 0), ('len', 'H', 0), ('router', 'I', 0), ('area', 'I', 0), ('sum', 'H', 0, True), ('atype', 'H', 0), ('auth', '8s', b''))
area

Unpack field ondemand

atype

Unpack field ondemand

auth

Unpack field ondemand

bin(update_auto_fields=True)
len

Unpack field ondemand

router

Unpack field ondemand

sum

Unpack field ondemand

sum_au_active = True
type

Unpack field ondemand

v

Unpack field ondemand

pypacker.layer3.pim module

Protocol Independent Multicast.

class pypacker.layer3.pim.PIM(*args, **kwargs)

Bases: pypacker.pypacker.Packet

__hdr__ = (('v_type', 'B', 32), ('rsvd', 'B', 0), ('sum', 'H', 0, True))
bin(update_auto_fields=True)
rsvd

Unpack field ondemand

sum

Unpack field ondemand

sum_au_active = True
type
v
v_type

Unpack field ondemand

Module contents