Возникла такая необходимость. В программе объявляется TCP socket- сервер , биндится, коннектится c удалённым клиентом. Нужно узнать его (удалённого клиента) физический адрес. Функция getpeername возвращает только IP адрес и порт. Есть ли ещё какие-то команды в системе, или нужно расковыривать ethernet-заголовки принятых пакетов?
Вопрос решился достаточно просто. Если кому такое интересно, есть в системе структура arp_table и функция arp_stats.