dsniff 交叉编译


tcpkill 是dsniff里面的一个模块,dsniff是一个基于unix系统网络嗅探工具,所以需要交叉编译dsniff。

dsniff官网:http://www.monkey.org/~dugsong/dsniff
dsniff github:https://github.com/ggreer/dsniff

编译安装dsniff需要先安装相应的依赖库,github上的介绍:

./configure \
  --with-libpcap=/usr/local/opt/libpcap \
  --with-openssl=/usr/local/opt/openssl \
  --with-libnet=/usr/local/opt/libnet \
  --with-libnids=/usr/local/opt/libnids \
  --without-x

需要编译依赖libpcap、openssl、libnet、libnids

      Berkeley DB - http://www.sleepycat.com/
      OpenSSL - http://www.openssl.org/
      libpcap - http://www.tcpdump.org/
      libnids - http://www.packetfactory.net/Projects/Libnids/
      libnet - http://www.packetfactory.net/Projects/Libnet/

本次使用的版本如下:
    dsniff-2.3
    db-4.7.25
    openssl-0.9.7i
    libpcap-0.7.2
    Libnet-1.0.2a
    libnids-1.18

因为有些库版本比较老了,所以先安装了libtool

sudo apt-get install libtool
cp /home/book/work_file/tool/libpcap-1.10.1/config.sub .
cp /home/book/work_file/tool/libpcap-1.10.1/config.guess .


db-4.7.25编译

解压
    mkdir berkeley_db
    cp db-4.7.25.tar.gz berkeley_db/
    cd berkeley_db
    tar -xvf db-4.7.25.tar.gz

配置:
    cd db-4.7.25/dist/
    sudo cp /home/book/work_file/tool/libpcap-1.10.1/config.sub .
    sudo cp /home/book/work_file/tool/libpcap-1.10.1/config.guess .
    cd ../../

    ./db-4.7.25/dist/configure --enable-compat185 --host=mips-linux-uclibc-gnu --prefix=$(pwd)/output \
    CC=mips-linux-uclibc-gnu-gcc CXX=mips-linux-uclibc-gnu-g++

编译:
    make

安装:
    make install
    cd output
    cp include/db_185.h .
    cp lib/libdb.a .
   

openssl 0.9.7i编译

解压:
    tar -xvf openssl-0.9.7i.tar.gz
配置:
    ./Configure --prefix=$(pwd)/output no-asm no-shared os/compiler:mips-linux-uclibc-gnu-gcc no-async no-shared
    make depend

修改Makefile:
    AR=mips-linux-uclibc-gnu-ar cr
    RANLIB= mips-linux-uclibc-gnu-ranlib
编译:    
    make
安装:
    make install

libpcap-0.7.2编译

解压:
    tar -xvf libpcap-0.7.2.tar.gz
配置:
    ./configure --host=mips-linux-uclibc-gnu --prefix=$(pwd)/output
修改Makefile
    CC = mips-linux-uclibc-gnu-gcc
    RANLIB = mips-linux-uclibc-gnu-ranlib
    AR= mips-linux-uclibc-gnu-ar
    ar 改成$(AR)    
修改pcap-int.h
    添加#include <string.h>
编译:    
    make
安装:
    make install
    cd /output/
    cp ./lib/libpcap.a .
    cp ./include/pcap.h .
    cp -r include/net/ .

Libnet-1.0.2a编译


解压:
    tar -xvf libnet-1.0.2a.tar.gz
配置:
    sudo cp /home/book/work_file/tool/libpcap-1.10.1/config.sub .
    sudo cp /home/book/work_file/tool/libpcap-1.10.1/config.guess .
    ./configure --prefix=$(pwd)/output --host=mips-linux-uclibc-gnu 
    
修改Makefile
    CC = mips-linux-uclibc-gnu-gcc
    RANLIB = mips-linux-uclibc-gnu-ranlib
    AR=     mips-linux-uclibc-gnu-ar
    install:libnet 改成install:
编译:    
    make
安装:
    sudo make install
    cd output
    cp ./include/libnet.h .
    cp ./lib/libnet.a .
    cp libnet-config output/

    
libnids-1.18编译


解压:
    tar -xvf libnids-1.18.tar.gz
配置:
    sudo cp /home/book/work_file/tool/libpcap-1.10.1/config.sub .
    sudo cp /home/book/work_file/tool/libpcap-1.10.1/config.guess .
    
    ./configure  --prefix=$(pwd)/output --host=mips-linux-uclibc-gnu --with-libpcap=/home/book/work_file/dsniff/libpcap-0.7.2/output --with-libnet=/home/book/work_file/dsniff/Libnet-1.0.2a/output
    cd src/ 修改Makefile
    AR=mips-linux-uclibc-gnu-ar
    $(AR)
    CFLAGS 加入-fgnu89-inline //解决内联报错
编译:    
    make
安装:
    make install
    


dsniff-2.3编译


解压:
    tar -xvf dsniff-2.3.tar.gz
配置:
    sudo cp /home/book/work_file/tool/libpcap-1.10.1/config.sub .
    sudo cp /home/book/work_file/tool/libpcap-1.10.1/config.guess .
    
    ./configure --prefix=$(pwd)/output CC=mips-linux-uclibc-gnu-gcc --host=mips-linux-uclibc-gnu \
    --with-db=/home/book/work_file/dsniff/berkeley_db/output --with-libpcap=/home/book/work_file/dsniff/libpcap-0.7.2/output \
    --with-libnet=/home/book/work_file/dsniff/Libnet-1.0.2a/output --with-openssl=/home/book/work_file/dsniff/openssl-0.9.7i/output \
    --with-libnids=/home/book/work_file/dsniff/libnids-1.18/output --enable-FEATURE=no --with-PACKAGE=no

修改Makefile
    CC = mips-linux-uclibc-gnu-gcc
    RANLIB = mips-linux-uclibc-gnu-ranlib
    AR = mips-linux-uclibc-gnu-ar    
    屏蔽-lrpcsvc,避免报错
修改
    arpspoof.c 加入#include <net/ethernet.h>
    decode_yp.c    
    //#include <rpcsvc/yp_prot.h>    
    //#include <rpcsvc/yppasswd.h>
    屏蔽掉报错代码,github 备注该代码实际未验证

编译:    
    make
安装:
    make install

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值