protocols

package
v0.0.0-...-4a0d167 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TLSAlertWarning      TLSAlertLevel = 1
	TLSAlertFatal        TLSAlertLevel = 2
	TLSAlertUnknownLevel TLSAlertLevel = 255

	TLSAlertCloseNotify               TLSAlertDescr = 0
	TLSAlertUnexpectedMessage         TLSAlertDescr = 10
	TLSAlertBadRecordMac              TLSAlertDescr = 20
	TLSAlertDecryptionFailedRESERVED  TLSAlertDescr = 21
	TLSAlertRecordOverflow            TLSAlertDescr = 22
	TLSAlertDecompressionFailure      TLSAlertDescr = 30
	TLSAlertHandshakeFailure          TLSAlertDescr = 40
	TLSAlertNoCertificateRESERVED     TLSAlertDescr = 41
	TLSAlertBadCertificate            TLSAlertDescr = 42
	TLSAlertUnsupportedCertificate    TLSAlertDescr = 43
	TLSAlertCertificateRevoked        TLSAlertDescr = 44
	TLSAlertCertificateExpired        TLSAlertDescr = 45
	TLSAlertCertificateUnknown        TLSAlertDescr = 46
	TLSAlertIllegalParameter          TLSAlertDescr = 47
	TLSAlertUnknownCa                 TLSAlertDescr = 48
	TLSAlertAccessDenied              TLSAlertDescr = 49
	TLSAlertDecodeError               TLSAlertDescr = 50
	TLSAlertDecryptError              TLSAlertDescr = 51
	TLSAlertExportRestrictionRESERVED TLSAlertDescr = 60
	TLSAlertProtocolVersion           TLSAlertDescr = 70
	TLSAlertInsufficientSecurity      TLSAlertDescr = 71
	TLSAlertInternalError             TLSAlertDescr = 80
	TLSAlertUserCanceled              TLSAlertDescr = 90
	TLSAlertNoRenegotiation           TLSAlertDescr = 100
	TLSAlertUnsupportedExtension      TLSAlertDescr = 110
	TLSAlertUnknownDescription        TLSAlertDescr = 255
)

Variables

View Source
var IKEDOITypesMap = map[byte]IKEDOITypes{
	0: DOI_ISAKMP,
	1: DOI_IPSEC,
	2: DOI_GDOI,
}
View Source
var IKEProtocolTypesMap = map[byte]IKEProtocolTypes{
	1:  ISAKMP,
	2:  IPSEC_AH,
	3:  IPSEC_ESP,
	17: UDP,
}
View Source
var IKESituationTypesMap = map[byte]IKESituationTypes{
	1: SIT_IDENTITY_ONLY,
	2: SIT_SECRECY,
	4: SIT_INTEGRITY,
}
View Source
var IKETransformIDMap = map[byte]IKETransformID{
	0: RESERVED,
	1: KEY_IKE,
}
View Source
var IKETransformType11Map = map[uint16]IKETransformType11{
	1: SEC,
	2: KB,
}
View Source
var IKETransformType1Map = map[uint16]IKETransformType1{
	1: DES_CBC,
	2: IDEA_CBC,
	3: BLOWFISH_CBC,
	4: RC5_R16_B64_CBC,
	5: DES3_CBC,
	6: CAST_CBC,
	7: AES_CBC,
	8: CAMELIA_CBC,
}
View Source
var IKETransformType2Map = map[uint16]IKETransformType2{
	1: MD5,
	2: SHA,
	3: TIGER,
	4: SHA2_256,
	5: SHA2_384,
	6: SHA2_512,
}
View Source
var IKETransformType5Map = map[uint16]IKETransformType5{
	1: MODP,
	2: ECP,
	3: EC2N,
}
View Source
var IKETransformTypesMap = map[byte]IKETransformTypes{
	1:  ENCRY,
	2:  HASH,
	3:  AUTH,
	4:  GD,
	5:  GT,
	6:  GP,
	7:  GGO,
	8:  GGT,
	9:  GCA,
	10: GCB,
	11: LT,
	12: LD,
	13: PRFT,
	14: KL,
	15: FS,
	16: GO,
}
View Source
var IKEv2ProtocolTypesMap = map[byte]IKEv2ProtocolTypes{
	1: IKE,
	2: AH,
	3: ESP,
}
View Source
var IKEv2TransformType5Map = map[uint16]IKEv2TransformType5{
	0: NO_ESN,
	1: YES_ESN,
}
View Source
var IKEv2TransformTypesMap = map[byte]IKEv2TransformTypes{
	1: ENCR,
	2: PRF,
	3: INTEG,
	4: DH,
	5: ESN,
}
View Source
var LayerTypeDot3 = gopacket.RegisterLayerType(2001, gopacket.LayerTypeMetadata{Name: "Ethernet8023", Decoder: gopacket.DecodeFunc(decodeDot3)})
View Source
var LayerTypeIKEv1 = gopacket.RegisterLayerType(8001, gopacket.LayerTypeMetadata{Name: "IKE", Decoder: gopacket.DecodeFunc(decodeIKEPacket)})
View Source
var LayerTypeIKEv2 = gopacket.RegisterLayerType(8000, gopacket.LayerTypeMetadata{Name: "IKEv2", Decoder: gopacket.DecodeFunc(decodeIKEv2Packet)})
View Source
var LayerTypeRip = gopacket.RegisterLayerType(7777, gopacket.LayerTypeMetadata{Name: "RIPPacket", Decoder: gopacket.DecodeFunc(decodeRIPPacket)})
View Source
var LayerTypeTLS = gopacket.RegisterLayerType(8002, gopacket.LayerTypeMetadata{Name: "TLS", Decoder: gopacket.DecodeFunc(decodeTLS)})
View Source
var TLSCipherSuiteMap = map[uint16]TLSCipherSuite{
	0x0000: TLS_NULL_WITH_NULL_NULL,
	0x0001: TLS_RSA_WITH_NULL_MD5,
	0x0002: TLS_RSA_WITH_NULL_SHA,
	0x003B: TLS_RSA_WITH_NULL_SHA256,
	0x0004: TLS_RSA_WITH_RC4_128_MD5,
	0x0005: TLS_RSA_WITH_RC4_128_SHA,
	0x000A: TLS_RSA_WITH_3DES_EDE_CBC_SHA,
	0x002F: TLS_RSA_WITH_AES_128_CBC_SHA,
	0x0035: TLS_RSA_WITH_AES_256_CBC_SHA,
	0x003C: TLS_RSA_WITH_AES_128_CBC_SHA256,
	0x003D: TLS_RSA_WITH_AES_256_CBC_SHA256,
	0x000D: TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA,
	0x0010: TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA,
	0x0013: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,
	0x0016: TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
	0x0030: TLS_DH_DSS_WITH_AES_128_CBC_SHA,
	0x0031: TLS_DH_RSA_WITH_AES_128_CBC_SHA,
	0x0032: TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
	0x0033: TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
	0x0036: TLS_DH_DSS_WITH_AES_256_CBC_SHA,
	0x0037: TLS_DH_RSA_WITH_AES_256_CBC_SHA,
	0x0038: TLS_DHE_DSS_WITH_AES_256_CBC_SHA,
	0x0039: TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
	0x003E: TLS_DH_DSS_WITH_AES_128_CBC_SHA256,
	0x003F: TLS_DH_RSA_WITH_AES_128_CBC_SHA256,
	0x0040: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,
	0x0067: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
	0x0068: TLS_DH_DSS_WITH_AES_256_CBC_SHA256,
	0x0069: TLS_DH_RSA_WITH_AES_256_CBC_SHA256,
	0x006A: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,
	0x006B: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
	0x0018: TLS_DH_ANON_WITH_RC4_128_MD5,
	0x001B: TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA,
	0x0034: TLS_DH_ANON_WITH_AES_128_CBC_SHA,
	0x006C: TLS_DH_ANON_WITH_AES_128_CBC_SHA256,
	0x006D: TLS_DH_ANON_WITH_AES_256_CBC_SHA256,
}

Functions

This section is empty.

Types

type ClientHello

type ClientHello struct {
	Header
	Gmt_Unix_Time              uint32
	Random                     []byte
	SessionIDLength            byte
	SessionID                  []byte
	CipherSuiteLength          uint16
	CipherSuite                []TLSCipherSuite
	CompressionAlgorithmLength uint8
	CompressionAlgorithm       byte
}

type ClientKeyExchange

type ClientKeyExchange struct {
	Header
}

type Dot3

type Dot3 struct {
	layers.BaseLayer
	DstMAC, SrcMAC net.HardwareAddr
	Length         uint16
}

func (*Dot3) CanDecode

func (d *Dot3) CanDecode() gopacket.LayerClass

func (*Dot3) DecodeFromBytes

func (d *Dot3) DecodeFromBytes(data []byte, df gopacket.DecodeFeedback) error

func (*Dot3) LayerType

func (d *Dot3) LayerType() gopacket.LayerType

func (*Dot3) NextLayerType

func (d *Dot3) NextLayerType() gopacket.LayerType

func (*Dot3) SerializeTo

func (d *Dot3) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error

type Finished

type Finished struct {
}
type Header struct {
	ContentType TLSType
	Version     TLSVersion
	Length      uint32
}

type IKEDOITypes

type IKEDOITypes uint32
const (
	DOI_ISAKMP IKEDOITypes = 0
	DOI_IPSEC  IKEDOITypes = 1
	DOI_GDOI   IKEDOITypes = 2
)

func (IKEDOITypes) String

func (id IKEDOITypes) String() string

type IKEExchangeTypes

type IKEExchangeTypes byte
const (
	IKENONE               IKEExchangeTypes = 0
	IKEBASE               IKEExchangeTypes = 1
	IKEIdentityProtection IKEExchangeTypes = 2
	IKEAuthOnly           IKEExchangeTypes = 3
	IKEAggressive         IKEExchangeTypes = 4
	IKEINFORMATIONAL      IKEExchangeTypes = 5
	QUICK_MODE            IKEExchangeTypes = 32
	NEW_GROUP_MODE        IKEExchangeTypes = 33
)

func (IKEExchangeTypes) String

func (ie IKEExchangeTypes) String() string

type IKEIDPayload

type IKEIDPayload struct {
	Header     IKEPayloadHeader
	IDType     IKEIDType
	ProtocolID IKEProtocolTypes
	Port       uint16
	Data       []byte
	Payload    interface{}
}

func DecodeIKEIDPayload

func DecodeIKEIDPayload(data []byte, offset int) (IKEIDPayload, error)

func (*IKEIDPayload) SerializeIDPayload

func (i *IKEIDPayload) SerializeIDPayload(data []byte, offset int) error

type IKEIDType

type IKEIDType byte
const (
	ID_IPV4_ADDR        IKEIDType = 1
	ID_FQDN             IKEIDType = 2
	ID_USER_FQDN        IKEIDType = 3
	ID_IPV4_ADDR_SUBNET IKEIDType = 4
	ID_IPV6_ADDR        IKEIDType = 5
	ID_IPV6_ADDR_SUBNET IKEIDType = 6
	ID_IPV4_ADDR_RANGE  IKEIDType = 7
	ID_IPV6_ADDR_RANGE  IKEIDType = 8
	ID_DER_ASN1_DN      IKEIDType = 9
	ID_DER_ASN1_GN      IKEIDType = 10
	ID_KEY_ID           IKEIDType = 11
)

func (IKEIDType) String

func (id IKEIDType) String() string

type IKEKEPayload

type IKEKEPayload struct {
	Header  IKEPayloadHeader
	KE      []byte
	Payload interface{}
}

func DecodeIKEKEPayload

func DecodeIKEKEPayload(data []byte, offset int) (IKEKEPayload, error)

func (*IKEKEPayload) SerializeKEPayload

func (i *IKEKEPayload) SerializeKEPayload(data []byte, offset int) error

type IKENoncePayload

type IKENoncePayload struct {
	Header  IKEPayloadHeader
	Nonce   []byte
	Payload interface{}
}

func DecodeIKENoncePayload

func DecodeIKENoncePayload(data []byte, offset int) (IKENoncePayload, error)

func (*IKENoncePayload) SerializeNoncePayload

func (i *IKENoncePayload) SerializeNoncePayload(data []byte, offset int) error

type IKENotifyMessagesType

type IKENotifyMessagesType uint16
const (
	INVALID_PAYLOAD_TYPE      IKENotifyMessagesType = 1
	DOI_NOT_SUPPORTED         IKENotifyMessagesType = 2
	SITUATION_NOT_SUPPORTED   IKENotifyMessagesType = 3
	INVALID_COOKIE            IKENotifyMessagesType = 4
	INVALID_MAJOR_V           IKENotifyMessagesType = 5
	INVALID_MINOR_VERSION     IKENotifyMessagesType = 6
	INVALID_EXCHANGE_TYPE     IKENotifyMessagesType = 7
	INVALID_FLAGS             IKENotifyMessagesType = 8
	INV_MESSAGE_ID            IKENotifyMessagesType = 9
	INVALID_PROTOCOL_ID       IKENotifyMessagesType = 10
	INV_SPI                   IKENotifyMessagesType = 11
	INVALID_TRANSFORM_ID      IKENotifyMessagesType = 12
	ATTRIBUTES_NOT_SUPPORTED  IKENotifyMessagesType = 13
	NO_PROPOSAL_CHOSE         IKENotifyMessagesType = 14
	BAD_PROPOSAL_SYNTAX       IKENotifyMessagesType = 15
	PAYLOAD_MALFORMED         IKENotifyMessagesType = 16
	INVALID_KEY_INFORMATION   IKENotifyMessagesType = 17
	INVALID_ID_INFORMATION    IKENotifyMessagesType = 18
	INVALID_CERT_ENCODING     IKENotifyMessagesType = 19
	INVALID_CERTIFICATE       IKENotifyMessagesType = 20
	CERT_TYPE_UNSUPPORTED     IKENotifyMessagesType = 21
	INVALID_CERT_AUTHORITY    IKENotifyMessagesType = 22
	INVALID_HASH_INFORMATION  IKENotifyMessagesType = 23
	AUTH_FAILED               IKENotifyMessagesType = 24
	INVALID_SIGNATURE         IKENotifyMessagesType = 25
	ADDRESS_NOTIFICATION      IKENotifyMessagesType = 26
	NOTIFY_SA_LIFETIME        IKENotifyMessagesType = 27
	CERTIFICATE_UNAVAILABLE   IKENotifyMessagesType = 28
	UNSUPPORTED_EXCHANGE_TYPE IKENotifyMessagesType = 29
	UNEQUAL_PAYLOAD_LENGTHS   IKENotifyMessagesType = 30
)

func (IKENotifyMessagesType) String

func (in IKENotifyMessagesType) String() string

type IKENotifyPayload

type IKENotifyPayload struct {
	Header       IKEPayloadHeader
	DOI          uint32
	ProtocolID   IKEProtocolTypes
	SPISize      byte
	NotifyType   IKENotifyMessagesType
	SPI          []byte
	Notification []byte
	Payload      interface{}
}

func DecodeIKENotifyPayload

func DecodeIKENotifyPayload(data []byte, offset int) (IKENotifyPayload, error)

type IKEPayloadHeader

type IKEPayloadHeader struct {
	NextPayload IKEPayloadTypes
	Flags       byte
	Length      uint16
}

func DecodeIKEHeader

func DecodeIKEHeader(data []byte, offset int) (IKEPayloadHeader, int)

func (*IKEPayloadHeader) SerializeHeader

func (i *IKEPayloadHeader) SerializeHeader(data []byte, offset int) int

type IKEPayloadTypes

type IKEPayloadTypes byte
const (
	IKEPayloadNone      IKEPayloadTypes = 0
	IKEPayloadSA        IKEPayloadTypes = 1  // used only inside the SA payload
	IKEPayloadProposal  IKEPayloadTypes = 2  // used only inside the SA payload
	IKEPayloadTransform IKEPayloadTypes = 3  // Security Association
	IKEPayloadKE        IKEPayloadTypes = 4  // Key Exchange
	IKEPayloadID        IKEPayloadTypes = 5  // ID Initiator
	IKEPayloadCERT      IKEPayloadTypes = 6  // ID Responder
	IKEPayloadCERTREQ   IKEPayloadTypes = 7  // Certificate
	IKEPayloadHASH      IKEPayloadTypes = 8  // Certificate Request
	IKEPayloadSIG       IKEPayloadTypes = 9  // Authentication
	IKEPayloadNonce     IKEPayloadTypes = 10 // Nonce
	IKEPayloadNotify    IKEPayloadTypes = 11 // Notify
	IKEPayloadDelete    IKEPayloadTypes = 12 // Delete
	IKEPayloadVendorID  IKEPayloadTypes = 13 // Vendor ID
	IKEPayloadReserved  IKEPayloadTypes = 14 // Traffic Selector - Initiator
	IKEPayloadSAKEK     IKEPayloadTypes = 15 // Traffic Selector - Responder
	IKEPayloadSATEK     IKEPayloadTypes = 16 // Encrypted Payload
	IKEPayloadKD        IKEPayloadTypes = 17 // Configuration Payload
	IKEPayloadSEQ       IKEPayloadTypes = 18 // Extensible Authentication Protocol
	IKEPayloadPOP       IKEPayloadTypes = 19 // Generic Secure Password Method
	IKEPayloadNATD      IKEPayloadTypes = 20 // Group ID
	IKEPayloadNATOA     IKEPayloadTypes = 21 // Group Security Association
	IKEPayloadGAP       IKEPayloadTypes = 22 // Key Download
)

see https://www.iana.org/assignments/ipsec-registry/ipsec-registry.xhtml#ipsec-registry-18 for details

func (IKEPayloadTypes) String

func (ip IKEPayloadTypes) String() string

type IKEProposal

type IKEProposal struct {
	Header     IKEPayloadHeader
	ProposalNb byte
	ProtocolID IKEProtocolTypes
	SPISize    byte
	TransNb    byte
	Transforms []IKETransform
}

func DecodeIKEProposal

func DecodeIKEProposal(data []byte, offset int) (IKEProposal, int, error)

func (*IKEProposal) SerializeProposal

func (i *IKEProposal) SerializeProposal(data []byte, offset int) int

type IKEProtocolTypes

type IKEProtocolTypes byte
const (
	ISAKMP    IKEProtocolTypes = 1
	IPSEC_AH  IKEProtocolTypes = 2
	IPSEC_ESP IKEProtocolTypes = 3
	UDP       IKEProtocolTypes = 17
)

func (IKEProtocolTypes) String

func (ip IKEProtocolTypes) String() string

type IKESAPayload

type IKESAPayload struct {
	Header    IKEPayloadHeader
	DOI       IKEDOITypes
	Situation IKESituationTypes
	Proposals []IKEProposal
	Payload   interface{}
}

func DecodeIKESAPayload

func DecodeIKESAPayload(data []byte, offset int) (IKESAPayload, error)

func (*IKESAPayload) SerializeSAPayload

func (i *IKESAPayload) SerializeSAPayload(data []byte, offset int) error

type IKESituationTypes

type IKESituationTypes uint32
const (
	SIT_IDENTITY_ONLY IKESituationTypes = 1
	SIT_SECRECY       IKESituationTypes = 2
	SIT_INTEGRITY     IKESituationTypes = 4
)

func (IKESituationTypes) String

func (is IKESituationTypes) String() string

type IKETransform

type IKETransform struct {
	Header      IKEPayloadHeader
	TransNb     byte
	TransformId IKETransformID
	Flag        [2]byte
	Attributes  []IKETransformAttr
}

func DecodeIKETransform

func DecodeIKETransform(data []byte, offset int) (IKETransform, int, error)

func (*IKETransform) SerializeTransform

func (i *IKETransform) SerializeTransform(data []byte, offset int) int

type IKETransformAttr

type IKETransformAttr struct {
	Type   [2]byte
	Length uint16
	Value  []byte
}

func DecodeIKEAttributes

func DecodeIKEAttributes(data []byte, offset int) (IKETransformAttr, int, error)

func (*IKETransformAttr) SerializeAttributes

func (i *IKETransformAttr) SerializeAttributes(data []byte, offset int) int

type IKETransformID

type IKETransformID byte
const (
	RESERVED IKETransformID = 0
	KEY_IKE  IKETransformID = 1
)

func (IKETransformID) String

func (it IKETransformID) String() string

type IKETransformType1

type IKETransformType1 byte
const (
	DES_CBC         IKETransformType1 = 1
	IDEA_CBC        IKETransformType1 = 2
	BLOWFISH_CBC    IKETransformType1 = 3
	RC5_R16_B64_CBC IKETransformType1 = 4
	DES3_CBC        IKETransformType1 = 5
	CAST_CBC        IKETransformType1 = 6
	AES_CBC         IKETransformType1 = 7
	CAMELIA_CBC     IKETransformType1 = 8
)

func (IKETransformType1) String

func (it1 IKETransformType1) String() string

type IKETransformType11

type IKETransformType11 byte
const (
	SEC IKETransformType11 = 1
	KB  IKETransformType11 = 2
)

func (IKETransformType11) String

func (it11 IKETransformType11) String() string

type IKETransformType2

type IKETransformType2 byte
const (
	MD5      IKETransformType2 = 1
	SHA      IKETransformType2 = 2
	TIGER    IKETransformType2 = 3
	SHA2_256 IKETransformType2 = 4
	SHA2_384 IKETransformType2 = 5
	SHA2_512 IKETransformType2 = 6
)

func (IKETransformType2) String

func (it2 IKETransformType2) String() string

type IKETransformType3

type IKETransformType3 byte
const (
	PRE_SHARED        IKETransformType3 = 1
	DSS_SIG           IKETransformType3 = 2
	RSA_SIG           IKETransformType3 = 3
	ENCR_RSA          IKETransformType3 = 4
	REV_ENCR_RSA      IKETransformType3 = 5
	ECDSA_SHA256_P256 IKETransformType3 = 9
	ECDSA_SHA384_P384 IKETransformType3 = 10
	ECDSA_SHA512_P521 IKETransformType3 = 11
)

func (IKETransformType3) String

func (it3 IKETransformType3) String() string

type IKETransformType4

type IKETransformType4 byte
const (
	MODP_768       IKETransformType4 = 1
	MODP_1024      IKETransformType4 = 2
	EC2N_GP155     IKETransformType4 = 3
	EC2N_GP185     IKETransformType4 = 4
	MODP_1536      IKETransformType4 = 5
	MODP_2048      IKETransformType4 = 14
	MODP_3072      IKETransformType4 = 15
	MODP_4096      IKETransformType4 = 16
	MODP_6144      IKETransformType4 = 17
	MODP_8192      IKETransformType4 = 18
	ECP_RAND_256   IKETransformType4 = 19
	ECP_RAND_384   IKETransformType4 = 20
	ECP_RAND_512   IKETransformType4 = 21
	MODP_1024_160P IKETransformType4 = 22
	MODP_2048_224P IKETransformType4 = 23
	MODP_2048_256P IKETransformType4 = 24
	ECP_RAND_192   IKETransformType4 = 25
	ECP_RAND_224   IKETransformType4 = 26
	ECP_BRAIN_224  IKETransformType4 = 27
	ECP_BRAIN_256  IKETransformType4 = 28
	ECP_BRAIN_384  IKETransformType4 = 29
	ECP_BRAIN_512  IKETransformType4 = 30
)

func (IKETransformType4) String

func (it4 IKETransformType4) String() string

type IKETransformType5

type IKETransformType5 byte
const (
	MODP IKETransformType5 = 1
	ECP  IKETransformType5 = 2
	EC2N IKETransformType5 = 3
)

func (IKETransformType5) String

func (it5 IKETransformType5) String() string

type IKETransformTypes

type IKETransformTypes byte

func (IKETransformTypes) String

func (it IKETransformTypes) String() string

type IKEv1

type IKEv1 struct {
	layers.BaseLayer
	InitSPI     [8]byte          // XStrFixedLenField
	RespSPI     [8]byte          // XStrFixedLenField
	NextPayload IKEPayloadTypes  // ByteEnumField
	Version     byte             // XByteField
	ExchType    IKEExchangeTypes // ByteEnumField
	Flags       byte             // FlagsField
	ID          uint32           // IntField
	Length      uint32           // IntField
	Payload     interface{}
}

func (*IKEv1) DecodeFromBytes

func (i *IKEv1) DecodeFromBytes(data []byte, df gopacket.DecodeFeedback) error

func (*IKEv1) LayerType

func (i *IKEv1) LayerType() gopacket.LayerType

func (*IKEv1) SerializeTo

func (i *IKEv1) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error

Serialize Functions

type IKEv2

type IKEv2 struct {
	layers.BaseLayer
	InitSPI     [8]byte            // XStrFixedLenField
	RespSPI     [8]byte            // XStrFixedLenField
	NextPayload IKEv2PayloadTypes  // ByteEnumField
	Version     byte               // XByteField
	ExchType    IKEv2ExchangeTypes // ByteEnumField
	Flags       byte               // FlagsField
	ID          uint32             // IntField
	Length      uint32             // IntField
	Payload     interface{}
}

func (*IKEv2) DecodeFromBytes

func (i *IKEv2) DecodeFromBytes(data []byte, df gopacket.DecodeFeedback) error

func (*IKEv2) LayerType

func (i *IKEv2) LayerType() gopacket.LayerType

func (*IKEv2) SerializeTo

func (i *IKEv2) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error

Serialize Functions

type IKEv2ExchangeTypes

type IKEv2ExchangeTypes byte
const (
	IKEv2SAInit        IKEv2ExchangeTypes = 34 // Identity Protection (Main Mode)
	IKEv2Auth          IKEv2ExchangeTypes = 35 // Authentication Only
	IKEv2CreateChild   IKEv2ExchangeTypes = 36 // Aggressive Mode
	IKEv2Informational IKEv2ExchangeTypes = 37 // Informational
	IKEv2SessionResume IKEv2ExchangeTypes = 38 // Transaction (Config Mode)
	IKEv2Intermediate  IKEv2ExchangeTypes = 43 // Quick Mode
	IKEv2FollowUpKE    IKEv2ExchangeTypes = 44 // Multiple Key Exchanges
)

func (IKEv2ExchangeTypes) String

func (ie IKEv2ExchangeTypes) String() string

type IKEv2KEPayload

type IKEv2KEPayload struct {
	Header  IKEv2PayloadHeader
	DHGroup uint16
	Flag    uint16
	KE      []byte
	Payload interface{}
}

func DecodeKEPayload

func DecodeKEPayload(data []byte, offset int) (IKEv2KEPayload, error)

func (*IKEv2KEPayload) SerializeKEPayload

func (i *IKEv2KEPayload) SerializeKEPayload(data []byte, offset int) error

type IKEv2NoncePayload

type IKEv2NoncePayload struct {
	Header  IKEv2PayloadHeader
	Nonce   []byte
	Payload interface{}
}

func DecodeNoncePayload

func DecodeNoncePayload(data []byte, offset int) (IKEv2NoncePayload, error)

func (*IKEv2NoncePayload) SerializeNoncePayload

func (i *IKEv2NoncePayload) SerializeNoncePayload(data []byte, offset int) error

type IKEv2NotifyMessagesType

type IKEv2NotifyMessagesType uint16
const (
	UNSUPPORTED_CRITICAL_PAYLOAD  IKEv2NotifyMessagesType = 1
	INVALID_IKE_SPI               IKEv2NotifyMessagesType = 4
	INVALID_MAJOR_VERSION         IKEv2NotifyMessagesType = 5
	INVALID_SYNTAX                IKEv2NotifyMessagesType = 7
	INVALID_MESSAGE_ID            IKEv2NotifyMessagesType = 9
	INVALID_SPI                   IKEv2NotifyMessagesType = 11
	NO_PROPOSAL_CHOSEN            IKEv2NotifyMessagesType = 14
	INVALID_KE_PAYLOAD            IKEv2NotifyMessagesType = 17
	AUTHENTICATION_FAILED         IKEv2NotifyMessagesType = 24
	SINGLE_PAIR_REQUIRED          IKEv2NotifyMessagesType = 34
	NO_ADDITIONAL_SAS             IKEv2NotifyMessagesType = 35
	INTERNAL_ADDRESS_FAILURE      IKEv2NotifyMessagesType = 36
	FAILED_CP_REQUIRED            IKEv2NotifyMessagesType = 37
	TS_UNACCEPTABLE               IKEv2NotifyMessagesType = 38
	INVALID_SELECTORS             IKEv2NotifyMessagesType = 39
	TEMPORARY_FAILURE             IKEv2NotifyMessagesType = 43
	CHILD_SA_NOT_FOUND            IKEv2NotifyMessagesType = 44
	INITIAL_CONTACT               IKEv2NotifyMessagesType = 16384
	SET_WINDOW_SIZE               IKEv2NotifyMessagesType = 16385
	ADDITIONAL_TS_POSSIBLE        IKEv2NotifyMessagesType = 16386
	IPCOMP_SUPPORTED              IKEv2NotifyMessagesType = 16387
	NAT_DETECTION_SOURCE_IP       IKEv2NotifyMessagesType = 16388
	NAT_DETECTION_DESTINATION_IP  IKEv2NotifyMessagesType = 16389
	COOKIE                        IKEv2NotifyMessagesType = 16390
	USE_TRANSPORT_MODE            IKEv2NotifyMessagesType = 16391
	HTTP_CERT_LOOKUP_SUPPORTED    IKEv2NotifyMessagesType = 16392
	REKEY_SA                      IKEv2NotifyMessagesType = 16393
	ESP_TFC_PADDING_NOT_SUPPORTED IKEv2NotifyMessagesType = 16394
	NON_FIRST_FRAGMENTS_ALSO      IKEv2NotifyMessagesType = 16395
)

func (IKEv2NotifyMessagesType) String

func (in IKEv2NotifyMessagesType) String() string

type IKEv2NotifyPayload

type IKEv2NotifyPayload struct {
	Header       IKEv2PayloadHeader
	ProtocolID   IKEv2ProtocolTypes
	SPISize      byte
	NotifyType   IKEv2NotifyMessagesType
	Notification []byte
	Payload      interface{}
}

func DecodeNotifyPayload

func DecodeNotifyPayload(data []byte, offset int) (IKEv2NotifyPayload, error)

type IKEv2PayloadHeader

type IKEv2PayloadHeader struct {
	NextPayload IKEv2PayloadTypes
	Flags       byte
	Length      uint16
}

func DecodeHeader

func DecodeHeader(data []byte, offset int) (IKEv2PayloadHeader, int)

func (*IKEv2PayloadHeader) SerializeHeader

func (i *IKEv2PayloadHeader) SerializeHeader(data []byte, offset int) int

type IKEv2PayloadTypes

type IKEv2PayloadTypes byte
const (
	IKEv2PayloadNone          IKEv2PayloadTypes = 0
	IKEv2PayloadProposal      IKEv2PayloadTypes = 2  // used only inside the SA payload
	IKEv2PayloadTransform     IKEv2PayloadTypes = 3  // used only inside the SA payload
	IKEv2PayloadSA            IKEv2PayloadTypes = 33 // Security Association
	IKEv2PayloadKE            IKEv2PayloadTypes = 34 // Key Exchange
	IKEv2PayloadIDi           IKEv2PayloadTypes = 35 // ID Initiator
	IKEv2PayloadIDr           IKEv2PayloadTypes = 36 // ID Responder
	IKEv2PayloadCERT          IKEv2PayloadTypes = 37 // Certificate
	IKEv2PayloadCERTREQ       IKEv2PayloadTypes = 38 // Certificate Request
	IKEv2PayloadAUTH          IKEv2PayloadTypes = 39 // Authentication
	IKEv2PayloadNonce         IKEv2PayloadTypes = 40 // Nonce
	IKEv2PayloadNotify        IKEv2PayloadTypes = 41 // Notify
	IKEv2PayloadDelete        IKEv2PayloadTypes = 42 // Delete
	IKEv2PayloadVendorID      IKEv2PayloadTypes = 43 // Vendor ID
	IKEv2PayloadTSi           IKEv2PayloadTypes = 44 // Traffic Selector - Initiator
	IKEv2PayloadTSr           IKEv2PayloadTypes = 45 // Traffic Selector - Responder
	IKEv2PayloadEncrypted     IKEv2PayloadTypes = 46 // Encrypted Payload
	IKEv2PayloadCP            IKEv2PayloadTypes = 47 // Configuration Payload
	IKEv2PayloadEAP           IKEv2PayloadTypes = 48 // Extensible Authentication Protocol
	IKEv2PayloadGSPM          IKEv2PayloadTypes = 49 // Generic Secure Password Method
	IKEv2PayloadIDg           IKEv2PayloadTypes = 50 // Group ID
	IKEv2PayloadGSA           IKEv2PayloadTypes = 51 // Group Security Association
	IKEv2PayloadKD            IKEv2PayloadTypes = 52 // Key Download
	IKEv2PayloadEncryptedFrag IKEv2PayloadTypes = 53 // Encrypted Fragment
	IKEv2PayloadPS            IKEv2PayloadTypes = 54 // Payload Security
)

see https://www.iana.org/assignments/ikev2-parameters for details

func (IKEv2PayloadTypes) String

func (ip IKEv2PayloadTypes) String() string

type IKEv2Proposal

type IKEv2Proposal struct {
	Header     IKEv2PayloadHeader
	ProposalNb byte
	ProtocolID IKEv2ProtocolTypes
	SPISize    byte
	TransNb    byte
	Transforms []IKEv2Transform
}

func DecodeProposal

func DecodeProposal(data []byte, offset int) (IKEv2Proposal, int, error)

func (*IKEv2Proposal) SerializeProposal

func (i *IKEv2Proposal) SerializeProposal(data []byte, offset int) int

type IKEv2ProtocolTypes

type IKEv2ProtocolTypes byte
const (
	IKE IKEv2ProtocolTypes = 1
	AH  IKEv2ProtocolTypes = 2
	ESP IKEv2ProtocolTypes = 3
)

func (IKEv2ProtocolTypes) String

func (ip IKEv2ProtocolTypes) String() string

type IKEv2SAPayload

type IKEv2SAPayload struct {
	Header    IKEv2PayloadHeader
	Proposals []IKEv2Proposal
	Payload   interface{}
}

func DecodeSAPayload

func DecodeSAPayload(data []byte, offset int) (IKEv2SAPayload, error)

func (*IKEv2SAPayload) SerializeSAPayload

func (i *IKEv2SAPayload) SerializeSAPayload(data []byte, offset int) error

type IKEv2Transform

type IKEv2Transform struct {
	Header        IKEv2PayloadHeader
	TransformType IKEv2TransformTypes
	Flag          byte
	TransformId   uint16
	KeyLength     uint32
}

func DecodeTransform

func DecodeTransform(data []byte, offset int) (IKEv2Transform, int, error)

func (*IKEv2Transform) SerializeTransform

func (i *IKEv2Transform) SerializeTransform(data []byte, offset int) int

type IKEv2TransformType1

type IKEv2TransformType1 byte
const (
	ENCR_DES_IV64 IKEv2TransformType1 = 1
	ENCR_DES      IKEv2TransformType1 = 2
	ENCR_3DES     IKEv2TransformType1 = 3
	ENCR_RC5      IKEv2TransformType1 = 4
	ENCR_IDEA     IKEv2TransformType1 = 5
	ENCR_CAST     IKEv2TransformType1 = 6
	ENCR_BLOWFISH IKEv2TransformType1 = 7
	ENCR_3IDEA    IKEv2TransformType1 = 8
	ENCR_DES_IV32 IKEv2TransformType1 = 9
	ENCR_NULL     IKEv2TransformType1 = 11
	ENCR_AES_CBC  IKEv2TransformType1 = 12
	ENCR_AES_CTR  IKEv2TransformType1 = 13
)

func (IKEv2TransformType1) String

func (it1 IKEv2TransformType1) String() string

type IKEv2TransformType2

type IKEv2TransformType2 byte
const (
	PRF_HMAC_MD5          IKEv2TransformType2 = 1
	PRF_HMAC_SHA1         IKEv2TransformType2 = 2
	PRF_HMAC_TIGER        IKEv2TransformType2 = 3
	PRF_AES128_XCBC       IKEv2TransformType2 = 4
	PRF_HMAC_SHA2_256     IKEv2TransformType2 = 5
	PRF_HMAC_SHA2_384     IKEv2TransformType2 = 6
	PRF_HMAC_SHA2_512     IKEv2TransformType2 = 7
	PRF_AES128_CMAC       IKEv2TransformType2 = 8
	PRF_HMAC_STREEBOG_512 IKEv2TransformType2 = 9
)

func (IKEv2TransformType2) String

func (it2 IKEv2TransformType2) String() string

type IKEv2TransformType3

type IKEv2TransformType3 byte
const (
	AUTH_NONE          IKEv2TransformType3 = 0
	AUTH_HMAC_MD5_96   IKEv2TransformType3 = 1
	AUTH_HMAC_SHA1_96  IKEv2TransformType3 = 2
	AUTH_DES_MAC       IKEv2TransformType3 = 3
	AUTH_KPDK_MD5      IKEv2TransformType3 = 4
	AUTH_AES_XCBC_96   IKEv2TransformType3 = 5
	AUTH_HMAC_MD5_128  IKEv2TransformType3 = 6
	AUTH_HMAC_SHA1_160 IKEv2TransformType3 = 7
	AUTH_AES_CMAC_96   IKEv2TransformType3 = 8
	AUTH_AES_128_GMAC  IKEv2TransformType3 = 9
	AUTH_AES_192_GMAC  IKEv2TransformType3 = 10
	AUTH_AES_256_GMAC  IKEv2TransformType3 = 11
	AUTH_SHA2_256_128  IKEv2TransformType3 = 12
	AUTH_SHA2_384_192  IKEv2TransformType3 = 13
	AUTH_SHA2_512_256  IKEv2TransformType3 = 14
)

func (IKEv2TransformType3) String

func (it3 IKEv2TransformType3) String() string

type IKEv2TransformType4

type IKEv2TransformType4 byte
const (
	MODPGroupNONE IKEv2TransformType4 = 0
	MODPGroup768  IKEv2TransformType4 = 1
	MODPGroup1024 IKEv2TransformType4 = 2
	MODPGroup1536 IKEv2TransformType4 = 5
	MODPGroup2048 IKEv2TransformType4 = 14
	MODPGroup3072 IKEv2TransformType4 = 15
	MODPGroup4096 IKEv2TransformType4 = 16
	MODPGroup6144 IKEv2TransformType4 = 17
	MODPGroup8192 IKEv2TransformType4 = 18
)

func (IKEv2TransformType4) String

func (it4 IKEv2TransformType4) String() string

type IKEv2TransformType5

type IKEv2TransformType5 byte
const (
	NO_ESN  IKEv2TransformType5 = 0
	YES_ESN IKEv2TransformType5 = 1
)

func (IKEv2TransformType5) String

func (it5 IKEv2TransformType5) String() string

type IKEv2TransformTypes

type IKEv2TransformTypes byte
const (
	ENCR  IKEv2TransformTypes = 1 // Encryption Algorithm
	PRF   IKEv2TransformTypes = 2 // Pseudorandom Algorithm
	INTEG IKEv2TransformTypes = 3 // Integrity Algorithm
	DH    IKEv2TransformTypes = 4 // Diffie-Hellman Group
	ESN   IKEv2TransformTypes = 5 // Extended Sequence Numbers
)

func (IKEv2TransformTypes) String

func (it IKEv2TransformTypes) String() string

type RIPEntry

type RIPEntry struct {
	AddressFamilyIdentifier uint16
	RouteTag                uint16
	IPAddress               [4]byte
	SubnetMask              [4]byte
	NextHop                 [4]byte
	Metric                  uint32
}

type RIPPacket

type RIPPacket struct {
	layers.BaseLayer
	Command uint8
	Version uint8
	Zero    uint16 // Unused, should be zero
	Entries []RIPEntry
}

func (*RIPPacket) DecodeFromBytes

func (r *RIPPacket) DecodeFromBytes(data []byte, df gopacket.DecodeFeedback) error

func (*RIPPacket) LayerType

func (r *RIPPacket) LayerType() gopacket.LayerType

func (*RIPPacket) SerializeTo

type ServerHello

type ServerHello struct {
	Header
	Gmt_Unix_Time        uint32
	Random               []byte
	SessionIDLength      byte
	SessionID            []byte
	CipherSuite          TLSCipherSuite
	CompressionAlgorithm byte
}

type ServerHelloDone

type ServerHelloDone struct {
	Header
}

type ServerKeyExchange

type ServerKeyExchange struct {
	Header
}

type TLS

type TLS struct {
	layers.BaseLayer

	// TLS Records
	ChangeCipherSpec []TLSChangeCipherSpecRecord
	Handshake        []TLSHandshakeRecord
	AppData          []TLSAppDataRecord
	Alert            []TLSAlertRecord
}

TLS is actually a slide of TLSrecord structures

func (*TLS) CanDecode

func (t *TLS) CanDecode() gopacket.LayerClass

CanDecode implements gopacket.DecodingLayer.

func (*TLS) DecodeFromBytes

func (t *TLS) DecodeFromBytes(data []byte, df gopacket.DecodeFeedback) error

DecodeFromBytes decodes the slice into the TLS struct.

func (*TLS) LayerType

func (t *TLS) LayerType() gopacket.LayerType

LayerType returns gopacket.LayerTypeTLS.

func (*TLS) NextLayerType

func (t *TLS) NextLayerType() gopacket.LayerType

NextLayerType implements gopacket.DecodingLayer.

func (*TLS) Payload

func (t *TLS) Payload() []byte

Payload returns nil, since TLS encrypted payload is inside TLSAppDataRecord

func (*TLS) SerializeTo

func (t *TLS) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error

SerializeTo writes the serialized form of this layer into the SerializationBuffer, implementing gopacket.SerializableLayer.

type TLSAlertDescr

type TLSAlertDescr uint8

TLSAlertDescr defines the alert descrption data type

func (TLSAlertDescr) String

func (ad TLSAlertDescr) String() string

Strings shows the TLS alert description nicely formatted

type TLSAlertLevel

type TLSAlertLevel uint8

TLSAlertLevel defines the alert level data type

func (TLSAlertLevel) String

func (al TLSAlertLevel) String() string

Strings shows the TLS alert level nicely formatted

type TLSAlertRecord

type TLSAlertRecord struct {
	TLSRecordHeader

	Level       TLSAlertLevel
	Description TLSAlertDescr

	EncryptedMsg []byte
}

TLSAlertRecord contains all the information that each Alert Record type should have

type TLSAppDataRecord

type TLSAppDataRecord struct {
	TLSRecordHeader
	Payload []byte
}

TLSAppDataRecord contains all the information that each AppData Record types should have

type TLSChangeCipherSpecRecord

type TLSChangeCipherSpecRecord struct {
	TLSRecordHeader

	Message TLSchangeCipherSpec
}

TLSChangeCipherSpecRecord defines the type of data inside ChangeCipherSpec Record

type TLSCipherSuite

type TLSCipherSuite uint16
const (
	TLS_NULL_WITH_NULL_NULL             TLSCipherSuite = 0x0000
	TLS_RSA_WITH_NULL_MD5               TLSCipherSuite = 0x0001
	TLS_RSA_WITH_NULL_SHA               TLSCipherSuite = 0x0002
	TLS_RSA_WITH_NULL_SHA256            TLSCipherSuite = 0x003B
	TLS_RSA_WITH_RC4_128_MD5            TLSCipherSuite = 0x0004
	TLS_RSA_WITH_RC4_128_SHA            TLSCipherSuite = 0x0005
	TLS_RSA_WITH_3DES_EDE_CBC_SHA       TLSCipherSuite = 0x000A
	TLS_RSA_WITH_AES_128_CBC_SHA        TLSCipherSuite = 0x002F
	TLS_RSA_WITH_AES_256_CBC_SHA        TLSCipherSuite = 0x0035
	TLS_RSA_WITH_AES_128_CBC_SHA256     TLSCipherSuite = 0x003C
	TLS_RSA_WITH_AES_256_CBC_SHA256     TLSCipherSuite = 0x003D
	TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA    TLSCipherSuite = 0x000D
	TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA    TLSCipherSuite = 0x0010
	TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA   TLSCipherSuite = 0x0013
	TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA   TLSCipherSuite = 0x0016
	TLS_DH_DSS_WITH_AES_128_CBC_SHA     TLSCipherSuite = 0x0030
	TLS_DH_RSA_WITH_AES_128_CBC_SHA     TLSCipherSuite = 0x0031
	TLS_DHE_DSS_WITH_AES_128_CBC_SHA    TLSCipherSuite = 0x0032
	TLS_DHE_RSA_WITH_AES_128_CBC_SHA    TLSCipherSuite = 0x0033
	TLS_DH_DSS_WITH_AES_256_CBC_SHA     TLSCipherSuite = 0x0036
	TLS_DH_RSA_WITH_AES_256_CBC_SHA     TLSCipherSuite = 0x0037
	TLS_DHE_DSS_WITH_AES_256_CBC_SHA    TLSCipherSuite = 0x0038
	TLS_DHE_RSA_WITH_AES_256_CBC_SHA    TLSCipherSuite = 0x0039
	TLS_DH_DSS_WITH_AES_128_CBC_SHA256  TLSCipherSuite = 0x003E
	TLS_DH_RSA_WITH_AES_128_CBC_SHA256  TLSCipherSuite = 0x003F
	TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 TLSCipherSuite = 0x0040
	TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 TLSCipherSuite = 0x0067
	TLS_DH_DSS_WITH_AES_256_CBC_SHA256  TLSCipherSuite = 0x0068
	TLS_DH_RSA_WITH_AES_256_CBC_SHA256  TLSCipherSuite = 0x0069
	TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 TLSCipherSuite = 0x006A
	TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 TLSCipherSuite = 0x006B
	TLS_DH_ANON_WITH_RC4_128_MD5        TLSCipherSuite = 0x0018
	TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA   TLSCipherSuite = 0x001B
	TLS_DH_ANON_WITH_AES_128_CBC_SHA    TLSCipherSuite = 0x0034
	TLS_DH_ANON_WITH_AES_256_CBC_SHA    TLSCipherSuite = 0x006A
	TLS_DH_ANON_WITH_AES_128_CBC_SHA256 TLSCipherSuite = 0x006C
	TLS_DH_ANON_WITH_AES_256_CBC_SHA256 TLSCipherSuite = 0x006D
)

type TLSHandshakeRecord

TLSHandshakeRecord defines the structure of a Handshare Record

type TLSRecordHeader

type TLSRecordHeader struct {
	ContentType TLSType
	Version     TLSVersion
	Length      uint16
}

TLSRecordHeader contains all the information that each TLS Record types should have

type TLSType

type TLSType uint8

TLSType defines the type of data after the TLS Record

const (
	TLSHelloRequest       TLSType = 0
	TLSClientHello        TLSType = 1
	TLSServerHello        TLSType = 2
	TLSCertificate        TLSType = 11
	TLSServerKeyExchange  TLSType = 12
	TLSCertificateRequest TLSType = 13
	TLSServerHelloDone    TLSType = 14
	TLSCertificateVerify  TLSType = 15
	TLSClientKeyExchange  TLSType = 16
	TLSFinished           TLSType = 20
	TLSChangeCipherSpec   TLSType = 20
	TLSAlert              TLSType = 21
	TLSHandshake          TLSType = 22
	TLSApplicationData    TLSType = 23
	TLSUnknown            TLSType = 255
)

TLSType known values.

func (TLSType) String

func (tt TLSType) String() string

String shows the register type nicely formatted

type TLSVersion

type TLSVersion uint16

TLSVersion represents the TLS version in numeric format

func (TLSVersion) String

func (tv TLSVersion) String() string

Strings shows the TLS version nicely formatted

type TLSchangeCipherSpec

type TLSchangeCipherSpec uint8

TLSchangeCipherSpec defines the message value inside ChangeCipherSpec Record

const (
	TLSChangecipherspecMessage TLSchangeCipherSpec = 1
	TLSChangecipherspecUnknown TLSchangeCipherSpec = 255
)

func (TLSchangeCipherSpec) String

func (ccs TLSchangeCipherSpec) String() string

String shows the message value nicely formatted

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL