Ubuntu16.04 install libpcap安装和测试

1.官网下载安装包:

http://www.tcpdump.org/#latest-release

2.开始配置

cd libpcap-1.9.0
./configure

报错1:configure: error: Neither flex nor lex was found.
解决1:sudo apt-get install flex

报错2:configure: error: yacc is insufficient to compile libpcap.
libpcap requires Bison, a newer version of Berkeley YACC with support
解决2: sudo apt-get install -y byacc

make
sudo make install

3.创建链接

报错3:虽然可以成功编译文件,但是在运行的时候却提示
1.cpp:(.text+0x43):对‘pcap_lookupdev’未定义的引用
解决3:这是因为libpcap.so.1默认安装到了/usr/local/lib下,我们做一个符号链接到/usr/lib/下即可。

sudo ln -s /usr/local/lib/libpcap.so.1 /usr/lib/libpcap.so.1

4.测试

#include 
#include 
 
int main()
{
  char errBuf[PCAP_ERRBUF_SIZE], * device;
  
  device = pcap_lookupdev(errBuf);
  
  if(device)
  {
    printf("success: device: %s\n", device);
  }
  else
  {
    printf("error: %s\n", errBuf);
  }
  
  return 0;
}

输入以下代码:

g++ test.c -o test -lpcap

5.效果

在这里插入图片描述

你可能感兴趣的:(Ubuntu)