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 <pcap.h>
#include <stdio.h>
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.效果
