本文原載於 cyz14.farbox.com 2016-06-19的博客 。
——–以下爲原文——
安裝libpcap
initcwnd_check.pl是運行在Linux下的。首先需要 pcap.h 等文件,需要從 www.tcpdump.org 下載最新的 libpcap 安裝包,
例如 libpcap-1.7.4.tar.gz,如果不夠就再下載安裝 tcpdump-x.x.x.tar.gz.
首先需要安裝 flex 和 bison:
sudo apt-get install flex bison
然後安裝 libpcap 和 tcpdump:
tar -zxvf libpcap-1.7.4.tar.gz
cd libpcap-1.7.4/
./configure
make
sudo make install
tcpdump 安裝方法同上。
複製libpcap-1.4.0/pcap到/usr/include(假設libpcap-1.4.0在home下)
cp -rf /home/libpcap-1.4.0/pcap /usr/include
一個問題的解決
運行會出現問題:
error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory
查找libpcap.so.1
whereis libpcap.so.1
libpcap.so: /usr/local/lib/libpcap.so /usr/local/lib/libpcap.so.1
是存在的,但是程序默認查找的是/usr/lib/下
解決辦法很多,列舉一種,該方法可以解決類似的多種問題,一勞永逸。
打開 /etc 目錄下的文件ld.so.conf ,添加兩行
/usr/local/lib
/usr/lib
然後在終端下執行從新加載配置的命令:
sudo ldconfig
測試
tcpdump -i eth0
安裝Perl的依賴Module
安裝perl的 Module 依賴包可以選擇 cpanminus
sudo apt-get install cpanminus
Net::Pcap 需要安裝 libpcap-dev
sudo apt-get install libpcap-dev
之後使用 cpanminus 安裝各個包
cpanm install Net::RawIP
cpanm install Net::Pcap
cpanm install NetPacket::Ethernet
cpanm install NetPacket::IP
cpanm install NetPacket::TCP
cpanm install Socket
cpanm install POSIX
中間如果某個包安裝失敗可以根據建議加上 –force 選項:
cpanm install NetPacket::Ethernet --force
但是運行 initcwnd_check.pl 時還是提示 Net::Pcap 沒有安裝,在 Ubuntu 下可以:
sudo apt-get install libnet-pcap-perl
其他Linux版本可以通過以下命令安裝:
sudo yum install perl-Net-Pcap
參考
Ubuntu下安裝libpcap
http://blog.163.com/lifuliang207@126/blog/static/12726353120131022283250/Ubuntu下安裝Perl的Net::Pcap
http://askubuntu.com/questions/673150/perl-netpcap-installation-on-ubuntuCan’t install Net::Pcap 解決
http://stackoverflow.com/questions/22318522/cant-install-netpcap-module