Разместить объявление
Vibix - надеждый видео-балансир
Rukassa - надёжная платёжная система для сайтов и телеграм ботов
VIPAdmin / PREMIUM / cod / Network.c (Сохранение всего трафика в файл .log для дальнейшего анализа) Думаю подойдет и пригодится кому-то

Network.c (Сохранение всего трафика в файл .log для дальнейшего анализа) Думаю подойдет и пригодится кому-то




#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netinet/udp.h>
#include <netinet/ip_icmp.h>
#include <net/ethernet.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <time.h>
#define BUFFER_SIZE 65536
void process_packet(unsigned char* buffer, int size, FILE* log_file) {
struct ethhdr* ethernet_header = (struct ethhdr*)buffer;
struct iphdr* ip_header = (struct iphdr*)(buffer + sizeof(struct ethhdr));
if (ip_header->protocol == IPPROTO_TCP) {
struct tcphdr* tcp_header = (struct tcphdr*)(buffer + sizeof(struct ethhdr) + sizeof(struct iphdr));
fprintf(log_file, "TCP Packet: %s:%d -> %s:%d\n", inet_ntoa(*(struct in_addr*)&ip_header->saddr),
ntohs(tcp_header->source), inet_ntoa(*(struct in_addr*)&ip_header->daddr),
ntohs(tcp_header->dest));
} else if (ip_header->protocol == IPPROTO_UDP) {
struct udphdr* udp_header = (struct udphdr*)(buffer + sizeof(struct ethhdr) + sizeof(struct iphdr));
fprintf(log_file, "UDP Packet: %s:%d -> %s:%d\n", inet_ntoa(*(struct in_addr*)&ip_header->saddr),
ntohs(udp_header->source), inet_ntoa(*(struct in_addr*)&ip_header->daddr),
ntohs(udp_header->dest));
}
}
int main() {
int raw_socket;
unsigned char* buffer = (unsigned char*)malloc(BUFFER_SIZE);
raw_socket = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
if (raw_socket < 0) {
perror("Failed to create socket");
return -1;
}
time_t current_time = time(NULL);
struct tm* time_info = localtime(&current_time);
char filename[20];
strftime(filename, sizeof(filename), "%Y_%m_%d_%H_%M_%S.log", time_info);
FILE* log_file = fopen(filename, "a");
if (!log_file) {
perror("Failed to open log file");
return -1;
}
while (1) {
struct sockaddr sa;
int sa_len = sizeof(sa);
int data_size = recvfrom(raw_socket, buffer, BUFFER_SIZE, 0, &sa, (socklen_t*)&sa_len);
if (data_size < 0) {
perror("Failed to receive");
return -1;
}
process_packet(buffer, data_size, log_file);
}
fclose(log_file);
free(buffer);
close(raw_socket);
return 0;
}

Network.c (Сохранение всего трафика в файл .log для дальнейшего анализа) Думаю подойдет и пригодится кому-то

10-04-2024, 08:00 .zip

Скачать

Автор: cod

Дата: 10.04.2024 08:00

Просмотров: 3

Оцените статью:

0 0

Партнерки

Обзор RollerAds: умная пуш-сеть с инновационными инструментами
Обзор RollerAds: умная пуш-сеть с инновационными инструментами
-1
Перейти
Huffson Group: премиальная CPA-сеть для iGaming
Huffson Group: премиальная CPA-сеть для iGaming
-0.5
Перейти

Еще немного интересного

Арбитраж трафика / Мануалы / Статьи Установка трекера Keitaro
Арбитраж трафика / Мануалы / Статьи / Трекеры / Клоака Как установить трекер Keitaro на сервер Beget: Пошаговое руководство
Сервисы / Парсинг A-PARSER - парсер сайтов № 1
Сервисы / Сервера и хостинги Хостинг PrivateAlps (Игнорирует DMCA)
Сервисы / Платёжные системы Merchant001- надежный эквайринг для сайта
Статьи Дорвеи 2023-2024
Арбитраж трафика / Статьи Арбитраж трафика на пуш уведомлениях
Статьи / Софт / Антидетект Браузеры Лучшие антидетект браузеры
Сервисы / Трекеры / Клоака / Арбитраж трафика Keitaro PRO - Трекер для арбитража трафика
Хостинг / Скрипты сайтов / Статьи Как настроить работу почты
Хостинг / Скрипты сайтов / Статьи Урок доступ mysql с любого ip
Хостинг / Скрипты сайтов / Статьи Как сделать моментальную установку сервера? HOSTINPL
Хостинг / Статьи Exim (Восстановление по e-mail)
Скрипты сайтов / Статьи JavaScript - Меняем CSS

Отзывы (0)




To connect permitted only files with the extension: .tpl or .php To connect permitted only files with the extension: .tpl or .php