交叉编译tcpdump使其能在mips上运行-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 752954
  • 博文数量: 144
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1150
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-17 14:32
个人简介

小公司研发总监,既当司令也当兵!

文章分类

全部博文(144)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: linux

2015-06-16 15:14:12

在mips上开发,有时候需要抓包分析问题,但系统通常不会自带如tcpdump等高级工具。本文讲述在开发过程中,将tcpdump交叉编译为mips适用的工具,能够在开发板上抓包。本文内容是亲自试验记录,供参考。


1. 叉编译环境
   这个主要是用到了mips-linux-cc,mips-linux-ar , mips-linux-ld 这三个交叉编译的工具,如果没有就去网上下一个,我是用的我们公司的sdk的toolchain。将它加到系统环境变量:在home目录下的中.profile文件尾部添加:

点击(此处)折叠或打开

  1. if [ -d "/home/khls/iworkspace/xxxproject/build/gcc-4.3.3/build_mips/staging_dir/usr/bin" ] ; then
  2.     path="/home/khls/iworkspace/xxxproject/build/gcc-4.3.3/build_mips/staging_dir/usr/bin:$path"
  3. fi

2. 准备源代码
    到tcpdump官方网站上抓取最新的 libpcap-1.2.1.tar.gz  ,tcpdump-4.5.1.tar.gz ,放到同一个目录下。或者使用apt-get source tcpdump;apt-get source libpcap下载最新源码。

3. 编译
    (1) 首先编译libpcap-1.2.1.tar.gz,这个是tcpdump 用到的一些库。解压libpcap-1.2.1.tar.gz,并且改configure中 ac_cv_linux_vers的值,这个是我们要跑的 mips linux的版本。将unknow改成2.6.31 (该值根据你mips平台具体内核版本来设定)。

点击(此处)折叠或打开

    ./configure --host=mips-linux --with-pcap=linux

    这一步我们要指定用的地方是mips linux。
    

点击(此处)折叠或打开

    make

     在当前目录中就可以查看到编译出来的libpcap.a文件。



    (2) 到tcpdump-4.5.1目录中,我们开始编译tcpdump。首先改configure中 ac_cv_linux_vers的值,这个是我们要跑的 mips linux的版本。然后执行configrue:

点击(此处)折叠或打开

  1. ./configure --host=mips-linux
    之后执行make即可。
    如果,make时出现libpcap头文件包含错误(一般只要两个源码在同一目录,不会出现头文件错误),根据出错信息自行修改makefile中头文件路径后再编译。另外,如果交叉编译工具链没有export到环境变量中,也可能出现头文件包含有问题,包含到/usr/include目录下了,正常是要使用交叉编译环境的include。把incls里/usr/include替换为对应交叉编译的include,把defs的/usr、include去掉:

点击(此处)折叠或打开

  1. incls = -i. -i./../libpcap-1.1.1 -i/usr/local/mips/4.3.3/build/gcc-4.3.3/build_mips/staging_dir/usr/lib/gcc/mips-linux-uclibc/4.3.3/include -i$(srcdir)/missing
  2. defs = -dhave_config_h -i./../libpcap-1.1.1 -i$(srcdir)/missing -d_u_="__attribute__((unused))"
    make成功后,在当前路径下就有可执行二进制文件tcpdump

4. 上传
    使用tftp或scp将编译好的文件上传到开发板,即可使用。
阅读(7039) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图