mirror of
https://github.com/ValdikSS/GoodbyeDPI.git
synced 2024-12-22 14:26:08 +00:00
Skip impostor and loopback packets. Fixes #53.
This commit is contained in:
parent
d6c2b825aa
commit
c4d0ba1297
@ -59,7 +59,7 @@ WINSOCK_API_LINKAGE INT WSAAPI inet_pton(INT Family, LPCSTR pStringBuf, PVOID pA
|
|||||||
/* #IPID# is a template to find&replace */
|
/* #IPID# is a template to find&replace */
|
||||||
#define IPID_TEMPLATE "#IPID#"
|
#define IPID_TEMPLATE "#IPID#"
|
||||||
#define FILTER_STRING_TEMPLATE \
|
#define FILTER_STRING_TEMPLATE \
|
||||||
"(tcp and " \
|
"(tcp and !impostor and !loopback and " \
|
||||||
"((inbound and (" \
|
"((inbound and (" \
|
||||||
"(" \
|
"(" \
|
||||||
"(" \
|
"(" \
|
||||||
@ -75,6 +75,7 @@ WINSOCK_API_LINKAGE INT WSAAPI inet_pton(INT Family, LPCSTR pStringBuf, PVOID pA
|
|||||||
"(" DIVERT_NO_LOCALNETSv4_DST " or " DIVERT_NO_LOCALNETSv6_DST "))" \
|
"(" DIVERT_NO_LOCALNETSv4_DST " or " DIVERT_NO_LOCALNETSv6_DST "))" \
|
||||||
"))"
|
"))"
|
||||||
#define FILTER_PASSIVE_STRING_TEMPLATE "inbound and ip and tcp and " \
|
#define FILTER_PASSIVE_STRING_TEMPLATE "inbound and ip and tcp and " \
|
||||||
|
"!impostor and !loopback and " \
|
||||||
"((ip.Id <= 0xF and ip.Id >= 0x0) " IPID_TEMPLATE ") and " \
|
"((ip.Id <= 0xF and ip.Id >= 0x0) " IPID_TEMPLATE ") and " \
|
||||||
"(tcp.SrcPort == 443 or tcp.SrcPort == 80) and tcp.Rst and " \
|
"(tcp.SrcPort == 443 or tcp.SrcPort == 80) and tcp.Rst and " \
|
||||||
DIVERT_NO_LOCALNETSv4_SRC
|
DIVERT_NO_LOCALNETSv4_SRC
|
||||||
@ -131,8 +132,10 @@ static char *filter_string = NULL;
|
|||||||
static char *filter_passive_string = NULL;
|
static char *filter_passive_string = NULL;
|
||||||
|
|
||||||
static void add_filter_str(int proto, int port) {
|
static void add_filter_str(int proto, int port) {
|
||||||
const char *udp = " or (udp and (udp.SrcPort == %d or udp.DstPort == %d))";
|
const char *udp = " or (udp and !impostor and !loopback and " \
|
||||||
const char *tcp = " or (tcp and (tcp.SrcPort == %d or tcp.DstPort == %d))";
|
"(udp.SrcPort == %d or udp.DstPort == %d))";
|
||||||
|
const char *tcp = " or (tcp and !impostor and !loopback and " \
|
||||||
|
"(tcp.SrcPort == %d or tcp.DstPort == %d))";
|
||||||
|
|
||||||
char *current_filter = filter_string;
|
char *current_filter = filter_string;
|
||||||
int new_filter_size = strlen(current_filter) +
|
int new_filter_size = strlen(current_filter) +
|
||||||
|
Loading…
Reference in New Issue
Block a user