本文原载于 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