Hello all,
(getting a bit crazy here)
PROBLEM:
- client 1 (behind router 1) requires to connect to client 2 (behind router 2)
- rendezvous server inbetween, having connections to both client 1 and 2
PROPOSED SOLUTION:
- connection from client 1 should be redirected to client 2
- client 1 informs server S about the request
- server S informs client 2 to connect
- client 1 AND 2 connect to S (ACK received)
- S reads ip/port/flag/sequence through rawsocket from both clients
- S swaps IP's, ports, flags and seq# to simulate 1 talking to 2, and vice versa
both clients receive SYN+ACK from other client, and the first arriving is used, the "slow" one dropped (like with simultaneous tcp open's...)
REAL PROBLEM:
I thought routers AND nic's would allow a new IP (aka server redirection) if the sequence was correct in the NAT... duh... not... RST is returned from both clients...
How do we get to the solution?
Jur
(getting a bit crazy here)
PROBLEM:
- client 1 (behind router 1) requires to connect to client 2 (behind router 2)
- rendezvous server inbetween, having connections to both client 1 and 2
PROPOSED SOLUTION:
- connection from client 1 should be redirected to client 2
- client 1 informs server S about the request
- server S informs client 2 to connect
- client 1 AND 2 connect to S (ACK received)
- S reads ip/port/flag/sequence through rawsocket from both clients
- S swaps IP's, ports, flags and seq# to simulate 1 talking to 2, and vice versa
both clients receive SYN+ACK from other client, and the first arriving is used, the "slow" one dropped (like with simultaneous tcp open's...)
REAL PROBLEM:
I thought routers AND nic's would allow a new IP (aka server redirection) if the sequence was correct in the NAT... duh... not... RST is returned from both clients...
How do we get to the solution?
Jur