mirror of
https://github.com/ValdikSS/GoodbyeDPI.git
synced 2024-11-25 11:30:11 +01:00
Handle ip.id up to 0xF.
Some DPI send several TCP RST or HTTP redirection packets with increasing IP ID number. Handle them all.
This commit is contained in:
parent
490525387d
commit
bb8fc64f18
@ -48,7 +48,7 @@ Use `goodbyedpi.exe -4` if it works for your ISP's DPI. This is the fastest mode
|
|||||||
|
|
||||||
### Passive DPI
|
### Passive DPI
|
||||||
|
|
||||||
Most Passive DPI send HTTP 302 Redirect if you try to access blocked website over HTTP and TCP Reset in case of HTTPS, faster than destination website. Packets sent by DPI always have IP Identification field equal to `0x0000` or `0x0001`, as seen with Russian providers. These packets, if they redirect you to another website (censorship page), are blocked by GoodbyeDPI.
|
Most Passive DPI send HTTP 302 Redirect if you try to access blocked website over HTTP and TCP Reset in case of HTTPS, faster than destination website. Packets sent by DPI usually have IP Identification field equal to `0x0000` or `0x0001`, as seen with Russian providers. These packets, if they redirect you to another website (censorship page), are blocked by GoodbyeDPI.
|
||||||
|
|
||||||
### Active DPI
|
### Active DPI
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@ static struct option long_options[] = {
|
|||||||
static char *filter_string = NULL;
|
static char *filter_string = NULL;
|
||||||
static char *filter_string_template = "(ip and tcp and "
|
static char *filter_string_template = "(ip and tcp and "
|
||||||
"(inbound and (("
|
"(inbound and (("
|
||||||
"((ip.Id == 0x0001 or ip.Id == 0x0000) and tcp.SrcPort == 80 and tcp.Ack) or "
|
"((ip.Id <= 0xF or ip.Id >= 0x0) and tcp.SrcPort == 80 and tcp.Ack) or "
|
||||||
"((tcp.SrcPort == 80 or tcp.SrcPort == 443) and tcp.Ack and tcp.Syn)"
|
"((tcp.SrcPort == 80 or tcp.SrcPort == 443) and tcp.Ack and tcp.Syn)"
|
||||||
") and " DIVERT_NO_LOCALNETS_SRC ") or "
|
") and " DIVERT_NO_LOCALNETS_SRC ") or "
|
||||||
"(outbound and "
|
"(outbound and "
|
||||||
@ -470,7 +470,7 @@ int main(int argc, char *argv[]) {
|
|||||||
/* IPv4 filter for inbound RST packets with ID = 0 or 1 */
|
/* IPv4 filter for inbound RST packets with ID = 0 or 1 */
|
||||||
filters[filter_num] = init(
|
filters[filter_num] = init(
|
||||||
"inbound and ip and tcp and "
|
"inbound and ip and tcp and "
|
||||||
"(ip.Id == 0x0001 or ip.Id == 0x0000) and "
|
"(ip.Id <= 0xF or ip.Id >= 0x0) 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_LOCALNETS_SRC,
|
DIVERT_NO_LOCALNETS_SRC,
|
||||||
WINDIVERT_FLAG_DROP);
|
WINDIVERT_FLAG_DROP);
|
||||||
|
Loading…
Reference in New Issue
Block a user