pcap使用

1. pcap_lookupdev 没有找到device

因为需要root权限


2. tcpdump 抓不到 127.0.0.1的内容。

tcpdump   -i lo   port   4567

这里需要田间 interface lo(loopback): loopback就是本地虚拟循环的意思,默认tcpdump是不会到这下面找的。


3. 列出所有的device

-    32 void listAllDevice(){                                                                                             
|    33     char *dev,  errbuf[PCAP_ERRBUF_SIZE];                                                                         
|    34     pcap_if_t *alldevsp;        /* list of interfaces */                                                          
|    35                                                                                                                   
|    36     if (pcap_findalldevs (&alldevsp,  errbuf) < 0)                                                                
|-   37     {                                                                                                             
||   38         fprintf (stderr,  "%s",  errbuf);                                                                         
||   39         exit (1);                                                                                                 
||   40     }                                                                                                             
|    41     while (alldevsp != NULL)                                                                                      
|-   42     {                                                                                                             
||   43         printf ("%s\n",  alldevsp->name);                                                                         
||   44         alldevsp = alldevsp->next;                                                                                
||   45     }                                                                                                             
|    46 } 

4. pcap 调用loopback

dev = "lo";
pcap_open_live(dev,  BUFSIZ,  1,  1000,  errbuf);


你可能感兴趣的:(pcap使用)