golang で tcp syn ポート スキャナーを作成しようとしています。C バージョンで解決策を見つけました: http://www.binarytides.com/tcp-syn-portscan-in-c-with-linux-sockets/
goで実装したいのですが、golangで次のようなtcpヘッダーを送信するにはどうすればよいですか:
//TCP Header
tcph->source = htons ( source_port );
tcph->dest = htons (80);
tcph->seq = htonl(1105024978);
tcph->ack_seq = 0;
tcph->doff = sizeof(struct tcphdr) / 4; //Size of tcp header
tcph->fin=0;
tcph->syn=1;
tcph->rst=0;
tcph->psh=0;
tcph->ack=0;
tcph->urg=0;
tcph->window = htons ( 14600 ); // maximum allowed window size
tcph->check = 0; //if you set a checksum to zero, your kernel's IP stack should fill in the correct checksum during transmission
tcph->urg_ptr = 0;
syscall または cgo を使用する必要がありますか? 誰かが私を助けてくれたら本当にありがたいです。