under raw sock we may negotiate size of tcp window size tcph->window = htonl(65535); //ukuran window indikasi berapa banyak data as we already know below is the struct of tcp header: ==================== tcph->source = htons(1337);//source port kita tcph->seq = random(); //nomor sequence untuk nomor urut dari data pada oktet pertama pada segmen tcp tcph->ack_seq = 0; //ack sequence tcph->res2 = 0; //reserved kita set 0 tcph->doff = 0x5; // indikasi data dalam tcp segmen tcph->syn = 1; //jika syn kita set flag syn =1 // or tcph->flag tcph->window = htonl(65535); //ukuran window indikasi berapa banyak data tcph->check = 0;//ceksum untuk mengecek integritas segmen tcp tcph->urg_ptr = 0;//pointer menunjukkan lokasi data yg dianggap urgen ===================== it's better disable tcp window scaling, u may disable it : echo 0 > /proc/sys/net/ipv4/tcp_window_scaling dont forget to prepare the ip header before prepare the tcp header