Что я хочу сделать: Реализация протокола уровня 2 в пространстве пользователя.
Так что я использую pcap под Linux 2.6.32 для перехвата пакетов:
...
struct pcap_t *pcap_h = pcap_open_live("wlan0", BUFSIZ, 1, 0, errbuf);
...
while (1) {
int ret = pcap_loop(pcap_h, -1, newpkt_callback, NULL);
...
}
...
, который прекрасно работает для всех пакетов. Но когда я использую pcap для отправки пакетов без ether_head и без IP-заголовка:
const char pkt[] = "WHATEVER";
nsent = pcap_sendpacket(pcap_h, (const u_char *)pkt, len);
...
Я могу только прослушать пакет на локальном хосте, а не на других ноутбуках, на которых установлена та же программа. Итак, вопрос «как я могу транслировать сообщения без ether_head на wlan»? Любые указатели будут оценены.