Skip to content

Commit f736209

Browse files
committed
New modes: -8 and -9
-8 is -7 with added --wrong-seq, it sends two subsequent fake packets, one with incorrect sequence, and another one with incorrect checksum. -9 is -8 with QUIC block.
1 parent f1aece7 commit f736209

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

README.md

+4
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ Modern modesets (more stable, more compatible, faster):
8181
-5 -f 2 -e 2 --auto-ttl --reverse-frag --max-payload (this is the default)
8282
-6 -f 2 -e 2 --wrong-seq --reverse-frag --max-payload
8383
-7 -f 2 -e 2 --wrong-chksum --reverse-frag --max-payload
84+
-8 -f 2 -e 2 --wrong-seq --wrong-chksum --reverse-frag --max-payload
85+
-9 -f 2 -e 2 --wrong-seq --wrong-chksum --reverse-frag --max-payload -q
86+
87+
Note: combination of --wrong-seq and --wrong-chksum generates two different fake packets.
8488
```
8589

8690
To check if your ISP's DPI could be circumvented, first make sure that your provider does not poison DNS answers by enabling "Secure DNS (DNS over HTTPS)" option in your browser.

src/goodbyedpi.c

+10-1
Original file line numberDiff line numberDiff line change
@@ -648,7 +648,7 @@ int main(int argc, char *argv[]) {
648648
max_payload_size = 1200;
649649
}
650650

651-
while ((opt = getopt_long(argc, argv, "1234567pqrsaf:e:mwk:n", long_options, NULL)) != -1) {
651+
while ((opt = getopt_long(argc, argv, "123456789pqrsaf:e:mwk:n", long_options, NULL)) != -1) {
652652
switch (opt) {
653653
case '1':
654654
do_passivedpi = do_host = do_host_removespace \
@@ -689,6 +689,12 @@ int main(int argc, char *argv[]) {
689689
do_wrong_seq = 1;
690690
max_payload_size = 1200;
691691
break;
692+
case '9': // +7+8
693+
do_block_quic = 1;
694+
// fall through
695+
case '8': // +7
696+
do_wrong_seq = 1;
697+
// fall through
692698
case '7':
693699
do_fragment_http = do_fragment_https = 1;
694700
do_reverse_frag = do_native_frag = 1;
@@ -961,6 +967,9 @@ int main(int argc, char *argv[]) {
961967
" -5 -f 2 -e 2 --auto-ttl --reverse-frag --max-payload (this is the default)\n"
962968
" -6 -f 2 -e 2 --wrong-seq --reverse-frag --max-payload\n"
963969
" -7 -f 2 -e 2 --wrong-chksum --reverse-frag --max-payload\n"
970+
" -8 -f 2 -e 2 --wrong-seq --wrong-chksum --reverse-frag --max-payload\n"
971+
" -9 -f 2 -e 2 --wrong-seq --wrong-chksum --reverse-frag --max-payload -q\n\n"
972+
"Note: combination of --wrong-seq and --wrong-chksum generates two different fake packets.\n"
964973
);
965974
exit(EXIT_FAILURE);
966975
}

0 commit comments

Comments
 (0)