Namespace to group everything related to network traffic. More...
Namespaces | |
BitTorrent | |
Detect and examine BitTorrent packets. | |
EPS_Conduits | |
Detect and examine EPS Conduits packets. | |
Flash | |
Detect and examine Flash packets. | |
FTP | |
Detect and examine plain text FTP packets. | |
GoogleTalk | |
Detect and examine Google Talk packets. | |
HTTP | |
Detect and examine HTTP packets. | |
ICMP | |
Detect and examine ICMP packets. | |
Name_Resolution | |
Detect and examine DNS packets. | |
NTP | |
Detect and examine UDP network time protocol packets. | |
Ping | |
Detect and examine ICMP ping packets. | |
QUIC | |
Detect and examine Google QUIC packets. | |
RFB | |
Detect and examine RFB packets, such as VNC. | |
SIP | |
Detect and examine SIP packets. | |
SPDY | |
Detect and examine SPDY packets. | |
SSH | |
Detect and examine SSH packets. | |
SVN | |
Detect and examine Subversion packets. | |
TLS | |
Detect and examine TLS packets. | |
UDP_Name_Resolution | |
Detect and examine UDP DNS packets. | |
Classes | |
class | Types |
A std::set<> of Traffic::Type. More... | |
Enumerations | |
enum | Type { Type::Unknown = 0, Type::StopAnalysis = 1, Type::FlowStart = 2, Type::FlowEnded = 3, Type::PortBased = 4, Type::Recovered = 5, Type::ARP = 70, Type::IP = 71, Type::IPv4 = 72, Type::IPv6 = 73, Type::TCP = 100, Type::UDP = 101, Type::ICMP = 102, Type::NameResolution = 1000, Type::HTTP = 1001, Type::SPDY = 1002, Type::PING = 1003, Type::SSH = 1004, Type::FTP = 1005, Type::FTPData = 1006, Type::GoogleTalk = 1007, Type::NTP = 1008, Type::EPSConduits = 1009, Type::SVN = 1010, Type::Flash = 1011, Type::FlashRTMP = 1012, Type::QUIC = 1013, Type::HTTPS = 1014, Type::RFB = 1015, Type::BitTorrent = 1016, Type::Bencode = 1017, Type::ICMPUnreachable = 1018, Type::TLS = 1019, Type::SIP = 1020 } |
Traffic can identify as several different things at once. More... | |
Functions | |
std::string | to_string (const Myra::Traffic::Type &t) |
Convert the type to a single-word text string. More... | |
std::string | to_string (const Types &types) |
Convert an entire Types container to a string. More... | |
bool | examine_first_packet (Flow &flow, const Myra::PktInfo &info) |
Function to do the very first packet analysis for Flow. More... | |
bool | examine_tcp_packet (Flow &flow, const Myra::PktInfo &info) |
Quickly examine a TCP packet for 3 key flags (SYN , FIN , and RST ). More... | |
bool | debug_unknown_packet (Flow &flow, const Myra::PktInfo &info) |
Log debugging information on unknown flow packets. More... | |
Namespace to group everything related to network traffic.
|
strong |
Traffic can identify as several different things at once.
These enum values are not mutually exclusive when traffic is examined.
The numeric ranges are split into 4 sections:
0
is meta information on the flow. 70
is layer 3 information on the flow. 100
is layer 4 information on the flow. 1000
is layer 7 information on the flow.If a new range is started, or an index is skipped, changes will also be required in Myra::DB::update_traffic_types().
Enumerator | |
---|---|
Unknown |
Traffic type is unknown. This is automatically set on all flows prior to packet examinations. |
StopAnalysis |
Do not perform any more packet analysis on the flow. |
FlowStart |
We've seen this flow from the very beginning (e.g.,
|
FlowEnded |
We've seen the end of this flow (e.g.,
|
PortBased |
Traffic was identified using purely port-based rules. |
Recovered |
Flow was recovered from database after a reboot or restart. |
ARP |
ARP packets.
|
IP |
IPv4 or IPv6 packets.
|
IPv4 |
IPv4 packets.
|
IPv6 |
IPv6 packets.
|
TCP |
TCP packets.
|
UDP |
UDP packets.
|
ICMP |
ICMP packets.
|
NameResolution |
DNS packets. |
HTTP |
HTTP packets.
|
SPDY |
SPDY packets.
|
PING |
ICMP ping packets.
|
SSH |
SSH packets.
|
FTP |
FTP packets.
|
FTPData |
FTP data packets.
|
GoogleTalk |
GoogleTalk packets.
|
NTP |
NTP packets.
|
EPSConduits |
EPS Conduits packets.
|
SVN |
Subversion packets.
|
Flash |
Flash packets.
|
FlashRTMP |
Flash RTMP packets. |
QUIC |
Google QUIC packets.
|
HTTPS |
HTTPS packets.
|
RFB |
RFB packets.
|
BitTorrent |
BitTorrent packets.
|
Bencode |
Bencode packets. |
ICMPUnreachable |
Dst unreachable. |
TLS |
TLS packets.
|
SIP |
SIP packets.
|
bool Myra::Traffic::debug_unknown_packet | ( | Flow & | flow, |
const Myra::PktInfo & | info | ||
) |
Log debugging information on unknown flow packets.
bool Myra::Traffic::examine_first_packet | ( | Flow & | flow, |
const Myra::PktInfo & | info | ||
) |
Function to do the very first packet analysis for Flow.
bool Myra::Traffic::examine_tcp_packet | ( | Flow & | flow, |
const Myra::PktInfo & | info | ||
) |
Quickly examine a TCP packet for 3 key flags (SYN
, FIN
, and RST
).
|
inline |
Convert the type to a single-word text string.
|
inline |
Convert an entire Types container to a string.
For example, this could return FlowStart+IP+IPv4+TCP+HTTP
.