scapy.contrib.wireguard module

WireGuard Module Implements the WireGuard network tunnel protocol. Based on the whitepaper: https://www.wireguard.com/papers/wireguard.pdf

class scapy.contrib.wireguard.Wireguard

Bases: scapy.packet.Packet

Wrapper that only contains the message type.

aliastypes = [<class 'scapy.contrib.wireguard.Wireguard'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (Wireguard).message_type>, <Field (Wireguard).reserved_zero>]
payload_guess = [({'message_type': 1}, <class 'scapy.contrib.wireguard.WireguardInitiation'>), ({'message_type': 2}, <class 'scapy.contrib.wireguard.WireguardResponse'>), ({'message_type': 3}, <class 'scapy.contrib.wireguard.WireguardCookieReply'>), ({'message_type': 4}, <class 'scapy.contrib.wireguard.WireguardTransport'>)]
class scapy.contrib.wireguard.WireguardCookieReply

Bases: scapy.packet.Packet

aliastypes = [<class 'scapy.contrib.wireguard.WireguardCookieReply'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (WireguardCookieReply).receiver_index>, <Field (WireguardCookieReply).nonce>, <Field (WireguardCookieReply).encrypted_cookie>]
class scapy.contrib.wireguard.WireguardInitiation

Bases: scapy.packet.Packet

aliastypes = [<class 'scapy.contrib.wireguard.WireguardInitiation'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (WireguardInitiation).sender_index>, <Field (WireguardInitiation).unencrypted_ephemeral>, <Field (WireguardInitiation).encrypted_static>, <Field (WireguardInitiation).encrypted_timestamp>, <Field (WireguardInitiation).mac1>, <Field (WireguardInitiation).mac2>]
class scapy.contrib.wireguard.WireguardResponse

Bases: scapy.packet.Packet

aliastypes = [<class 'scapy.contrib.wireguard.WireguardResponse'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (WireguardResponse).sender_index>, <Field (WireguardResponse).receiver_index>, <Field (WireguardResponse).unencrypted_ephemeral>, <Field (WireguardResponse).encrypted_nothing>, <Field (WireguardResponse).mac1>, <Field (WireguardResponse).mac2>]
class scapy.contrib.wireguard.WireguardTransport

Bases: scapy.packet.Packet

aliastypes = [<class 'scapy.contrib.wireguard.WireguardTransport'>, <class 'scapy.packet.Packet'>]
fields_desc = [<Field (WireguardTransport).receiver_index>, <Field (WireguardTransport).counter>, <Field (WireguardTransport).encrypted_encapsulated_packet>]