在谷歌和必應上搜尋的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
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
cd /root/downloads
wget
wget
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
2. monitoring android network traffic part ii: cross compiling tcpdump | symantec connect community
3. monitoring android network traffic part iii: installing & executing tcpdump | symantec connect community
讓AndroidX86豎屏顯示
這種介面非常不爽,尤其在除錯程式時,如何才能顯示成豎屏呢?先把androidx86裝到硬碟上 然後進行下面設定 1 完全關閉virtualbox,必須完全關閉,否者修改的引數會還原。2 修改虛擬機器的.vbox檔案 在小節中加入 注 這兩種是標準的android顯示模式 3 修改androidx86...
VMware下Androidx86無聲音的解決辦法
需要手動開啟編輯vmware虛擬機器檔案andorid.vmx,這個檔案放置在安裝時指定的目錄下。1 備份原檔案 2 確認虛擬機器已關閉而不是在掛起狀態 編輯andorid 4.4.vmx檔案,找到以下幾項 sound.present true sound.virtualdev hdaudio so...
Android x86入門之 固化啟動引數
louiswang 自從andorid x86收到關注以來,受到幫助的朋友越來越多,但同時,受到困擾的朋友也月來越多。這裡就一點最近問我的朋友比較多的問題發一篇文來闡述一下。很多朋友最近問我,android x86是很好用沒錯,但是每次進去都要啟動引數都要重新敲一遍,真的很麻煩,有沒有什麼好辦法可以...