LibNet прочитал ответ ARP?

Можно ли читать ответы ARP с помощью Libnet? Я специально ищу кроссплатформенную библиотеку для чтения сокетов ARP, написанных на C/C++, написанных на C/C++ ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​


person Giovanni Berti    schedule 27.09.2014    source источник


Ответы (1)


libnet — это библиотека для построения и внедрения переносимых пакетов. Потребление и декапсуляция должны быть сделаны в другом месте. Я предлагаю libtrace или libpcap, чтобы помочь с этим бизнесом.

libnet в первую очередь полезен, если вы хотите создавать и внедрять пакеты ARP. Чтобы увидеть, как это делается, посмотрите некоторый пример кода ARP. Кроме того, после того, как пакеты перехвачены из сети/эфира/файла, libnet может быть полезен для своего справочника определений переносимых заголовков пакетов. В вашем случае вам стоит взглянуть на struct libnet_arp_hdr. Вы можете преобразовать захваченный пакет в заголовок ARP, выполнив что-то вроде:

    ...
    struct libnet_arp_hdr *arp_h;

    buf = capturepacket();
    ...
    arp_h = (struct libnet_arp_hdr *)buf + LIBNET_ETH_H;
    ...
    switch (arp_h->ar_op)
    {
        case ARPOP_REQUEST:
            ...
person Mike Schiffman    schedule 29.09.2014