|
| | WireGuardHandshakeResponseLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet) |
| |
| | WireGuardHandshakeResponseLayer (uint32_t senderIndex, uint32_t receiverIndex, const uint8_t responderEphemeral[32], const uint8_t encryptedEmpty[16], const uint8_t mac1[16], const uint8_t mac2[16]) |
| |
| uint32_t | getSenderIndex () const |
| |
| uint32_t | getReceiverIndex () const |
| |
| std::array< uint8_t, 32 > | getResponderEphemeral () const |
| |
| std::array< uint8_t, 16 > | getEncryptedEmpty () const |
| |
| std::array< uint8_t, 16 > | getMac1 () const |
| |
| std::array< uint8_t, 16 > | getMac2 () const |
| |
| void | setSenderIndex (uint32_t senderIndex) |
| |
| void | setReceiverIndex (uint32_t receiverIndex) |
| |
| void | setResponderEphemeral (const std::array< uint8_t, 32 > &responderEphemeral) |
| |
| void | setEncryptedEmpty (const std::array< uint8_t, 16 > &encryptedEmpty) |
| |
| void | setMac1 (const std::array< uint8_t, 16 > &mac1) |
| |
| void | setMac2 (const std::array< uint8_t, 16 > &mac2) |
| |
| WireGuardMessageType | getWireGuardMessageType () const override |
| |
| | WireGuardLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet) |
| |
| std::string | getMessageTypeAsString () const |
| |
| uint8_t | getMessageType () const |
| |
| uint32_t | getReserved () const |
| |
| void | setReserved (const std::array< uint8_t, 3 > &reserved) |
| |
|
void | parseNextLayer () override |
| | Does nothing for this layer (WireGuard layer is always last)
|
| |
| size_t | getHeaderLen () const override |
| |
|
void | computeCalculateFields () override |
| | No fields to compute or update, so this method is left empty.
|
| |
| std::string | toString () const override |
| |
| OsiModelLayer | getOsiModelLayer () const override |
| |
| | ~Layer () override |
| |
| Layer * | getNextLayer () const |
| |
| Layer * | getPrevLayer () const |
| |
| ProtocolType | getProtocol () const |
| |
| bool | isMemberOfProtocolFamily (ProtocolTypeFamily protocolTypeFamily) const |
| |
| uint8_t * | getData () const |
| |
| size_t | getDataLen () const |
| |
| uint8_t * | getLayerPayload () const |
| |
| size_t | getLayerPayloadSize () const |
| |
| bool | isAllocatedToPacket () const |
| |
| void | copyData (uint8_t *toArr) const |
| |
| uint8_t * | getDataPtr (size_t offset=0) const override |
| |
|
| enum class | WireGuardMessageType {
Unknown = 0
, HandshakeInitiation = 1
, HandshakeResponse = 2
, CookieReply = 3
,
TransportData = 4
} |
| | WireGuard message types. More...
|
| |
| static bool | isWireGuardPorts (uint16_t portSrc, uint16_t portDst) |
| |
| static bool | isDataValid (const uint8_t *data, size_t dataLen) |
| |
| static WireGuardLayer * | parseWireGuardLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet) |
| |
| template<typename T , typename... Args> |
| Layer * | constructNextLayer (uint8_t *data, size_t dataLen, Packet *packet, Args &&... extraArgs) |
| |
| template<typename T , typename TFallback , typename... Args> |
| Layer * | tryConstructNextLayerWithFallback (uint8_t *data, size_t dataLen, Packet *packet, Args &&... extraArgs) |
| |
| template<typename T > |
| static bool | canReinterpretAs (const uint8_t *data, size_t dataLen) |
| | Check if the data is large enough to reinterpret as a type. More...
|
| |
Represents a Handshake Response message