Documentation ¶
Index ¶
- Constants
- Variables
- type Certificate
- type ClientHello
- type ClientKeyExchange
- type Dot3
- func (d *Dot3) CanDecode() gopacket.LayerClass
- func (d *Dot3) DecodeFromBytes(data []byte, df gopacket.DecodeFeedback) error
- func (d *Dot3) LayerType() gopacket.LayerType
- func (d *Dot3) NextLayerType() gopacket.LayerType
- func (d *Dot3) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error
- type EncryptedHandshakeMessage
- type EncryptedHeartBeatMessage
- type Finished
- type Header
- type IKEDOITypes
- type IKEExchangeTypes
- type IKEIDPayload
- type IKEIDType
- type IKEKEPayload
- type IKENoncePayload
- type IKENotifyMessagesType
- type IKENotifyPayload
- type IKEPayloadHeader
- type IKEPayloadTypes
- type IKEProposal
- type IKEProtocolTypes
- type IKESAPayload
- type IKESituationTypes
- type IKETransform
- type IKETransformAttr
- type IKETransformID
- type IKETransformType1
- type IKETransformType11
- type IKETransformType2
- type IKETransformType3
- type IKETransformType4
- type IKETransformType5
- type IKETransformTypes
- type IKEv1
- type IKEv2
- type IKEv2ExchangeTypes
- type IKEv2KEPayload
- type IKEv2NoncePayload
- type IKEv2NotifyMessagesType
- type IKEv2NotifyPayload
- type IKEv2PayloadHeader
- type IKEv2PayloadTypes
- type IKEv2Proposal
- type IKEv2ProtocolTypes
- type IKEv2SAPayload
- type IKEv2Transform
- type IKEv2TransformType1
- type IKEv2TransformType2
- type IKEv2TransformType3
- type IKEv2TransformType4
- type IKEv2TransformType5
- type IKEv2TransformTypes
- type RIPEntry
- type RIPPacket
- type SSH
- func (s *SSH) CanDecode() gopacket.LayerClass
- func (s *SSH) DecodeFromBytes(data []byte, df gopacket.DecodeFeedback) error
- func (t *SSH) LayerType() gopacket.LayerType
- func (s *SSH) NextLayerType() gopacket.LayerType
- func (s *SSH) Payload() []byte
- func (s *SSH) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error
- type SSHChannelClose
- type SSHChannelData
- type SSHChannelOpen
- type SSHChannelOpenConfirmation
- type SSHChannelOpenFailure
- type SSHChannelRequest
- type SSHChannelSuccess
- type SSHChannelWindowAdjust
- type SSHEofMsg
- type SSHGlobalRequest
- type SSHKexDHInit
- type SSHKexDHReply
- type SSHKexInitMsg
- type SSHMessageNumbers
- type SSHNewKeys
- type SSHPacket
- type SSHServiceAccept
- type SSHServiceRequest
- type SSHUserAuthFailure
- type SSHUserAuthRequest
- type SSHUserAuthSuccess
- type SSHVersionMsg
- type ServerHello
- type ServerHelloDone
- type TLS
- func (t *TLS) CanDecode() gopacket.LayerClass
- func (t *TLS) DecodeFromBytes(data []byte, df gopacket.DecodeFeedback) error
- func (t *TLS) LayerType() gopacket.LayerType
- func (t *TLS) NextLayerType() gopacket.LayerType
- func (t *TLS) Payload() []byte
- func (t *TLS) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error
- type TLSAlertDescr
- type TLSAlertLevel
- type TLSAlertRecord
- type TLSAppDataRecord
- type TLSChangeCipherSpecRecord
- type TLSCipherSuite
- type TLSHandshakeRecord
- type TLSHeartbeatRecord
- type TLSHeartbeatType
- type TLSRecordHeader
- type TLSType
- type TLSVersion
- type TLSchangeCipherSpec
Constants ¶
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 ¶
var IKEDOITypesMap = map[byte]IKEDOITypes{ 0: DOI_ISAKMP, 1: DOI_IPSEC, 2: DOI_GDOI, }
var IKEExchangeTypeMap = map[byte]IKEExchangeTypes{ 0: IKENONE, 1: IKEBASE, 2: IKEIdentityProtection, 3: IKEAuthOnly, 4: IKEAggressive, 5: IKEINFORMATIONAL, 32: QUICK_MODE, 33: NEW_GROUP_MODE, }
var IKEIDTypesMap = map[byte]IKEIDType{ 1: ID_IPV4_ADDR, 2: ID_FQDN, 3: ID_USER_FQDN, 4: ID_IPV4_ADDR_SUBNET, 5: ID_IPV6_ADDR, 6: ID_IPV6_ADDR_SUBNET, 7: ID_IPV4_ADDR_RANGE, 8: ID_IPV6_ADDR_RANGE, 9: ID_DER_ASN1_DN, 10: ID_DER_ASN1_GN, 11: ID_KEY_ID, }
var IKENotifyMessagesTypeMap = map[uint16]IKENotifyMessagesType{ 1: INVALID_PAYLOAD_TYPE, 2: DOI_NOT_SUPPORTED, 3: SITUATION_NOT_SUPPORTED, 4: INVALID_COOKIE, 5: INVALID_MAJOR_V, 6: INVALID_MINOR_VERSION, 7: INVALID_EXCHANGE_TYPE, 8: INVALID_FLAGS, 9: INV_MESSAGE_ID, 10: INVALID_PROTOCOL_ID, 11: INV_SPI, 12: INVALID_TRANSFORM_ID, 13: ATTRIBUTES_NOT_SUPPORTED, 14: NO_PROPOSAL_CHOSE, 15: BAD_PROPOSAL_SYNTAX, 16: PAYLOAD_MALFORMED, 17: INVALID_KEY_INFORMATION, 18: INVALID_ID_INFORMATION, 19: INVALID_CERT_ENCODING, 20: INVALID_CERTIFICATE, 21: CERT_TYPE_UNSUPPORTED, 22: INVALID_CERT_AUTHORITY, 23: INVALID_HASH_INFORMATION, 24: AUTH_FAILED, 25: INVALID_SIGNATURE, 26: ADDRESS_NOTIFICATION, 27: NOTIFY_SA_LIFETIME, 28: CERTIFICATE_UNAVAILABLE, 29: UNSUPPORTED_EXCHANGE_TYPE, 30: UNEQUAL_PAYLOAD_LENGTHS, }
var IKEPayloadTypeMap = map[byte]IKEPayloadTypes{ 0: IKEPayloadNone, 1: IKEPayloadSA, 2: IKEPayloadProposal, 3: IKEPayloadTransform, 4: IKEPayloadKE, 5: IKEPayloadID, 6: IKEPayloadCERT, 7: IKEPayloadCERTREQ, 8: IKEPayloadHASH, 9: IKEPayloadSIG, 10: IKEPayloadNonce, 11: IKEPayloadNotify, 12: IKEPayloadDelete, 13: IKEPayloadVendorID, 14: IKEPayloadReserved, 15: IKEPayloadSAKEK, 16: IKEPayloadSATEK, 17: IKEPayloadKD, 18: IKEPayloadSEQ, 19: IKEPayloadPOP, 20: IKEPayloadNATD, 21: IKEPayloadNATOA, 22: IKEPayloadGAP, }
var IKEProtocolTypesMap = map[byte]IKEProtocolTypes{ 1: ISAKMP, 2: IPSEC_AH, 3: IPSEC_ESP, 17: UDP, }
var IKESituationTypesMap = map[byte]IKESituationTypes{ 1: SIT_IDENTITY_ONLY, 2: SIT_SECRECY, 4: SIT_INTEGRITY, }
var IKETransformIDMap = map[byte]IKETransformID{ 0: RESERVED, 1: KEY_IKE, }
var IKETransformType11Map = map[uint16]IKETransformType11{ 1: SEC, 2: KB, }
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, }
var IKETransformType2Map = map[uint16]IKETransformType2{ 1: MD5, 2: SHA, 3: TIGER, 4: SHA2_256, 5: SHA2_384, 6: SHA2_512, }
var IKETransformType3Map = map[uint16]IKETransformType3{ 1: PRE_SHARED, 2: DSS_SIG, 3: RSA_SIG, 4: ENCR_RSA, 5: REV_ENCR_RSA, 6: ECDSA_SHA256_P256, 7: ECDSA_SHA384_P384, 8: ECDSA_SHA512_P521, }
var IKETransformType4Map = map[uint16]IKETransformType4{ 1: MODP_768, 2: MODP_1024, 3: EC2N_GP155, 4: EC2N_GP185, 5: MODP_1536, 14: MODP_2048, 15: MODP_3072, 16: MODP_4096, 17: MODP_6144, 18: MODP_8192, 19: ECP_RAND_256, 20: ECP_RAND_384, 21: ECP_RAND_512, 22: MODP_1024_160P, 23: MODP_2048_224P, 24: MODP_2048_256P, 25: ECP_RAND_192, 26: ECP_RAND_224, 27: ECP_BRAIN_224, 28: ECP_BRAIN_256, 29: ECP_BRAIN_384, 30: ECP_BRAIN_512, }
var IKETransformType5Map = map[uint16]IKETransformType5{ 1: MODP, 2: ECP, 3: EC2N, }
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, }
var IKEv2ExchangeTypeMap = map[byte]IKEv2ExchangeTypes{ 34: IKEv2SAInit, 35: IKEv2Auth, 36: IKEv2CreateChild, 37: IKEv2Informational, 38: IKEv2SessionResume, 43: IKEv2Intermediate, 44: IKEv2FollowUpKE, }
var IKEv2NotifyMessagesTypeMap = map[uint16]IKEv2NotifyMessagesType{ 1: UNSUPPORTED_CRITICAL_PAYLOAD, 4: INVALID_IKE_SPI, 5: INVALID_MAJOR_VERSION, 7: INVALID_SYNTAX, 9: INVALID_MESSAGE_ID, 11: INVALID_SPI, 14: NO_PROPOSAL_CHOSEN, 17: INVALID_KE_PAYLOAD, 24: AUTHENTICATION_FAILED, 34: SINGLE_PAIR_REQUIRED, 35: NO_ADDITIONAL_SAS, 36: INTERNAL_ADDRESS_FAILURE, 37: FAILED_CP_REQUIRED, 38: TS_UNACCEPTABLE, 39: INVALID_SELECTORS, 43: TEMPORARY_FAILURE, 44: CHILD_SA_NOT_FOUND, 16384: INITIAL_CONTACT, 16385: SET_WINDOW_SIZE, 16386: ADDITIONAL_TS_POSSIBLE, 16387: IPCOMP_SUPPORTED, 16388: NAT_DETECTION_SOURCE_IP, 16389: NAT_DETECTION_DESTINATION_IP, 16390: COOKIE, 16391: USE_TRANSPORT_MODE, 16392: HTTP_CERT_LOOKUP_SUPPORTED, 16393: REKEY_SA, 16394: ESP_TFC_PADDING_NOT_SUPPORTED, 16395: NON_FIRST_FRAGMENTS_ALSO, }
var IKEv2PayloadTypeMap = map[byte]IKEv2PayloadTypes{ 0: IKEv2PayloadNone, 2: IKEv2PayloadProposal, 3: IKEv2PayloadTransform, 33: IKEv2PayloadSA, 34: IKEv2PayloadKE, 35: IKEv2PayloadIDi, 36: IKEv2PayloadIDr, 37: IKEv2PayloadCERT, 38: IKEv2PayloadCERTREQ, 39: IKEv2PayloadAUTH, 40: IKEv2PayloadNonce, 41: IKEv2PayloadNotify, 42: IKEv2PayloadDelete, 43: IKEv2PayloadVendorID, 44: IKEv2PayloadTSi, 45: IKEv2PayloadTSr, 46: IKEv2PayloadEncrypted, 47: IKEv2PayloadCP, 48: IKEv2PayloadEAP, 49: IKEv2PayloadGSPM, 50: IKEv2PayloadIDg, 51: IKEv2PayloadGSA, 52: IKEv2PayloadKD, 53: IKEv2PayloadEncryptedFrag, 54: IKEv2PayloadPS, }
var IKEv2ProtocolTypesMap = map[byte]IKEv2ProtocolTypes{ 1: IKE, 2: AH, 3: ESP, }
var IKEv2TransformType1Map = map[uint16]IKEv2TransformType1{ 1: ENCR_DES_IV64, 2: ENCR_DES, 3: ENCR_3DES, 4: ENCR_RC5, 5: ENCR_IDEA, 6: ENCR_CAST, 7: ENCR_BLOWFISH, 8: ENCR_3IDEA, 9: ENCR_DES_IV32, 11: ENCR_NULL, 12: ENCR_AES_CBC, 13: ENCR_AES_CTR, }
var IKEv2TransformType2Map = map[uint16]IKEv2TransformType2{ 1: PRF_HMAC_MD5, 2: PRF_HMAC_SHA1, 3: PRF_HMAC_TIGER, 4: PRF_AES128_XCBC, 5: PRF_HMAC_SHA2_256, 6: PRF_HMAC_SHA2_384, 7: PRF_HMAC_SHA2_512, 8: PRF_AES128_CMAC, 9: PRF_HMAC_STREEBOG_512, }
var IKEv2TransformType3Map = map[uint16]IKEv2TransformType3{ 0: AUTH_NONE, 1: AUTH_HMAC_MD5_96, 2: AUTH_HMAC_SHA1_96, 3: AUTH_DES_MAC, 4: AUTH_KPDK_MD5, 5: AUTH_AES_XCBC_96, 6: AUTH_HMAC_MD5_128, 7: AUTH_HMAC_SHA1_160, 8: AUTH_AES_CMAC_96, 9: AUTH_AES_128_GMAC, 10: AUTH_AES_192_GMAC, 11: AUTH_AES_256_GMAC, 12: AUTH_SHA2_256_128, 13: AUTH_SHA2_384_192, 14: AUTH_SHA2_512_256, }
var IKEv2TransformType4Map = map[uint16]IKEv2TransformType4{ 0: MODPGroupNONE, 1: MODPGroup768, 2: MODPGroup1024, 5: MODPGroup1536, 14: MODPGroup2048, 15: MODPGroup3072, 16: MODPGroup4096, 17: MODPGroup6144, 18: MODPGroup8192, }
var IKEv2TransformType5Map = map[uint16]IKEv2TransformType5{ 0: NO_ESN, 1: YES_ESN, }
var IKEv2TransformTypesMap = map[byte]IKEv2TransformTypes{ 1: ENCR, 2: PRF, 3: INTEG, 4: DH, 5: ESN, }
var LayerTypeDot3 = gopacket.RegisterLayerType(2001, gopacket.LayerTypeMetadata{Name: "Ethernet8023", Decoder: gopacket.DecodeFunc(decodeDot3)})
var LayerTypeIKEv1 = gopacket.RegisterLayerType(8001, gopacket.LayerTypeMetadata{Name: "IKE", Decoder: gopacket.DecodeFunc(decodeIKEPacket)})
var LayerTypeIKEv2 = gopacket.RegisterLayerType(8000, gopacket.LayerTypeMetadata{Name: "IKEv2", Decoder: gopacket.DecodeFunc(decodeIKEv2Packet)})
var LayerTypeRip = gopacket.RegisterLayerType(7777, gopacket.LayerTypeMetadata{Name: "RIPPacket", Decoder: gopacket.DecodeFunc(decodeRIPPacket)})
var LayerTypeSSH = gopacket.RegisterLayerType(8003, gopacket.LayerTypeMetadata{Name: "SSH", Decoder: gopacket.DecodeFunc(decodeSSH)})
var LayerTypeTLS = gopacket.RegisterLayerType(8002, gopacket.LayerTypeMetadata{Name: "TLS", Decoder: gopacket.DecodeFunc(decodeTLS)})
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, }
var TLSHeartbeatTypesMap = map[byte]TLSHeartbeatType{ 1: Heartbeat_Request, 2: Heartbeat_Response, }
Functions ¶
This section is empty.
Types ¶
type Certificate ¶
func (*Certificate) SerializeTo ¶
func (c *Certificate) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions, data []byte, off int) error
type ClientHello ¶
type ClientHello struct { Header Gmt_Unix_Time uint32 Random []byte SessionIDLength byte SessionID []byte CipherSuiteLength uint16 CipherSuite []TLSCipherSuite CompressionAlgorithmLength uint8 CompressionAlgorithm byte }
func (*ClientHello) SerializeTo ¶
func (c *ClientHello) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions, data []byte, off int) error
type ClientKeyExchange ¶
type ClientKeyExchange struct { Header EncryptedPreMasterSecretLength uint16 EncryptedPreMasterSecret []byte }
func (*ClientKeyExchange) SerializeTo ¶
func (c *ClientKeyExchange) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions, data []byte, off int) error
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) NextLayerType ¶
func (*Dot3) SerializeTo ¶
func (d *Dot3) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error
type EncryptedHandshakeMessage ¶
type EncryptedHandshakeMessage struct {
CipherData []byte
}
type EncryptedHeartBeatMessage ¶
type EncryptedHeartBeatMessage struct {
CipherHeartBeat []byte
}
type Finished ¶
func (*Finished) SerializeTo ¶
func (f *Finished) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions, data []byte, off int) error
type Header ¶
type Header struct { ContentType TLSType Version TLSVersion Length uint32 }
func (*Header) SerializeTo ¶
func (h *Header) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions, data []byte, off int) int
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 )
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 ¶
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
const ( ENCRY IKETransformTypes = 1 HASH IKETransformTypes = 2 AUTH IKETransformTypes = 3 GD IKETransformTypes = 4 GT IKETransformTypes = 5 GP IKETransformTypes = 6 GGO IKETransformTypes = 7 GGT IKETransformTypes = 8 GCA IKETransformTypes = 9 GCB IKETransformTypes = 10 LT IKETransformTypes = 11 LD IKETransformTypes = 12 PRFT IKETransformTypes = 13 KL IKETransformTypes = 14 FS IKETransformTypes = 15 GO IKETransformTypes = 16 )
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) 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) 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 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) SerializeTo ¶
func (rip *RIPPacket) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error
type SSH ¶
func (*SSH) CanDecode ¶
func (s *SSH) CanDecode() gopacket.LayerClass
CanDecode implements gopacket.DecodingLayer.
func (*SSH) DecodeFromBytes ¶
func (s *SSH) DecodeFromBytes(data []byte, df gopacket.DecodeFeedback) error
func (*SSH) NextLayerType ¶
NextLayerType implements gopacket.DecodingLayer.
func (*SSH) SerializeTo ¶
func (s *SSH) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error
type SSHChannelClose ¶
type SSHChannelClose struct { SSHType SSHMessageNumbers RecipientChannel uint32 }
func (*SSHChannelClose) SerializeTo ¶
func (msg *SSHChannelClose) SerializeTo(data []byte, off int)
type SSHChannelData ¶
type SSHChannelData struct { SSHType SSHMessageNumbers RecipientChannel uint32 Data []byte }
func (*SSHChannelData) SerializeTo ¶
func (msg *SSHChannelData) SerializeTo(data []byte, off int)
type SSHChannelOpen ¶
type SSHChannelOpen struct { SSHType SSHMessageNumbers ChannelType string SenderChannel uint32 InitialWindowSize uint32 MaximumPacketSize uint32 SpecificData []byte }
func (*SSHChannelOpen) SerializeTo ¶
func (msg *SSHChannelOpen) SerializeTo(data []byte, off int) int
type SSHChannelOpenConfirmation ¶
type SSHChannelOpenConfirmation struct { SSHType SSHMessageNumbers RecipientChannel uint32 SenderChannel uint32 InitialWindowSize uint32 MaximumPacketSize uint32 }
func (*SSHChannelOpenConfirmation) SerializeTo ¶
func (msg *SSHChannelOpenConfirmation) SerializeTo(data []byte, off int)
type SSHChannelOpenFailure ¶
type SSHChannelOpenFailure struct { SSHType SSHMessageNumbers RecipientChannel uint32 ReasonCode uint32 Description string LanguageTag string }
func (*SSHChannelOpenFailure) SerializeTo ¶
func (msg *SSHChannelOpenFailure) SerializeTo(data []byte, off int)
type SSHChannelRequest ¶
type SSHChannelRequest struct { SSHType SSHMessageNumbers RecipientChannel uint32 RequestType string WantReply bool Command []byte }
func (*SSHChannelRequest) SerializeTo ¶
func (msg *SSHChannelRequest) SerializeTo(data []byte, off int) int
type SSHChannelSuccess ¶
type SSHChannelSuccess struct { SSHType SSHMessageNumbers RecipientChannel uint32 }
func (*SSHChannelSuccess) SerializeTo ¶
func (msg *SSHChannelSuccess) SerializeTo(data []byte, off int) int
type SSHChannelWindowAdjust ¶
type SSHChannelWindowAdjust struct { SSHType SSHMessageNumbers RecipientChannel uint32 BytesToAdd uint32 }
type SSHEofMsg ¶
type SSHEofMsg struct { SSHType SSHMessageNumbers ChannelNumber uint32 }
type SSHGlobalRequest ¶
type SSHGlobalRequest struct { SSHType SSHMessageNumbers RequestName string WantReply bool Data []byte }
type SSHKexDHInit ¶
type SSHKexDHInit struct { SSHType SSHMessageNumbers Pub []byte }
func (*SSHKexDHInit) SerializeTo ¶
func (k *SSHKexDHInit) SerializeTo(data []byte, off int) int
type SSHKexDHReply ¶
type SSHKexDHReply struct { SSHType SSHMessageNumbers ServerHostKey []byte F *big.Int Signature []byte }
func (*SSHKexDHReply) SerializeTo ¶
func (k *SSHKexDHReply) SerializeTo(data []byte, off int)
type SSHKexInitMsg ¶
type SSHKexInitMsg struct { SSHType SSHMessageNumbers Cookie []byte KexAlgorithms []string ServerHostKeyAlgorithms []string EncryptionAlgorithmsClientToServer []string EncryptionAlgorithmsServerToClient []string MacAlgorithmsClientToServer []string MacAlgorithmsServerToClient []string CompressionAlgorithmsClientToServer []string CompressionAlgorithmsServerToClient []string LanguagesClientToServer []string LanguagesServerToClient []string FirstKexPacketFollows bool Reserved uint32 }
func (*SSHKexInitMsg) SerializeTo ¶
func (k *SSHKexInitMsg) SerializeTo(data []byte, off int) int
type SSHMessageNumbers ¶
type SSHMessageNumbers byte
const ( SSH_MSG_DISCONNECT SSHMessageNumbers = 1 SSH_MSG_IGNORE SSHMessageNumbers = 2 SSH_MSG_UNIMPLEMENTED SSHMessageNumbers = 3 SSH_MSG_DEBUG SSHMessageNumbers = 4 SSH_MSG_SERVICE_REQUEST SSHMessageNumbers = 5 SSH_MSG_SERVICE_ACCEPT SSHMessageNumbers = 6 SSH_MSG_KEXINIT SSHMessageNumbers = 20 SSH_MSG_NEWKEYS SSHMessageNumbers = 21 SSH_MSG_KEYDH_INIT SSHMessageNumbers = 30 SSH_MSG_KEYDH_REPLY SSHMessageNumbers = 31 SSH_MSG_USERAUTH_REQUEST SSHMessageNumbers = 50 SSH_MSG_USERAUTH_FAILURE SSHMessageNumbers = 51 SSH_MSG_USERAUTH_SUCCESS SSHMessageNumbers = 52 SSH_MSG_USERAUTH_BANNER SSHMessageNumbers = 53 SSH_MSG_GLOBAL_REQUEST SSHMessageNumbers = 80 SSH_MSG_REQUEST_SUCCESS SSHMessageNumbers = 81 SSH_MSG_REQUEST_FAILURE SSHMessageNumbers = 82 SSH_MSG_CHANNEL_OPEN SSHMessageNumbers = 90 SSH_MSG_CHANNEL_OPEN_CONFIRMATION SSHMessageNumbers = 91 SSH_MSG_CHANNEL_OPEN_FAILURE SSHMessageNumbers = 92 SSH_MSG_CHANNEL_WINDOW_ADJUST SSHMessageNumbers = 93 SSH_MSG_CHANNEL_DATA SSHMessageNumbers = 94 SSH_MSG_CHANNEL_EXTENDED_DATA SSHMessageNumbers = 95 SSH_MSG_CHANNEL_EOF SSHMessageNumbers = 96 SSH_MSG_CHANNEL_CLOSE SSHMessageNumbers = 97 SSH_MSG_CHANNEL_REQUEST SSHMessageNumbers = 98 SSH_MSG_CHANNEL_SUCCESS SSHMessageNumbers = 99 SSH_MSG_CHANNEL_FAILURE SSHMessageNumbers = 100 )
func (SSHMessageNumbers) String ¶
func (s SSHMessageNumbers) String() string
type SSHNewKeys ¶
type SSHNewKeys struct {
SSHType SSHMessageNumbers
}
func (*SSHNewKeys) SerializeTo ¶
func (k *SSHNewKeys) SerializeTo(data []byte, off int) int
type SSHPacket ¶
type SSHPacket struct { PacketLength uint32 PaddingLength uint8 Payload interface{} Padding []byte MAC []byte }
func (*SSHPacket) SerializeTo ¶
type SSHServiceAccept ¶
type SSHServiceAccept struct { SSHType SSHMessageNumbers ServiceName string }
func (*SSHServiceAccept) SerializeTo ¶
func (msg *SSHServiceAccept) SerializeTo(data []byte, off int)
type SSHServiceRequest ¶
type SSHServiceRequest struct { SSHType SSHMessageNumbers ServiceName string }
func (*SSHServiceRequest) SerializeTo ¶
func (msg *SSHServiceRequest) SerializeTo(data []byte, off int) int
type SSHUserAuthFailure ¶
type SSHUserAuthFailure struct { SSHType SSHMessageNumbers AuthenticationsThatCanContinue []string PartialSuccess bool }
func (*SSHUserAuthFailure) SerializeTo ¶
func (msg *SSHUserAuthFailure) SerializeTo(data []byte, off int)
type SSHUserAuthRequest ¶
type SSHUserAuthRequest struct { SSHType SSHMessageNumbers UserName string ServiceName string MethodName string ChangeRe bool Password string }
func (*SSHUserAuthRequest) SerializeTo ¶
func (msg *SSHUserAuthRequest) SerializeTo(data []byte, off int) int
type SSHUserAuthSuccess ¶
type SSHUserAuthSuccess struct {
SSHType SSHMessageNumbers
}
func (*SSHUserAuthSuccess) SerializeTo ¶
func (msg *SSHUserAuthSuccess) SerializeTo(data []byte, off int)
type SSHVersionMsg ¶
type SSHVersionMsg struct {
VersionString string
}
func (*SSHVersionMsg) DecodeFromBytes ¶
func (v *SSHVersionMsg) DecodeFromBytes(data []byte)
func (*SSHVersionMsg) SerializeTo ¶
func (v *SSHVersionMsg) SerializeTo(data []byte)
type ServerHello ¶
type ServerHello struct { Header Gmt_Unix_Time uint32 Random []byte SessionIDLength byte SessionID []byte CipherSuite TLSCipherSuite CompressionAlgorithm byte }
func (*ServerHello) SerializeTo ¶
func (s *ServerHello) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions, data []byte, off int) error
type ServerHelloDone ¶
type ServerHelloDone struct {
Header
}
func (*ServerHelloDone) SerializeTo ¶
func (s *ServerHelloDone) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions, data []byte, off int) error
type TLS ¶
type TLS struct { layers.BaseLayer // TLS Records ChangeCipherSpec []TLSChangeCipherSpecRecord Handshake []TLSHandshakeRecord AppData []TLSAppDataRecord Alert []TLSAlertRecord Heartbeat []TLSHeartbeatRecord }
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) NextLayerType ¶
NextLayerType implements gopacket.DecodingLayer.
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 ¶
type TLSHandshakeRecord struct { TLSRecordHeader ClientHello ServerHelloDone ServerHello Certificate ClientKeyExchange Finished EncryptedHandshakeMessage }
TLSHandshakeRecord defines the structure of a Handshare Record
func (*TLSHandshakeRecord) SerializeTo ¶
func (t *TLSHandshakeRecord) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions, data []byte, off int) error
type TLSHeartbeatRecord ¶
type TLSHeartbeatRecord struct { TLSRecordHeader TLSHeartbeatType Length uint16 Data []byte EncryptedHeartBeatMessage }
func (*TLSHeartbeatRecord) SerializeTo ¶
func (t *TLSHeartbeatRecord) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions, data []byte, off int) error
type TLSHeartbeatType ¶
type TLSHeartbeatType byte
const ( Heartbeat_Request TLSHeartbeatType = 1 Heartbeat_Response TLSHeartbeatType = 2 )
func (TLSHeartbeatType) String ¶
func (t TLSHeartbeatType) String() string
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 TLSHearbeat TLSType = 24 TLSUnknown TLSType = 255 )
TLSType known values.
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