现在的位置: 首页 > 综合 > 正文

pcap基础(二)

2013年05月04日 ⁄ 综合 ⁄ 共 1064字 ⁄ 字号 评论关闭

#include <stdio.h>
#include <pcap.h>

int main()
{
        pcap_if_t * alldevs;
        pcap_if_t *d;
        int *tstamps = NULL;
        int i = 0;
        const char* tstamp_type_name ;
        char errbuf[PCAP_ERRBUF_SIZE] = {0};

        if(-1 == pcap_findalldevs(&alldevs, errbuf)){
                printf("Error in pcap_findalldevs: %s\n", errbuf);
                return -1;
        }
        for (d = alldevs; d != NULL; d = d->next ){
                pcap_t *pHandle = pcap_open_live(d->name, 65535, 0, 1000, NULL);
                int n_tstamp_types = pcap_list_tstamp_types(pHandle, &tstamps);
                for (i = 0; i < n_tstamp_types; i++){
                        tstamp_type_name = pcap_tstamp_type_val_to_name(tstamps[i]);
                        printf("%s:\t%s\n", d->name, tstamp_type_name);
                }
                pcap_free_tstamp_types(tstamps);
                pcap_close(pHandle);
        }
        pcap_freealldevs(alldevs);
        return 0;

}

===================================================================================================================================

root@ubuntu:/home/jason/Desktop# ./a.out
eth0:   host
eth0:   adapter
eth0:   adapter_unsynced
any:    host
any:    adapter
any:    adapter_unsynced
lo:     host
lo:     adapter
lo:     adapter_unsynced

抱歉!评论已关闭.