#include <Connection.hpp>
Public Member Functions | |
| std::string | key () const |
Public Attributes | |
| std::string | protocol |
| std::string | src_ip |
| std::uint32_t | src_port {0} |
| std::string | dst_ip |
| std::string | dst_host |
| std::uint32_t | dst_port {0} |
| std::uint32_t | user_id {0xffffffffu} |
| std::uint32_t | process_id {0} |
| std::string | process_path |
| std::string | process_comm |
| std::string | process_cwd |
| std::vector< std::string > | process_args |
| std::map< std::string, std::string > | process_env |
| std::map< std::string, std::string > | process_checksums |
| std::vector< std::pair< std::string, std::uint32_t > > | process_tree |
| std::chrono::system_clock::time_point | seen_at {std::chrono::system_clock::now()} |
Definition at line 9 of file Connection.hpp.
|
nodiscard |
Definition at line 6 of file Connection.cpp.
References dst_ip, dst_port, process_id, process_path, protocol, src_ip, and src_port.
Referenced by bsc::service::DaemonService::remember_connection().
| std::string bsc::model::Connection::dst_host |
Definition at line 14 of file Connection.hpp.
Referenced by bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::decide_connection(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), bsc::service::DaemonService::persist_learned_rule(), bsc::stats::Statistics::record(), and bsc::service::DaemonService::verdict_key().
| std::string bsc::model::Connection::dst_ip |
Definition at line 13 of file Connection.hpp.
Referenced by bsc::net::anonymous_namespace{SocketSnapshot.cpp}::append_rows(), bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::decide_connection(), bsc::net::anonymous_namespace{SocketSnapshot.cpp}::ebpf_flow_cache_store(), bsc::net::SocketSnapshot::enrich_connection(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::ebpf::event_to_connection(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), bsc::net::anonymous_namespace{SocketSnapshot.cpp}::find_inode_for_flow(), key(), bsc::service::DaemonService::persist_learned_rule(), bsc::stats::Statistics::record(), bsc::net::anonymous_namespace{SocketSnapshot.cpp}::same_flow(), and bsc::service::DaemonService::verdict_key().
| std::uint32_t bsc::model::Connection::dst_port {0} |
Definition at line 15 of file Connection.hpp.
Referenced by bsc::net::anonymous_namespace{SocketSnapshot.cpp}::append_rows(), bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::decide_connection(), bsc::net::anonymous_namespace{SocketSnapshot.cpp}::ebpf_flow_cache_store(), bsc::net::SocketSnapshot::enrich_connection(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::ebpf::event_to_connection(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), bsc::net::anonymous_namespace{SocketSnapshot.cpp}::find_inode_for_flow(), key(), bsc::service::DaemonService::persist_learned_rule(), bsc::stats::Statistics::record(), bsc::net::anonymous_namespace{SocketSnapshot.cpp}::same_flow(), and bsc::service::DaemonService::verdict_key().
| std::vector<std::string> bsc::model::Connection::process_args |
Definition at line 21 of file Connection.hpp.
Referenced by bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), and bsc::service::anonymous_namespace{DaemonService.cpp}::merge_process_info().
| std::map<std::string, std::string> bsc::model::Connection::process_checksums |
Definition at line 23 of file Connection.hpp.
Referenced by bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), and bsc::service::anonymous_namespace{DaemonService.cpp}::merge_process_info().
| std::string bsc::model::Connection::process_comm |
Definition at line 19 of file Connection.hpp.
Referenced by bsc::net::anonymous_namespace{SocketSnapshot.cpp}::append_rows(), bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::decide_connection(), bsc::net::SocketSnapshot::enrich_connection(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::service::DaemonService::enrich_from_recent_processes(), bsc::ebpf::event_to_connection(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), bsc::service::anonymous_namespace{DaemonService.cpp}::has_process_identity(), bsc::service::anonymous_namespace{DaemonService.cpp}::merge_process_info(), bsc::service::DaemonService::persist_learned_rule(), and bsc::service::DaemonService::verdict_key().
| std::string bsc::model::Connection::process_cwd |
Definition at line 20 of file Connection.hpp.
Referenced by bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), and bsc::service::anonymous_namespace{DaemonService.cpp}::merge_process_info().
| std::map<std::string, std::string> bsc::model::Connection::process_env |
Definition at line 22 of file Connection.hpp.
Referenced by bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), and bsc::service::anonymous_namespace{DaemonService.cpp}::merge_process_info().
| std::uint32_t bsc::model::Connection::process_id {0} |
Definition at line 17 of file Connection.hpp.
Referenced by bsc::net::anonymous_namespace{SocketSnapshot.cpp}::append_rows(), bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::decide_connection(), bsc::net::SocketSnapshot::enrich_connection(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::service::DaemonService::enrich_from_recent_processes(), bsc::ebpf::event_to_connection(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), bsc::service::anonymous_namespace{DaemonService.cpp}::has_process_identity(), key(), bsc::service::anonymous_namespace{DaemonService.cpp}::merge_process_info(), bsc::service::DaemonService::persist_learned_rule(), bsc::service::DaemonService::remember_connection(), and bsc::service::DaemonService::verdict_key().
| std::string bsc::model::Connection::process_path |
Definition at line 18 of file Connection.hpp.
Referenced by bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::decide_connection(), bsc::net::SocketSnapshot::enrich_connection(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::service::DaemonService::enrich_from_recent_processes(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), bsc::service::anonymous_namespace{DaemonService.cpp}::has_process_identity(), key(), bsc::service::anonymous_namespace{DaemonService.cpp}::merge_process_info(), bsc::service::DaemonService::persist_learned_rule(), bsc::stats::Statistics::record(), bsc::service::DaemonService::remember_connection(), and bsc::service::DaemonService::verdict_key().
| std::vector<std::pair<std::string, std::uint32_t> > bsc::model::Connection::process_tree |
Definition at line 24 of file Connection.hpp.
Referenced by bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), and bsc::service::anonymous_namespace{DaemonService.cpp}::merge_process_info().
| std::string bsc::model::Connection::protocol |
Definition at line 10 of file Connection.hpp.
Referenced by bsc::net::anonymous_namespace{SocketSnapshot.cpp}::append_rows(), bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::decide_connection(), bsc::net::SocketSnapshot::enrich_connection(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::ebpf::event_to_connection(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), bsc::net::anonymous_namespace{SocketSnapshot.cpp}::find_inode_for_flow(), key(), bsc::stats::Statistics::record(), and bsc::net::anonymous_namespace{SocketSnapshot.cpp}::same_flow().
| std::chrono::system_clock::time_point bsc::model::Connection::seen_at {std::chrono::system_clock::now()} |
Definition at line 25 of file Connection.hpp.
Referenced by bsc::ebpf::event_to_connection().
| std::string bsc::model::Connection::src_ip |
Definition at line 11 of file Connection.hpp.
Referenced by bsc::net::anonymous_namespace{SocketSnapshot.cpp}::append_rows(), bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::net::anonymous_namespace{SocketSnapshot.cpp}::ebpf_flow_cache_store(), bsc::net::SocketSnapshot::enrich_connection(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::ebpf::event_to_connection(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), bsc::net::anonymous_namespace{SocketSnapshot.cpp}::find_inode_for_flow(), key(), and bsc::net::anonymous_namespace{SocketSnapshot.cpp}::same_flow().
| std::uint32_t bsc::model::Connection::src_port {0} |
Definition at line 12 of file Connection.hpp.
Referenced by bsc::net::anonymous_namespace{SocketSnapshot.cpp}::append_rows(), bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::net::anonymous_namespace{SocketSnapshot.cpp}::ebpf_flow_cache_store(), bsc::net::SocketSnapshot::enrich_connection(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::ebpf::event_to_connection(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), bsc::net::anonymous_namespace{SocketSnapshot.cpp}::find_inode_for_flow(), key(), and bsc::net::anonymous_namespace{SocketSnapshot.cpp}::same_flow().
| std::uint32_t bsc::model::Connection::user_id {0xffffffffu} |
Definition at line 16 of file Connection.hpp.
Referenced by bsc::net::anonymous_namespace{SocketSnapshot.cpp}::append_rows(), bsc::ui::anonymous_namespace{UIClient.cpp}::connection_to_json(), bsc::service::DaemonService::decide_connection(), bsc::net::SocketSnapshot::enrich_connection(), bsc::service::DaemonService::enrich_from_recent_flows(), bsc::service::DaemonService::enrich_from_recent_processes(), bsc::ebpf::event_to_connection(), bsc::rule::anonymous_namespace{Rule.cpp}::field_values(), bsc::service::anonymous_namespace{DaemonService.cpp}::merge_process_info(), bsc::stats::Statistics::record(), bsc::service::DaemonService::remember_connection(), and bsc::service::DaemonService::run().