Myra Canyon  v0.0.1-768
network control
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Name_Resolution.hpp File Reference

Name_Resolution is used to detect and examine DNS packets. More...

#include "Types.hpp"
Include dependency graph for Name_Resolution.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  Myra::Traffic::Name_Resolution::Header
 This is only the first part of the DNS packet. More...
 
struct  Myra::Traffic::Name_Resolution::ResourceRecord
 RFC 1035 section 4.1.3. More...
 

Namespaces

 Myra
 Namespace declaration for all of the Myra Canyon helper functions.
 
 Myra::Traffic
 Namespace to group everything related to network traffic.
 
 Myra::Traffic::Name_Resolution
 Detect and examine DNS packets.
 

Enumerations

enum  Myra::Traffic::Name_Resolution::ResponseCode {
  Myra::Traffic::Name_Resolution::ResponseCode::NoError = 0,
  Myra::Traffic::Name_Resolution::ResponseCode::FormatError = 1,
  Myra::Traffic::Name_Resolution::ResponseCode::ServerFailure = 2,
  Myra::Traffic::Name_Resolution::ResponseCode::NameError = 3,
  Myra::Traffic::Name_Resolution::ResponseCode::NotImplemented = 4,
  Myra::Traffic::Name_Resolution::ResponseCode::Refused = 5
}
 

Functions

const Header * Myra::Traffic::Name_Resolution::get_header (const uint8_t *ptr)
 get the DNS header More...
 
uint16_t Myra::Traffic::Name_Resolution::number_of_questions (const Header *header)
 number of questions in a DNS query More...
 
uint16_t Myra::Traffic::Name_Resolution::number_of_answers (const Header *header)
 number of answers in a DNS reply More...
 
bool Myra::Traffic::Name_Resolution::is_QR_flag (const Header *header)
 true indicates a response, and false indicates a query More...
 
int Myra::Traffic::Name_Resolution::opcode (const Header *header)
 
bool Myra::Traffic::Name_Resolution::is_AA_flag (const Header *header)
 authoritative answer More...
 
bool Myra::Traffic::Name_Resolution::is_TC_flag (const Header *header)
 truncated message More...
 
bool Myra::Traffic::Name_Resolution::is_RD_flag (const Header *header)
 recursion desired More...
 
bool Myra::Traffic::Name_Resolution::is_RA_flag (const Header *header)
 recursion available More...
 
bool Myra::Traffic::Name_Resolution::is_R3_flag (const Header *header)
 reserved flag More...
 
bool Myra::Traffic::Name_Resolution::is_R2_flag (const Header *header)
 reserved flag More...
 
bool Myra::Traffic::Name_Resolution::is_R1_flag (const Header *header)
 reserved flag More...
 
int Myra::Traffic::Name_Resolution::response_code (const Header *header)
 response code More...
 
bool Myra::Traffic::Name_Resolution::is_query (const Header *header)
 
bool Myra::Traffic::Name_Resolution::is_response (const Header *header)
 
ResponseCode Myra::Traffic::Name_Resolution::get_response_code (const Header *header)
 
VStr Myra::Traffic::Name_Resolution::get_names (const Header *header)
 Extract all of the names from the DNS header. More...
 
void Myra::Traffic::Name_Resolution::get_names (const Header *header, Myra::HostLookupMap &m)
 Extract both names and addresses from a DNS reply. More...
 

Detailed Description

Name_Resolution is used to detect and examine DNS packets.

See also
UDP_Name_Resolution.hpp