Skip to content
API Documentation
BastionGuard™
Connection.hpp
Go to the documentation of this file.
1#pragma once
3#include <chrono>
4#include <cstdint>
5#include <string>
6
7namespace bsc::model {
8
9struct Connection {
10 std::string protocol;
11 std::string src_ip;
12 std::uint32_t src_port{0};
13 std::string dst_ip;
14 std::string dst_host;
15 std::uint32_t dst_port{0};
16 std::uint32_t user_id{0xffffffffu}; // 0 e' un UID valido (root), usiamo -1 come &quot;non impostato&quot;
17 std::uint32_t process_id{0};
18 std::string process_path;
19 std::string process_comm; // nome kernel (/proc/<pid>/comm) - sorgente primaria del nome
20 std::string process_cwd;
21 std::vector<std::string> process_args;
22 std::map<std::string, std::string> process_env;
23 std::map<std::string, std::string> process_checksums;
24 std::vector<std::pair<std::string, std::uint32_t>> process_tree;
25 std::chrono::system_clock::time_point seen_at{std::chrono::system_clock::now()};
26
27 [[nodiscard]] std::string key() const;
28};
29
30} // namespace bsc::model
std::vector< std::pair< std::string, std::uint32_t > > process_tree
std::uint32_t process_id
std::chrono::system_clock::time_point seen_at
std::vector< std::string > process_args
std::uint32_t dst_port
std::uint32_t src_port
std::map< std::string, std::string > process_checksums
std::map< std::string, std::string > process_env
std::string key() const
Definition Connection.cpp:6
std::uint32_t user_id