`
tcspecial
  • 浏览: 897384 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

libpcap 交叉编译

阅读更多

本文研究在openwrt的路由器(基于ARM架构)上用libpcap采集数据包。

 

一. 安装ARM交叉编译环境

下载openwrt源码,编译时勾取 Build OpenWrt Toolchain。编译过程参见:http://tcspecial.iteye.com/blog/2280873 

 

二. 下载源码

libpcap只有同一套源码,支持嵌入式编译,没有单独的嵌入式版本。

wget http://www.tcpdump.org/release/libpcap-1.4.0.tar.gz
tar -xzvf libpcap-1.4.0.tar.gz 
cd libpcap-1.4.0

 

三. 编译libpcap

3.1 设置交叉编译环境

因为libpcap是运行在路由器上的,因此要用arm-openwrt-linux-gcc 工具来编译。

#armenv.sh
Workdir=~/openwrt-arm
export STAGING_DIR=${Workdir}/bin
export PATH=${Workdir}/bin:$PATH
 
export CROSS_COMPILE=arm-openwrt-linux-
export CROSS_PREFIX=arm-openwrt-linux-
export CC=${CROSS_PREFIX}gcc
export STRIP=${CROSS_PREFIX}strip
export AR=${CROSS_PREFIX}ar
export RANLIB=${CROSS_PREFIX}ranlib
export OBJCOPY=${CROSS_PREFIX}objcopy

  

source ~/mipsenv.sh 
./configure --prefix=/home/ubuntu/libpcap-arm --host=arm-openwrt-linux

    注:MIPS平台,指定 --host=mips-openwrt-linux

 

出错提示:

configure: error: pcap type not determined when cross-compiling; use --with-pcap=...

 

方法一:添加--with-pcap参数,指定采集类型

./configure --prefix=/home/ubuntu/libpcap-arm --host=arm-openwrt-linux --with-pcap=linux

  

方法二:注释该段代码

Line 7210

vi configure

#if test -z "$with_pcap" && test "$cross_compiling" = yes; then
#       { { echo "$as_me:$LINENO: error: pcap type not determined when cross-compiling; use --with-pcap=..." >&5
#echo "$as_me: error: pcap type not determined when cross-compiling; use --with-pcap=..." >&2;}
  { (exit 1); exit 1; }; }
#fi

  

make && make install 

 

四. 测试

 

 

  • 大小: 15.2 KB
分享到:
评论

相关推荐

    libpcap交叉编译

    网上看到的,略做了修改,试过了。在每一步介绍了要用到的软件,相应去下载或找我要都行

    snort-2.9.0.5+daq+libdnet+libpcap+pcre

    基于linux的snort源码,以及所有需要的相关服务,一次下完,安装无忧!注:安装步骤上百度,一搜就有。

    libpcap_1.0.0-2_ar71xx.ipk

    libpcap_1.0.0-2_ar71xx.ipk 你使用路由器进行交叉编译和上网时候,使用mentohust需要用的的库

    libpcap6410网络数据原始数据包

    libcap6410交叉编译测试代码可以获取当前完整数据包..相关资料可以到本人博客查看.

    libpcap1_1.9.1-2_mips_24kc.ipk

    已经交叉编译好的libpcap的ipk包,适用于OpenWrt路由器。 Package architecture:mips_24kc,自己在Target:ar71xx-ath79,Device:Netgear WNDR3700v2(WNDR3800)上测试通过,其他类似路由器硬件应该也可以使用。 ...

    gxgk-zte:[DEPRECATED]旧版莞香客户端源码,加linux版本

    gxgk-zte ...老的客户端源代码搬迁 yzx老师把源代码寄放在Google代码上,但是Google代码大部分人已经访问不了了,我就把其搬迁到... 编译方法之一:下载openwrt并编译或用sdk,利用openwrt的gcc交叉编译(设置环境变量)

    海思平台tcpdump

    海思arm-hisiv300-linux- 交叉编译 tcpdump libpcap-1.8.1.tar.gz tcpdump-4.9.0 tcpdump-4.9.0.tar.gz 字数补丁

    安霸tcpdump

    安霸arm-linux-gnueabihf- 交叉编译 tcpdump libpcap-1.8.1.tar.gz tcpdump-4.9.0 tcpdump-4.9.0.tar.gz 字数补丁

    EasyDrcom 哈工大(威海) 校园客户端 802.1x 协议

    哈工大威海某大神写的客户端认证端源码,锐捷公司的,802.1x协议和UDP协议认证,屌的一批,非常具有参考价值,并且可以交叉编译进openwrt路由器。使用了boost库和libpcap和libpthread。

    mentohust_0.3.1-1_mips_24kc.ipk

    已经交叉编译好的mentohust 0.3.1的ipk包,适用于OpenWrt路由器的锐捷认证(802.1x)。 Package architecture:mips_24kc 自己在Target:ar71xx-ath79,Device:Netgear WNDR3700v2(WNDR3800)上测试通过,其他类似...

Global site tag (gtag.js) - Google Analytics