scapy.layers.isakmp

ISAKMP (Internet Security Association and Key Management Protocol).

class scapy.layers.isakmp.ISAKMP(_pkt, /, *, init_cookie=b'', resp_cookie=b'', next_payload=0, version=16, exch_type=0, flags=<Flag 0 ()>, id=0, length=None)[source]

Bases: ISAKMP_class

aliastypes
answers(other)[source]
fields_desc
Display RFC-like schema
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          INIT COOKIE                          |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          RESP COOKIE                          |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NEXT PAYLOAD |    VERSION    |   EXCH TYPE   |     FLAGS     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               ID                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                           Fig. ISAKMP                            
ISAKMP fields

init_cookie

StrFixedLenField

b''

resp_cookie

StrFixedLenField

b''

next_payload

ByteEnumField

0

version

XByteField

16

exch_type

ByteEnumField

0

flags

FlagsField

<Flag 0 ()>

id

IntField

0

length

IntField

None

guess_payload_class(payload)[source]
post_build(p, pay)[source]
class scapy.layers.isakmp.ISAKMPTransformSetField(name: str, default: bytes, length_from: Optional[Callable[[Packet], int]] = None, max_length: Optional[Any] = None)[source]

Bases: StrLenField

i2m(pkt, i)[source]
islist = 1
m2i(pkt, m)[source]
static num2type(typ, enc)[source]
static type2num(type_val_tuple)[source]
class scapy.layers.isakmp.ISAKMP_class(_pkt, /)[source]

Bases: Packet

aliastypes
guess_payload_class(payload)[source]
class scapy.layers.isakmp.ISAKMP_payload(_pkt, /, *, next_payload=None, res=0, length=None, load=b'')[source]

Bases: ISAKMP_class

aliastypes
fields_desc
Display RFC-like schema
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NEXT PAYLOAD |      RES      |             LENGTH            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              LOAD             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. ISAKMP_payload                        
ISAKMP_payload fields

next_payload

ByteEnumField

None

res

ByteField

0

length

FieldLenField

None

load

StrLenField

b''

class scapy.layers.isakmp.ISAKMP_payload_Hash(_pkt, /, *, next_payload=None, res=0, length=None, load=b'')[source]

Bases: ISAKMP_payload

aliastypes
fields_desc
Display RFC-like schema
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NEXT PAYLOAD |      RES      |             LENGTH            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              LOAD             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. ISAKMP_payload_Hash                     
ISAKMP_payload_Hash fields

next_payload

ByteEnumField

None

res

ByteField

0

length

FieldLenField

None

load

StrLenField

b''

class scapy.layers.isakmp.ISAKMP_payload_ID(_pkt, /, *, next_payload=None, res=0, length=None, IDtype=1, ProtoID=0, Port=0, load=b'')[source]

Bases: ISAKMP_class

aliastypes
fields_desc
Display RFC-like schema
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NEXT PAYLOAD |      RES      |             LENGTH            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     IDTYPE    |    PROTOID    |              PORT             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              LOAD             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. ISAKMP_payload_ID                      
ISAKMP_payload_ID fields

next_payload

ByteEnumField

None

res

ByteField

0

length

FieldLenField

None

IDtype

ByteEnumField

1

ProtoID

ByteEnumField

0

Port

ShortEnumField

0

load

StrLenField

b''

class scapy.layers.isakmp.ISAKMP_payload_KE(_pkt, /, *, next_payload=None, res=0, length=None, load=b'')[source]

Bases: ISAKMP_payload

aliastypes
fields_desc
Display RFC-like schema
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NEXT PAYLOAD |      RES      |             LENGTH            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              LOAD             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. ISAKMP_payload_KE                      
ISAKMP_payload_KE fields

next_payload

ByteEnumField

None

res

ByteField

0

length

FieldLenField

None

load

StrLenField

b''

class scapy.layers.isakmp.ISAKMP_payload_Nonce(_pkt, /, *, next_payload=None, res=0, length=None, load=b'')[source]

Bases: ISAKMP_payload

aliastypes
fields_desc
Display RFC-like schema
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NEXT PAYLOAD |      RES      |             LENGTH            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              LOAD             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Fig. ISAKMP_payload_Nonce                     
ISAKMP_payload_Nonce fields

next_payload

ByteEnumField

None

res

ByteField

0

length

FieldLenField

None

load

StrLenField

b''

class scapy.layers.isakmp.ISAKMP_payload_Proposal(_pkt, /, *, next_payload=None, res=0, length=None, proposal=1, proto=1, SPIsize=None, trans_nb=None, SPI=b'', trans=<Raw  |>)[source]

Bases: ISAKMP_class

aliastypes
fields_desc
Display RFC-like schema
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NEXT PAYLOAD |      RES      |             LENGTH            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    PROPOSAL   |     PROTO     |    SPISIZE    |    TRANS NB   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              SPI              |             TRANS             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Fig. ISAKMP_payload_Proposal                   
ISAKMP_payload_Proposal fields

next_payload

ByteEnumField

None

res

ByteField

0

length

FieldLenField

None

proposal

ByteField

1

proto

ByteEnumField

1

SPIsize

FieldLenField

None

trans_nb

ByteField

None

SPI

StrLenField

b''

trans

PacketLenField

<Raw  |>

class scapy.layers.isakmp.ISAKMP_payload_SA(_pkt, /, *, next_payload=None, res=0, length=None, DOI=1, situation=1, prop=<Raw  |>)[source]

Bases: ISAKMP_class

aliastypes
fields_desc
Display RFC-like schema
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NEXT PAYLOAD |      RES      |             LENGTH            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              DOI                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           SITUATION                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              PROP             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. ISAKMP_payload_SA                      
ISAKMP_payload_SA fields

next_payload

ByteEnumField

None

res

ByteField

0

length

FieldLenField

None

DOI

IntEnumField

1

situation

IntEnumField

1

prop

PacketLenField

<Raw  |>

class scapy.layers.isakmp.ISAKMP_payload_Transform(_pkt, /, *, next_payload=None, res=0, length=None, num=None, id=1, res2=0, transforms=None)[source]

Bases: ISAKMP_class

aliastypes
fields_desc
Display RFC-like schema
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NEXT PAYLOAD |      RES      |             LENGTH            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      NUM      |       ID      |              RES2             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           TRANSFORMS          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. ISAKMP_payload_Transform                   
ISAKMP_payload_Transform fields

next_payload

ByteEnumField

None

res

ByteField

0

length

ShortField

None

num

ByteField

None

id

ByteEnumField

1

res2

ShortField

0

transforms

ISAKMPTransformSetField

None

post_build(p, pay)[source]
class scapy.layers.isakmp.ISAKMP_payload_VendorID(_pkt, /, *, next_payload=None, res=0, length=None, load=b'')[source]

Bases: ISAKMP_payload

aliastypes
fields_desc
Display RFC-like schema
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  NEXT PAYLOAD |      RES      |             LENGTH            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              LOAD             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Fig. ISAKMP_payload_VendorID                   
ISAKMP_payload_VendorID fields

next_payload

ByteEnumField

None

res

ByteField

0

length

FieldLenField

None

load

StrLenField

b''

scapy.layers.isakmp.ikescan(ip)[source]

Sends/receives a ISAMPK payload SA with payload proposal