mirror of
https://github.com/h3xduck/TripleCross.git
synced 2025-12-25 02:43:07 +08:00
63 lines
1.4 KiB
C
63 lines
1.4 KiB
C
#ifndef HEADER_RAWTCP_LIB
|
|
#define HEADER_RAWTCP_LIB
|
|
|
|
#include <stdlib.h>
|
|
|
|
//Packet_t and stream_t structures
|
|
typedef struct packet_t{
|
|
struct iphdr *ipheader;
|
|
struct tcphdr *tcpheader;
|
|
char *payload;
|
|
int payload_length;
|
|
char* packet;
|
|
}packet_t;
|
|
|
|
typedef struct stream_t{
|
|
packet_t* packet_stream;
|
|
int stream_length;
|
|
}stream_t;
|
|
|
|
typedef enum{
|
|
TYPE_TCP_SEQ_RAW,
|
|
TYPE_TCP_ACK_RAW,
|
|
TYPE_TCP_SRC_PORT
|
|
}stream_inject_type_t;
|
|
|
|
//PacketForger headers
|
|
packet_t build_standard_packet(
|
|
u_int16_t source_port,
|
|
u_int16_t destination_port,
|
|
const char* source_ip_address,
|
|
const char* destination_ip_address,
|
|
u_int32_t packet_length,
|
|
char* payload
|
|
);
|
|
|
|
stream_t build_standard_packet_stream_empty_payload(
|
|
int stream_length,
|
|
u_int16_t source_port,
|
|
u_int16_t destination_port,
|
|
const char* source_ip_address,
|
|
const char* destination_ip_address
|
|
);
|
|
|
|
stream_t stream_inject(stream_t stream, stream_inject_type_t type, char* payload, int payload_length);
|
|
|
|
int packet_destroy(packet_t packet);
|
|
|
|
void stream_destroy(stream_t stream);
|
|
|
|
int set_TCP_flags(packet_t packet, int hex_flags);
|
|
|
|
int set_TCP_seq_num(packet_t packet, u_int32_t bytes);
|
|
|
|
int set_TCP_src_port(packet_t packet, u_int16_t bytes);
|
|
|
|
//SocketManager headers
|
|
int rawsocket_send(packet_t packet);
|
|
|
|
packet_t rawsocket_sniff();
|
|
|
|
packet_t rawsocket_sniff_pattern(char* payload_pattern);
|
|
|
|
#endif |