Skip to content
Snippets Groups Projects
Commit 68f26eb3 authored by Jason Eggleston's avatar Jason Eggleston
Browse files

add support for ignoring tcp sequence number and timestamp offset changes

In order to simulate delayed packets, there are occasions where responses
to those packets need to be ignored insofar as they modify relative sequence
numbers or timestamps. For example a retransmitted SYN or SYN-ACK might be delayed
until after the TCP session ends, but a combination of bugs on the client and server
might result in the session persisting as if it never ended.

inbound injected packet:  0.100034 S 0:0(0) win 65535 <mss 1460,nop,wscale 6,sackOK,TS val 100 ecr 0>
outbound sniffed packet:  0.100083 S. 3079308609:3079308609(0) ack 1 win 65535 <mss 1460,nop,wscale 4,sackOK,TS val 3206488061 ecr 100>
inbound injected packet:  0.150127 . 1:101(100) ack 3079308610 win 1031 <nop,nop,TS val 150 ecr 3206488061>
outbound sniffed packet:  0.150170 . 3079308610:3079308610(0) ack 101 win 12495 <nop,nop,TS val 3206488111 ecr 150>
outbound sniffed packet:  0.150192 P. 3079308610:3079309010(400) ack 101 win 12501 <nop,nop,TS val 3206488111 ecr 150>
inbound injected packet:  0.200251 . 101:101(0) ack 3079309010 win 1024 <nop,nop,TS val 200 ecr 3206488111>
inbound injected packet:  0.200271 F. 101:101(0) ack 3079309010 win 1031 <nop,nop,TS val 200 ecr 3206488111>
outbound sniffed packet:  0.200287 . 3079309010:3079309010(0) ack 102 win 12501 <nop,nop,TS val 3206488161 ecr 200>
outbound sniffed packet:  0.200324 F. 3079309010:3079309010(0) ack 102 win 12501 <nop,nop,TS val 3206488161 ecr 200>
inbound injected packet:  0.250354 . 102:102(0) ack 3079309011 win 1031 <nop,nop,TS val 250 ecr 3206488161>
inbound injected packet:  0.265380 S 0:0(0) win 65535 <mss 1460,nop,wscale 6,sackOK,TS val 100 ecr 0>
outbound sniffed packet:  0.265402 S. 3079308609:3079308609(0) ack 1 win 65535 <mss 1460,nop,wscale 4,sackOK,TS val 3118763918 ecr 100>
inbound injected packet:  0.300437 . 1:1(0) ack 3079308610 win 1031 <nop,nop,TS val 150 ecr 3206488061>
outbound sniffed packet:  0.300455 R 3079308610:3079308610(0) win 0

 0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
+0.000 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
+0.000 bind(3, ..., ...) = 0
+0.000 listen(3, 1) = 0
+0.100 < S  0:0(0) win 65535 <mss 1460,nop,wscale 6,sackOK,TS val 100 ecr 0>
+0.000 > S. 0:0(0) ack 1 win 65535 <mss 1460,nop,wscale 4,sackOK,TS val 200 ecr 100>
+0.050 < . 1:101(100) ack 1 win 1031 <nop, nop, TS val 150 ecr 200>
+0.000 accept(3, ..., ...) = 4
+0.000 read(4, ..., 100) = 100
+0.000 write(4, ..., 400) = 400
+0.000 > . 1:1(0) ack 101 win 12495 <nop, nop, TS val 250 ecr 150>
+0.000 > P. 1:401(400) ack 101 win 12501 <nop, nop, TS val 250 ecr 150>
+0.050 < . 101:101(0) ack 401 win 1024 <nop, nop, TS val 200 ecr 250>
+0.000 < F. 101:101(0) ack 401 win 1031 <nop, nop, TS val 200 ecr 250>
+0.000 > . 401:401(0) ack 102 win 12501 <nop, nop, TS val 300 ecr 200>
+0.000 close(4) = 0
+0.000 > F. 401:401(0) ack 102 win 12501 <nop, nop, TS val 300 ecr 200>
+0.050 < . 102:102(0) ack 402 win 1031 <nop, nop, TS val 250 ecr 300>
+0.015 < S  0:0(0) win 65535 <mss 1460,nop,wscale 6,sackOK,TS val 100 ecr 0!>
+0.000 > S. ...(0) ack 1 win 65535 <mss 1460,nop,wscale 4,sackOK,TS val ... ecr 100>
+0.035 < . 1:1(0) ack 1 win 1031 <nop, nop, TS val 150 ecr 200>
+0.000 > . 1:1(0) ack 1 win 12501 <nop, nop, TS val 200 ecr 150>
parent 7b5a7e4b
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment