1. 程式人生 > >為Android-x86編譯tcpdump工具

為Android-x86編譯tcpdump工具

在谷歌和必應上搜索的Android-x86專用的tcpdump工具多半不能使用,它們基本上都是在ARM架構的安卓手機上使用的,而且版本都較為老舊。由於Android-x86的Linux核心是通用的32位Linux,那麼能否在常用的32位Linux發行版上直接使用32位的gcc編譯tcpdump,然後拷貝至Android-x86的模擬器中使用呢?答案是可以的! 一、環境說明 Linux虛擬主機:CentOS 6.6 i686 宿主機OS:Windows 7 SP1 宿主機IP:192.168.92.1 虛擬機器軟體:VMware Workstation 11.0 虛擬機器系統:Android-x86 4.4 r2 虛擬機器CPU:單核 虛擬機器記憶體:1 GB 虛擬機器硬碟:8 GB 虛擬機器聯網方式:Host-Only 虛擬機器IP:192.168.92.128 虛擬機器SSHD軟體:SSHDroid 虛擬機器SSH連結:[email protected]:2222 tcpdump版本:4.7.4 libpcap版本:1.7.3 注意:
本文使用三臺主機,配置如上文所述:
1. 承載虛擬機器的Windows 7宿主機,代號為Host-1;
2. 用於編譯的CentOS虛擬機器,代號為Host-2;
3. 用於驗證使用的Android-x86虛擬機器,代號為Host-3。
二、編譯TCPDUMP 本章節中的操作都是在Host-2上完成的,詳細步驟如下所示: 1. 安裝編譯環境:
yum groupinstall -y "Development Tools"
yum install -y glibc-static
2. 下載原始碼包:
cd /root/Downloads
wget http://www.tcpdump.org/release/tcpdump-4.7.4.tar.gz
wget http://www.tcpdump.org/release/libpcap-1.7.3.tar.gz 
3. 解壓縮:
tar xvzf libpcap-1.7.3.tar.gz
tar xvzf tcpdump-4.7.4.tar.gz
4. 編譯libpcap:
cd libpcap-1.7.3
export CC=gcc
./configure --host=i686-pc-linux-gnu --with-pcap=linux
make
cd .. 
5. 編譯tcpdump:
cd tcpdump-4.7.4
export ac_cv_linux_vers=2
export CFLAGS=-static
export CPPFLAGS=-static
export LDFLAGS=-static
./configure --host=i686-pc-linux-gnu --disable-ipv6
make 
6. 檢視編譯結果:
file tcpdump

如果看到下圖中的結果輸出,則表明編譯成功:
三、安裝和驗證 在Host-1上,通過Xshell和Xftp連線至Host-3(Android-x86虛擬機器),然後: 1. 上傳tcpdump:
從Host-2中,將前文編譯好的tcpdump可執行檔案拷貝至Host-1中,然後通過Xftp將tcpdump拷貝至Host-3的/data/local目錄中,並且將tcpdump檔案的許可權修改為777。
2. 執行tcpdump:
Host-1的Xshell已經連結至Host-3,則在Xshell中執行以下命令:
./tcpdump -i eth0 -n icmp and src host 192.168.92.1 

在Host-1的命令列視窗中執行以下命令:
ping 192.168.92.128

如果在Xshell中能夠看到下圖中的輸出,則表明安裝成功:
四、後續 如果想要自行為基於ARM的安卓手機或開發板編譯tcpdump工具,則可以參考以下文章: 1. Monitoring Android Network Traffic Part I: Installing The Toolchain | Symantec Connect Community http://www.symantec.com/connect/blogs/monitoring-android-network-traffic-part-i-installing-toolchain

相關推薦

Android-x86編譯tcpdump工具

在谷歌和必應上搜索的Android-x86專用的tcpdump工具多半不能使用,它們基本上都是在ARM架構的安卓手機上使用的,而且版本都較為老舊。由於Android-x86的Linux核心是通用的32位Linux,那麼能否在常用的32位Linux發行版上直接使用32位的gc

如何Android平臺編譯 opencv3 和 opencv_contrib (Linux)

gre inter jni fuzzy dnn letter ott esc lis p { margin-bottom: 0.1in; direction: ltr; color: rgb(0, 0, 10); line-height: 120%; text-align:

Android平臺編譯支援OpenCL的Opencv靜態庫

Opencv中封裝了OpenCL,直接下載的Opencv4Android SDK中提供了一些相關的庫,我們可以利用nm命令檢視這些庫是否包含opencl的相關函式。ocl整合在core中,所以我們直接檢視libopencv_core.a這個庫。 nm -D

android-x86編譯

編譯環境Ubuntu 11.04 - 64位作業系統 1:首先安裝jdk 到Ubuntu自帶的軟體包,安裝即可,方便簡單 2:以此執行如下命令 sudo apt-get install bison sudo apt-get install libc6-dev-i386

一份典型的lazarus 編譯目標平臺android編譯引數

編譯目標平臺: android 目標CPU : ARM  -MObjFPC -Scghi -CX -O1 -Tandroid -Parm -g -gl -XX -vewnhi -Filib\arm-android -FlE:\android-ndk-r9d\platform

android -x86 編譯中遇到的問題

錯誤1: build/core/base_rules.mk:69: unusual tags systembuilder on badblocks at external/e2fsprogs/misc target Dex: framework target SharedL

基於 x86Android* 遊戲選擇合適的引擎

文章 開源 版本號 操作 ani android uic 摘要 方法 摘要 遊戲開發者知道 Android 中蘊藏著巨大的機遇。 在 Google Play 商店的前 100 款應用中,約一半是遊戲應用(在利潤最高的前 100 款應用中。它們所占的比例超過 90%)

Ubuntu 16.04下Android編譯OpenCV 3.2.0 Manager

由於 ica 如何 setting -i add 標記 roi stripe http://johnhany.net/2016/07/build-opencv-manager-for-android-on-ubuntu/ 最近想在Android上嘗試一下SIFT和SU

android編譯工具

apktool 命令 https://ibotpeaches.github.io/Apktool/install/ apktool d testapp.apk d2j-dex2jar -f beautifulcamera.apk dex2jar https://git

android交叉編譯工具連結下載

在Google公佈用於Android的官方Toolchain之前,多數的Android愛好者使用的Toolchain是在http://www.codesourcery.com/gnu_toolchains/arm/download.html 下載的一個通用的Toolcha

Android編譯工具ApkTool的使用

1.直接去官網下載ApkTool,目前最新的版本為2.2.2,下載有問題的小夥伴請點這裡下載。 2.根據官仿給出的安裝文件進行安裝。這裡主要說一下Windows下的安裝:將下載的apktool.bat和apktooljar檔案移動到相應的資料夾,安裝文件中給出的位置是C:/

使用Android編譯環境編譯工具

在Android 的external目錄, 已經有了很多個目錄存放各類小工具,比如ping, gzip等. 我們可以將自己要編譯的新工具,也在此目錄下建一個目錄,將原始檔和Android.mk檔案放在其下. 並使用 mm external/xxx

Android編譯工具 apktool ,smali2java, dex2jar , jd-gui ,jadx-gui 的安裝與使用

1.apktool  按照上面的步驟 第一步:就是要讓我們下載apktool.bat,把滑鼠移至wrapper script上,然後右擊,連結另存為。 第二步:下載apktool.jar檔案,點選find newest here,跳到下載頁,我們能儘量下載最新版本。

ANDROID編譯工具APKTOOL原始碼除錯過程

APKTOOL是目前反編譯ANDROID apk的主要工具,可以反編譯出APK裡的資原始檔和smali程式碼,而有些APK開發者為了防止自己的程式碼被反編譯,針對APKTOOL工具加固程式碼,使得APKTOOL無法執行正常,比如這篇文章介紹的Android應用資

Android加入busybox工具

     [*] Build BusyBox as a static binary (no shared libs) 這個要選上,因上這樣子編譯出來的busyBox才是可以獨立執行的。     (/home/jo/tool/arm-2008q3/bin/arm-none-linux-gnueabi-) Cro

Android 下使用tcpdump 抓包工具

  在進行網路狀況分析的時候,tcpdump和wireshark是必不可少的工具,手機上進行網路分析也是如此。在此之前,我都是在手機上使用tcpdump抓包之後,儲存成一個.pacp檔案,之後再在PC上使用wireshark來進行分析。在看到了參考網站中的內容之後,發現其實還有更加簡便的方法,通過adb

android原始碼編譯錯誤make ***[out/host/linux-x86/obj/EXECUTABL

     系統是Ubuntu1264位,2G記憶體,編譯的時候出現下面這個錯誤: make:***[out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/llvm-rs-cc]Error1make:***Waitingforunfinishe

常用的Android編譯工具

好久沒有寫部落格,一直在用自己的印象筆記記錄一些問題。2017年了,想重新的把部落格寫起來。也希望通過這個平臺交一些朋友。 什麼是反編譯? 反編譯的定義--計算機軟體反向工程(Reverse engineering)也稱為計算機軟體還原工程,

code::Blocks 中配置android x86編譯環境

之前是android arm 的編譯環境,現需改為android x86的環境 1. Project-->build options, 選擇android平臺,selected compiler 選擇 GNU GCC Compiler,之前arm環境選的是 GNU G

Android APK反編譯工具

平時使用問題 以上的工具,不一定說只選擇一種工具。在拿的一個apk的時候,優先可以使用 Jadx 工具,因為它可以直接開啟apk,並且發編譯出來的程式碼可讀性更高。如果這個工具反編譯出來的內容有問題,或者apk本身做了針對它的處理,再選擇ApkTool工具進行解壓縮,然後分析smali程式碼,這個就需要你對