scapy.layers.ppi

CACE每数据包信息(PPI)标头.

一种将元数据添加到链路层数据包的方法.

例如,可以用捕获位置的GPS坐标标记802.11数据包,并将其包含在PCAP文件中.

新的PPI类型应:

  • 使他们的数据包成为PPI_Element的子类

  • Call bind_layers(PPI_Hdr, ExamplePPI, pfh_type=0xffff)

有关示例,请参见layers/contrib/ppi_cace.py .

class scapy.layers.ppi.PPI(*args, **kargs)

Bases: scapy.packet.Packet

add_payload(payload)
aliastypes
fields_desc
显示类似RFC的架构
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    VERSION    |     FLAGS     |              LEN              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              DLT                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            HEADERS            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                             Fig. PPI                             
PPI字段

version

ByteField

0

flags

ByteField

0

len

FieldLenField

None

dlt

LEIntField

None

headers

PacketListField

[]

guess_payload_class(payload)
class scapy.layers.ppi.PPI_Element(*args, **kargs)

Bases: scapy.packet.Packet

所有PPI类型的超类.

aliastypes
extract_padding(s)
static length_from(pkt)
class scapy.layers.ppi.PPI_Hdr(*args, **kargs)

Bases: scapy.packet.Packet

aliastypes
fields_desc
显示类似RFC的架构
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            PFH TYPE           |           PFH LENGTH          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. PPI_Hdr                           
PPI_Hdr字段

pfh_type

LEShortEnumField

0

pfh_length

LenField

None

mysummary()
payload_guess

可能的子层: PPI_Dot11CommonPPI_Geotag_AntennaPPI_Geotag_GPSPPI_Geotag_SensorPPI_Geotag_VectorBTLE_PPI