Hacker News new | ask | show | jobs
by cgjaro 4290 days ago
Yeah but in practice no browser does this. There is no system call on Linux or Windows to push data as part of the SYN packet. You would have to craft TCP/IP packets and their headers with a raw socket...
3 comments

Linux does support this for "TCP Fast Open" - the system call used is sendto() or sendmsg() with the MSG_FASTOPEN flag set, in place of the usual connect().
Even if you did do this, any server implementing SYN cookies would ignore the payload and require you to retransmit anyway.
IIRC, both the Linux and BSD socket implementations let you do this with a combination of a few sockopts.