概述
ubuntu tcpdump 编译
Ubuntu下libpcap安装步骤
<黑客大追踪++网络取证核心原理与实践(美)大卫杜夫,(美)汉姆著.pdf>
https://www.cnblogs.com/flyinggod/p/9322267.html
http://www.tcpdump.org/
http://www.tcpdump.org/pcap.html
在Ubuntu 14.04 64位上使用libpcap进行抓包和解包
https://blog.csdn.net/tao_627/article/details/26335537
tar -zxvf tcpdump-4.8.1.tar.gz
因为要在linux测试一个http协议伪装的需要,使用到了linux下的wireshark抓包软件–Tcpdump。具体的安装过程如下:
1.网上下载获得libpcap和tcpdump
http://www.tcpdump.org/
参考文献
[1].http://www.tcpdump.org/pcap.html
1
./configure
make
sudo make install
2
tcpdump-4.8.1.tar.gz
libpcap-1.8.1/
libpcap-1.8.1.tar.gz
3
第三步,安装 flex
1
sudo apt-get install flex
第四步:安装 bison
1
sudo apt-get install bison
sudo apt-get install m4
sudo apt-get install flex bison
kk
4.安装libpcap。
tcpdump的使用必须有这库。
tar xvfz libpcap-1.2.1.tar.gz //解压
进入解压之后的文件目录 运行./configure //生成makefile文件
make //进行编译
make install //安装 库文件默认安装在目录 /usr/lib,头文件默认安装在 /usr/include
3.安装tcpdump
tar xvfz tcpdump.4.2.1.tar.gz //解压
进入解压之后的文件目录 运行./configure //生成makefile文件
make //进行编译
make install //安装 库文件默认安装在目录 /usr/lib,头文件默认安装在 /usr/include
测试是否成功安装:命令行输入 tcpdump有网络信息显示!!
可能遇到的问题:
1.#tcpdump
#tcpdump: no suitable device found
原因:网络监听需要root权限,切换到root用户下就可以正常使用了
1111
在安装成功后,接下来在使用该库编译或者执行编译之后的可执行文件时,或许还会遇到如下的问题:
- 编译时:比如,
gcc packet.o -lpcap -lpthread /* -lpcap是用于调用libpcap库的,所以不要忘了添加上。*/
/usr/local/lib/libpcap.so: undefined reference to `pcap_parse’
collect2: ld returned 1 exit status
对于这样的错误信息,首先确认一下是否安装了libpcap-dev,如果没有可以先安装一下:sudo apt-get install libpcap-dev;我尝试了一下安装这个以后问题并没有解决,但是我不确定下面的方法是不是和这一步有关系,我是先尝试这个方案,最后不行。
然后下面的解决的办法确实让人很难想到:重新安装libpcap库。进入解压后的库目录里,首先make clean,然后再从新安装一遍:1. ./configure;2. make;3. make install;问题就解决了。这个解决方法很难让我们想到,具体是什么原因,还待研究。
- 执行时:比如,
编译通过后生成可执行文件:a.out,然后再终端里执行:sudo ./a.out,出现如下错误信息:
error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory
解决办法是:将/usr/lib/libpcap.so库文件改一下名字,改成libpcap.so.1就可以了。当然也可以为libpcap.so.1建一个软连接:ln -s /usr/lib/libpcap.so /usr/lib/libpcap.so.1;这样问题就解决了。
222
5.编译libpcap
以上4步安装好了。就到www.tcpdump.org/ 下载libpcap的最新版。然后解压文件,进入到该目录。用ls命令也能发现有个可执行文件configure,然后依次执行命令:
./confugure
(sudo)make
(sudo)make install.
这样,libcap就编译安装好了
6,把libcap目录中的pcap文件夹到 /usr/include 下。并且到 /usr/lib/ 把libpcap.so.1.1.1文件 重命名为:libpcap.so.1
用个例子测试下:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pcap/pcap.h>
int main(int argc,char *argv[]){
char *dev, errbuf[PCAP_ERRBUF_SIZE];
dev=pcap_lookupdev(errbuf);
if(dev==NULL){
fprintf(stderr,"couldn't find default device: %sn",errbuf);
return(2);
}
printf("Device: %sn",dev);
return(0);
}
存为test.c。用命令:gcc test.c -o test -lpcap 编译。运行此类程序时需要以root的身份运行,因为系统不允许非root用户进行一些网络操作。所以,运行命令为:(sudo)./test …
运行结果:Device: eth0
555
Programming with Libpcap - Sniffing the network from our own application
http://www.programming-pcap.aldabaknocking.com/
Let’s learn tcpdump!
https://wizardzines.com/zines/tcpdump/
libpcap-tutorial.pdf
libpcapHakin9LuisMartinGarcia.pdf
最后
以上就是能干摩托为你收集整理的ubuntu tcpdump 编译 安装的全部内容,希望文章能够帮你解决ubuntu tcpdump 编译 安装所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复