2 ms·
Can confirm that it still works in 2025, and also via netcat. I wonder if it's also theoretically possible for a pair of clients to connect to each other like
by Retr0id 1y ago
Can confirm that it still works in 2025, and also via netcat.
I wonder if it's also theoretically possible for a pair of clients to connect to each other like this?
- bmenrigh 1y agoYeah a pair of clients can via “tcp simultaneous open” but you’ll need to arrange for each client to know about the source port of the other. So bypass the usual ephemeral port choice made by the OS. And it’s still highly sensitive to timing.
- LeoPanthera 1y agoThe tailscale client does this trick to force its way through NAT-to-NAT connections. "How NAT traversal works" - https://tailscale.com/blog/how-nat-traversal-works https://tailscale.com/blog/how-nat-traversal-works > "The benefits of birthdays"
- fenesiistvan 1y agoThe tailscale article is about UDP, but here we are talking about TCP.
- dilyevsky 1y ago> I wonder if it's also theoretically possible for a pair of clients to connect to each other like this? RFC793 actually specifically calls this out as one of the supported ways of two endpoints establishing a TCP connection[0]. The fact that it works on the same host via src port collision is just a happy accident. [0] - https://www.rfc-editor.org/rfc/rfc793.html#section-3.4 https://www.rfc-editor.org/rfc/rfc793.html#section-3.4