Code:
#include <stdio.h>
typedef unsigned char uchar;
int main() {
uchar packet[102] = {'\xFF', '\xFF', '\xFF', '\xFF', '\xFF', '\xFF'};
uchar mac[6] = {0, 0, '\xAA', '\xBB', '\xCC', '\xDD'};
// construct packet
for (int i = 0; i < 16; ++i)
for (int j = 0; j < 6; ++j)
packet[i * 6 + j + 6] = mac[j];
// display on terminal
for (int i = 0; i < 17; ++i) {
for (int j = 0; j < 6; ++j)
printf("%02X ", packet[i * 6 + j]);
putchar('\n');
}
// write to binary file
FILE *fout = fopen("packet.bin", "wb");
fwrite(packet, 1, 102, fout);
fclose(fout);
return 0;
}