mirror of
https://github.com/pavel-odintsov/fastnetmon.git
synced 2024-09-21 10:27:13 +00:00
Unified logic to serialise attack information
This commit is contained in:
parent
e791f3ad45
commit
85ad7810e3
@ -2451,3 +2451,17 @@ bool subnet_belongs_to_patricia_tree(patricia_tree_t* patricia_tree, const subne
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Prepares textual dump of simple packets buffer
|
||||||
|
void print_simple_packet_buffer_to_string(const boost::circular_buffer<simple_packet_t>& simple_packets_buffer, std::string& output) {
|
||||||
|
if (simple_packets_buffer.size() != 0) {
|
||||||
|
std::stringstream ss;
|
||||||
|
|
||||||
|
for (const simple_packet_t& packet : simple_packets_buffer) {
|
||||||
|
ss << print_simple_packet(packet);
|
||||||
|
}
|
||||||
|
|
||||||
|
output = ss.str();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
|
|
||||||
#include "attack_details.hpp"
|
#include "attack_details.hpp"
|
||||||
|
|
||||||
|
#include <boost/circular_buffer.hpp>
|
||||||
|
|
||||||
#define TCP_FIN_FLAG_SHIFT 1
|
#define TCP_FIN_FLAG_SHIFT 1
|
||||||
#define TCP_SYN_FLAG_SHIFT 2
|
#define TCP_SYN_FLAG_SHIFT 2
|
||||||
#define TCP_RST_FLAG_SHIFT 3
|
#define TCP_RST_FLAG_SHIFT 3
|
||||||
@ -166,3 +168,5 @@ std::string convert_any_subnet_to_string(const subnet_cidr_mask_t& subnet);
|
|||||||
std::string print_binary_string_as_hex_with_leading_0x(const uint8_t* data_ptr, uint32_t data_length);
|
std::string print_binary_string_as_hex_with_leading_0x(const uint8_t* data_ptr, uint32_t data_length);
|
||||||
bool read_ipv6_subnet_from_string(subnet_ipv6_cidr_mask_t& ipv6_address, const std::string& ipv6_subnet_as_string);
|
bool read_ipv6_subnet_from_string(subnet_ipv6_cidr_mask_t& ipv6_address, const std::string& ipv6_subnet_as_string);
|
||||||
bool subnet_belongs_to_patricia_tree(patricia_tree_t* patricia_tree, const subnet_cidr_mask_t& subnet);
|
bool subnet_belongs_to_patricia_tree(patricia_tree_t* patricia_tree, const subnet_cidr_mask_t& subnet);
|
||||||
|
// Prepares textual dump of simple packets buffer
|
||||||
|
void print_simple_packet_buffer_to_string(const boost::circular_buffer<simple_packet_t>& simple_packets_buffer, std::string& output);
|
||||||
|
@ -1267,18 +1267,8 @@ void call_blackhole_actions_per_host(attack_action_t attack_action,
|
|||||||
action_name = "unban";
|
action_name = "unban";
|
||||||
}
|
}
|
||||||
|
|
||||||
// For all attack types at this moment we could prepare simple packet dump
|
|
||||||
std::string simple_packets_dump;
|
std::string simple_packets_dump;
|
||||||
|
print_simple_packet_buffer_to_string(simple_packets_buffer, simple_packets_dump);
|
||||||
if (simple_packets_buffer.size() != 0) {
|
|
||||||
std::stringstream ss;
|
|
||||||
|
|
||||||
for (const simple_packet_t& packet : simple_packets_buffer) {
|
|
||||||
ss << print_simple_packet(packet);
|
|
||||||
}
|
|
||||||
|
|
||||||
simple_packets_dump = ss.str();
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string basic_attack_information_in_json =
|
std::string basic_attack_information_in_json =
|
||||||
get_attack_description_in_json_for_web_hooks(client_ip, subnet_ipv6_cidr_mask_t{}, false, action_name, current_attack);
|
get_attack_description_in_json_for_web_hooks(client_ip, subnet_ipv6_cidr_mask_t{}, false, action_name, current_attack);
|
||||||
|
Loading…
Reference in New Issue
Block a user