Yarilo v0.9.9
WPA2 Decrypter & Packet Analyzer
Loading...
Searching...
No Matches
Protocol Documentation

Table of Contents

Top

service.proto

APCreateRecordingRequest

Field Type Label Description
sniffer_uuid string
name string
bssid string
raw bool Whether to save raw traffic (in the original

APCreateRecordingResponse

Field Type Label Description
uuid string
packet_count uint32

APDeauthClientRequest

Field Type Label Description
sniffer_uuid string
bssid string
client_addr string

APDeauthRequest

Field Type Label Description
sniffer_uuid string
bssid string

APGetDeryptedStreamRequest

Field Type Label Description
sniffer_uuid string
bssid string
include_payload bool

APGetHashRequest

Field Type Label Description
sniffer_uuid string
bssid string
client_addr string

APGetHashResponse

Field Type Label Description
hc22000 string

APGetRequest

Field Type Label Description
sniffer_uuid string
bssid string

APGetResponse

Field Type Label Description
ap AccessPointInfo

APIgnoreRequest

Field Type Label Description
sniffer_uuid string
use_ssid bool Sometimes you want to ignore a whole network instead of
bssid string an access point
ssid string

APListResponse

List of networks

Field Type Label Description
nets BasicNetworkInfo repeated

APProvidePasswordRequest

Field Type Label Description
sniffer_uuid string
bssid string
password string

APProvidePasswordResponse

Field Type Label Description
state APProvidePasswordResponse.DecryptionState

ARP

Field Type Label Description
sender_ip_address string
sender_mac_address string
target_ip_address string
target_mac_address string

AccessPointInfo

Field Type Label Description
ssid string
bssid string
channel uint32
encrypted_packet_count uint32
decrypted_packet_count uint32
pmf_capable bool Protected management frames - 802.11w
pmf_required bool
supported_standards WiFiStandardInfo repeated
security NetworkSecurity repeated A network can support multiple security standards at once
clients ClientInfo repeated
group_windows GroupWindow repeated

BasicNetworkInfo

Field Type Label Description
ssid string
bssid string

BatteryGetLevelResponse

Field Type Label Description
percentage float

ClientInfo

Field Type Label Description
hwaddr string MAC
hostname string Friendly hostname (via DHCP)
ipv4 string
ipv6 string
sent_unicast uint32
sent_total uint32
received uint32
rrsi int32 Received signal strength indicator
noise int32 Signal noise
snr int32 Signal to noise ratio, used to determine connection
pmf_active bool quality
windows ClientWindow repeated

ClientWindow

AP.proto

Field Type Label Description
start google.protobuf.Timestamp
end google.protobuf.Timestamp
ended bool
decrypted bool
packet_count uint32
auth_packet_count uint32 Handshake count
ptk string Pairwise Transient key, available if decrypted

DHCP

Field Type Label Description
message_type uint32
transaction_id uint32
client_ip_address string
your_ip_address string
server_ip_address string
client_mac_address string

DHCPv6

Field Type Label Description
message_type uint32
transaction_id uint32
options DHCPv6.Option repeated

DHCPv6.Option

Field Type Label Description
option_code uint32 Option code indicating the type of option
option_length uint32 Length of the option data
option_data bytes Option-specific data

DNS

Field Type Label Description
id uint32
qr bool Query/Response
questions DNS.Question repeated
answers DNS.ResourceRecord repeated

DNS.Question

Field Type Label Description
name string
type uint32

DNS.ResourceRecord

Field Type Label Description
name string
type uint32
data string

Empty

Empty message

FocusGetActiveResponse

Field Type Label Description
bssid string
ssid string
channel uint32

FocusStartRequest

Field Type Label Description
sniffer_uuid string
bssid string

FocusStartResponse

Field Type Label Description
channel uint32

GroupWindow

Field Type Label Description
start google.protobuf.Timestamp
end google.protobuf.Timestamp
ended bool
decrypted bool
packet_count uint32
auth_packet_count uint32
gtk string Group Temportal Key, available if decrypted

ICMP

Field Type Label Description
type ICMP.Type
code uint32

ICMPv6

Field Type Label Description
type ICMPv6.Type
code uint32
checksum uint32

IP

Field Type Label Description
source_address string
destination_address string
ttl uint32
protocol uint32
total_length uint32
payload bytes
next_protocol Protocol Next protocol
icmp ICMP
tcp TCP
udp UDP

IPv6

Field Type Label Description
source_address string
destination_address string
hop_limit uint32
next_header uint32
payload_length uint32
payload bytes
next_protocol Protocol Next protocol
icmpv6 ICMPv6
tcp TCP
udp UDP

LogEntry

Field Type Label Description
timestamp google.protobuf.Timestamp
level LogEntry.LogLevel
scope string
payload string

NetworkInterfaceListResponse

Field Type Label Description
ifaces string repeated

Packet

Field Type Label Description
capture_time google.protobuf.Timestamp
src string MAC address of the sender
dst string MAC address of the destnation
protocol Protocol Protocol of the message
raw Raw
arp ARP
icmp ICMP
icmpv6 ICMPv6
dns DNS
dhcp DHCP
dhcpv6 DHCPv6
ip IP
ipv6 IPv6
tcp TCP
udp UDP

Raw

Field Type Label Description
payload bytes

Recording

Field Type Label Description
uuid string
display_name string
filename string
datalink DataLinkType

RecordingCreateRequest

Field Type Label Description
sniffer_uuid string
name string
raw bool If this recording is supposed to be in raw form

RecordingCreateResponse

Field Type Label Description
uuid string
packet_count uint32

RecordingListRequest

Field Type Label Description
allowed_types DataLinkType repeated

RecordingListResponse

Field Type Label Description
recordings Recording repeated

RecordingLoadDecryptedRequest

Field Type Label Description
uuid string
include_payload bool

SnifferCreateRequest

Field Type Label Description
is_file_based bool
net_iface_name string
recording_uuid string

SnifferID

Field Type Label Description
sniffer_uuid string

SnifferInfo

Field Type Label Description
uuid string
is_file_based bool
net_iface_name string
filename string

SnifferListResponse

List many sniffers

Field Type Label Description
sniffers SnifferInfo repeated

TCP

Field Type Label Description
source_port uint32
destination_port uint32
sequence_number uint32
acknowledgment_number uint32
window_size uint32
syn bool
ack bool
fin bool

UDP

Field Type Label Description
source_port uint32
destination_port uint32
next_protocol Protocol
dns DNS
dhcp DHCP
dhcpv6 DHCPv6

WiFiStandardInfo

Field Type Label Description
std WiFiStandard
single_beamformer_support bool
single_beamformee_support bool
multi_beamformer_support bool
multi_beamformee_support bool
mcs_supported_idx uint32 repeated
modulation_supported Modulation repeated
spatial_streams_supported uint32 repeated
channel_widths_supported ChannelWidth repeated

APProvidePasswordResponse.DecryptionState

Name Number Description
DECRYPTED 0 Decryption successful, valid pairwise keys generated
NOT_ENOUGH_DATA 1 Not enough key messages have been discovered to
INCORRECT_PASSWORD 2 verify password validity

Password proven to be incorred, failed to | | ALREADY_DECRYPTED | 3 | generate pairwise keys from key messages |

ChannelWidth

Name Number Description
CHAN20 0
CHAN40 1
CHAN80 2
CHAN80_80 3
CHAN160 4

DataLinkType

Name Number Description
UNKNOWN 0
RADIOTAP 1
RAW80211 2
ETH2 3

ICMP.Type

Name Number Description
ECHO_REPLY 0
DESTINATION_UNREACHABLE 3
ECHO_REQUEST 8
TIME_EXCEEDED 11
OTHER 12

ICMPv6.Type

Name Number Description
NONE 0
ECHO_REQUEST 128
ECHO_REPLY 129
DESTINATION_UNREACHABLE 1
PACKET_TOO_BIG 2
TIME_EXCEEDED 3
PARAMETER_PROBLEM 4
NEIGHBOR_SOLICITATION 135
NEIGHBOR_ADVERTISEMENT 136

LogEntry.LogLevel

Name Number Description
TRACE 0
DEBUG 1
INFO 2
WARN 3
ERR 4
CRITICAL 5

Modulation

Name Number Description
CCK 0
BPSK 1
QPSK 2
QAM16 3
QAM64 4
QAM256 5
QAM1024 6

NetworkSecurity

Name Number Description
OPEN 0
WEP 1
WPA 2
WPA2_Personal 3
WPA2_Enterprise 4
WPA3_Personal 5
WPA3_Enterprise 6

Protocol

Name Number Description
PROTO_RAW 0
PROTO_ARP 1
PROTO_ICMP 2
PROTO_ICMPv6 3
PROTO_DNS 4
PROTO_DHCP 5
PROTO_DHCPv6 6
PROTO_IP 7
PROTO_IPv6 8
PROTO_TCP 9
PROTO_UDP 10

WiFiStandard

Name Number Description
Dot11A 0
Dot11B 1
Dot11G 2
Dot11N 3
Dot11AC 4
Dot11AX 5

Sniffer

The Sniffer service is responsible capturing data from a file or a network interface card and relaying the data to clients.

Method Name Request Type Response Type Description
SnifferCreate SnifferCreateRequest SnifferID
SnifferDestroy SnifferID Empty
SnifferList Empty SnifferListResponse
AccessPointList SnifferID APListResponse
AccessPointGet APGetRequest APGetResponse
AccessPointProvidePassword APProvidePasswordRequest APProvidePasswordResponse
AccessPointGetDeryptedStream APGetDeryptedStreamRequest Packet stream
AccessPointDeauth APDeauthRequest Empty
AccessPointDeauthClient APDeauthClientRequest Empty
AccessPointGetHash APGetHashRequest APGetHashResponse
AccessPointIgnore APIgnoreRequest Empty
AccessPointListIgnored SnifferID APListResponse
AccessPointCreateRecording APCreateRecordingRequest APCreateRecordingResponse
FocusStart FocusStartRequest FocusStartResponse
FocusGetActive SnifferID FocusGetActiveResponse
FocusStop SnifferID Empty
RecordingCreate RecordingCreateRequest RecordingCreateResponse
RecordingList RecordingListRequest RecordingListResponse
RecordingLoadDecrypted RecordingLoadDecryptedRequest Packet stream
NetworkInterfaceList Empty NetworkInterfaceListResponse
LogGetStream Empty LogEntry stream
BatteryGetLevel Empty BatteryGetLevelResponse

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)