ubuntu tcpdump 编译 安装

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

在安装成功后,接下来在使用该库编译或者执行编译之后的可执行文件时,或许还会遇到如下的问题:

  1. 编译时:比如,

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;问题就解决了。这个解决方法很难让我们想到,具体是什么原因,还待研究。

  1. 执行时:比如,

编译通过后生成可执行文件: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: %s\n",errbuf);
return(2);
}
printf("Device: %s\n",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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值