2017-06-08 22 views
14

Potrzebuję tcpdump binarny dla android-x86. Oto co zrobiłem:Kompilacja krzyżowa - tcpdump dla x86

sudo apt-get install gcc-i686-linux-android 
sudo apt-get install byacc 
sudo apt-get install flex 

wget http://www.tcpdump.org/release/tcpdump-4.9.0.tar.gz 
wget http://www.tcpdump.org/release/libpcap-1.8.1.tar.gz 

tar zxvf tcpdump-4.9.0.tar.gz 
tar zxvf libpcap-1.8.1.tar.gz 

cd libpcap-1.8.1 
export CC=gcc 
./configure --host=i686-pc-linux-gnu --with-pcap=linux 
make 
cd .. 

cd tcpdump-4.9.0 
export ac_cv_linux_vers=3 
export CFLAGS=-static 
export CPPFLAGS=-static 
export LDFLAGS=-static 
./configure --host=i686-pc-linux-gnu --disable-ipv6 

ale gdy uruchamiam ostatnie polecenie, otrzymuję następujący błąd:

configure: WARNING: unrecognized options: --disable-ipv6 
checking build system type... x86_64-unknown-linux-gnu 
checking host system type... i686-pc-linux-gnu 
checking for i686-pc-linux-gnu-gcc... gcc 
checking whether the C compiler works... yes 
checking for C compiler default output file name... a.out 
checking for suffix of executables... 
checking whether we are cross compiling... no 
checking for suffix of object files... o 
checking whether we are using the GNU C compiler... yes 
checking whether gcc accepts -g... yes 
checking for gcc option to accept ISO C89... none needed 
checking whether the compiler supports the -ffloat-store option... yes 
checking for inline... inline 
checking for __attribute__... yes 
checking whether __attribute__((unused)) can be used without warnings... yes 
checking whether __attribute__((noreturn)) can be applied to function pointers without warnings... yes 
checking whether __attribute__((format)) can be used without warnings... yes 
checking whether __attribute__((format)) can be applied to function pointers... yes 
checking how to run the C preprocessor... gcc -E 
checking for grep that handles long lines and -e... /bin/grep 
checking for egrep... /bin/grep -E 
checking for ANSI C header files... yes 
checking for sys/types.h... yes 
checking for sys/stat.h... yes 
checking for stdlib.h... yes 
checking for string.h... yes 
checking for memory.h... yes 
checking for strings.h... yes 
checking for inttypes.h... yes 
checking for stdint.h... yes 
checking for unistd.h... yes 
checking fcntl.h usability... yes 
checking fcntl.h presence... yes 
checking for fcntl.h... yes 
checking rpc/rpc.h usability... yes 
checking rpc/rpc.h presence... yes 
checking for rpc/rpc.h... yes 
checking rpc/rpcent.h usability... no 
checking rpc/rpcent.h presence... no 
checking for rpc/rpcent.h... no 
checking netdnet/dnetdb.h usability... no 
checking netdnet/dnetdb.h presence... no 
checking for netdnet/dnetdb.h... no 
checking for net/pfvar.h... no 
checking for netinet/if_ether.h... yes 
checking whether time.h and sys/time.h may both be included... yes 
checking smi.h usability... no 
checking smi.h presence... no 
checking for smi.h... no 
checking whether to enable the possibly-buggy SMB printer... yes 
configure: WARNING: The SMB printer may have exploitable buffer overflows!!! 
checking whether to drop root privileges by default... no 
checking whether to chroot... no 
checking for cap_enter... no 
checking for cap_rights_limit... no 
checking for cap_ioctls_limit... no 
checking for openat... yes 
checking whether to sandbox using capsicum... no 
checking for library containing gethostbyname... none required 
checking for library containing socket... none required 
checking for library containing putmsg... none required 
checking whether the operating system supports IPv6... yes 
checking ipv6 stack type... linux-glibc 
checking for dnet_htoa declaration in netdnet/dnetdb.h... no 
checking for vfprintf... yes 
checking for strlcat... no 
checking for strlcpy... no 
checking for strdup... yes 
checking for strsep... yes 
checking for getopt_long... yes 
checking for fork... yes 
checking for vfork... yes 
checking for strftime... yes 
checking for setlinebuf... yes 
checking for alarm... yes 
checking for vsnprintf... yes 
checking for snprintf... yes 
checking return type of signal handlers... void 
checking for sigaction... yes 
checking for library containing dnet_htoa... no 
checking for main in -lrpc... no 
checking for library containing getrpcbynumber... none required 
checking for local pcap library... ../libpcap-1.8.1/libpcap.a 
checking for pcap-config... ../libpcap-1.8.1/pcap-config 
checking for pcap_loop... no 
configure: error: Report this to [email protected], and include the config.log file in your report. If you have downloaded libpcap from 
tcpdump.org, and built it yourself, please also include the config.log 
file from the libpcap source directory, the Makefile from the libpcap 
source directory, and the output of the make process for libpcap, as 
this could be a problem with the libpcap that was built, and we will 
not be able to determine why this is happening, and thus will not be 
able to fix it, without that information, as we have not been able to 
reproduce this problem ourselves. 

mógłby ktoś mi pomóc w tworzeniu tcpdump binarne dla android-x86.

+0

http://www.androidtcpdump.com/android-tcpdump/compile – nandsito

+0

Skrypt link jest dla 'arm', muszę obserwować tą [LINK] (http://blog.csdn.net/yang1982_0907/article/details/45601705), które kompilują dla 'android-x86'. Są w większości takie same, z niewielkimi różnicami – user3806649

Odpowiedz

5

Alternatywnie można zbudować tcpdump przy użyciu NDK przy użyciu tego skryptu build-android-tcpdump.

Kroki:

  1. Install NDK: NDK download

  2. Pobierz build-android-tcpdump i po prostu uruchomić:

    sh build-android-tcpdump -n "/PATH/TO/NDK" -t 4.9.0 -l 1.8.1

To wszystko będzie budować tcpdump dla wszystkich Androida domyślnie łuki, w w tym x86.

[email protected]_x86:/data/local/tmp # uname -srm         
Linux 3.10.0+ i686 

[email protected]_x86:/data/local/tmp # ./tcpdump -h        
tcpdump version 4.9.0 
libpcap version 1.8.1 
Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] 
     [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ] 
     [ -i interface ] [ -j tstamptype ] [ -M secret ] [ --number ] 
     [ -Q in|out|inout ] 
     [ -r file ] [ -s snaplen ] [ --time-stamp-precision precision ] 
     [ --immediate-mode ] [ -T type ] [ --version ] [ -V file ] 
     [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z postrotate-command ] 
     [ -Z user ] [ expression ] 
Powiązane problemy