я (думаю, я) использую необработанную розетку в Linux. Код ниже. Однако в Wireshark он показывает порт назначения как 443 для моего исходящего пакета. Я думал, что это просто отправит то, что было дано. < /P>
Создать сокет: < /p>
sock = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
< /code>
для отправки: < /p>
int n = sendto(sock, (char *)frame, len, 0, (const struct sockaddr*)&sadr_ll, sizeof(struct sockaddr_ll));
< /code>
и получить: < /p>
int n = recvfrom(m_sock, &recv_buffer[0], recv_buffer.size(), 0, &saddr,(socklen_t *)&saddr_len);
Подробнее здесь: https://stackoverflow.com/questions/797 ... being-sent