導航:首頁 > 操作系統 > androidtcpdump安裝

androidtcpdump安裝

發布時間:2022-08-07 11:39:33

A. android tcpmp 和 mmz 有關系嗎

1、首先下載《Tcpmp工具包》,解壓後有個tcpmp文件;
2、將tcpmp上傳到手機中;
adb push tcpmp /data/local/tcpmp (上傳數據包)
adb shell chmod 6755 /data/local/tcpmp (設置tcpmp許可權)

3、使用tcpmp抓包;
adb shell
su
/data/local/tcpmp -p -vv -s 0 -w /sdcard/capture.pcap

tcpmp使用方法:
Usage: tcpmp [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ]
[ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ] [ -y datalinktype ] [ -Z user ]
[ expression ]
4、下載&讀取tcpmp,PC端可以使用wireshark查看數據包;
adb pull /sdcard/capture.pcap(將數據包復制到電腦中)

B. 如何安裝TCPmp工具

需要用命令
ulimit -c unlimited
允許產生core mp且core文件大小不受限制,然後在可執行文件的同一目錄下即可找了

但當前設置的ulimit只對當前會話有效,若想系統均有效,則需要進行如下設置:

在/etc/profile中加入以下一行,這將允許生成coremp文件

C. 抓包工具tcpmp安裝需要注意什麼

默認系統里邊沒有安裝有tcpmp的,無法直接使用

2
這里我們可以使用yum來直接安裝它
yum install -y tcpmp

3
如果忘記了這個軟體的用法,我們可以使用 tcpmp --help 來查看一下使用方法

4
一般我們的伺服器里邊只有一個網卡,使用tcpmp可以直接抓取數據包,但是這樣查看太麻煩了,所以都會添加參數來進行獲取的。
例如我截取本機(192.168.31.147)和主機114.114.114.114之間的數據
tcpmp -n -i eth0 host 192.168.31.147 and 114.114.114.114

5
還有截取全部進入伺服器的數據可以使用以下的格式
tcpmp -n -i eth0 dst 192.168.31.147
或者伺服器有多個IP 可以使用參數
tcpmp -n -i eth0 dst 192.168.31.147 or 192.168.31.157

6
我們抓取全部進入伺服器的TCP數據包使用以下的格式,大家可以參考下
tcpmp -n -i eth0 dst 192.168.31.147 or 192.168.31.157 and tcp
從本機出去的數據包
tcpmp -n -i eth0 src 192.168.31.147 or 192.168.31.157
tcpmp -n -i eth0 src 192.168.31.147 or 192.168.31.157 and port ! 22 and tcp

或者可以條件可以是or 和 and 配合使用即可篩選出更好的結果。

D. 請問安卓手機的tcpmp是什麼

TcpDump可以將網路中傳送的數據包的「頭」完全截獲下來提供分析。它支持針對網路層、協議、主機、網路或埠的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。

E. 求助,安卓客戶端如何抓包

Android系統手機端抓包方法

抓包準備

1. Android手機需要先獲得root許可權。一種是否獲得root許可權的檢驗方法:安裝並打開終端模擬器(可通過安卓市場等渠道獲得)。在終端模擬器界面輸入su並回車,若報錯則說明未root,若命令提示符從$變#則為rooted;

2. 如果Android手機尚未root,可通過superoneclick或其它方法進行root處理(需要先安裝Microsoft .NET Framework)。Superoneclick刷root許可權教程:(http://soft.shouji.com.cn/news/501.shtml)

3. 需要先獲得 Android SDK

4. 需要獲得tcpmp軟體,獲取地址(http://www.strazzere.com/android/tcpmp)

抓包步驟
1. 將Android手機與電腦USB相連,打開windows命令提示符窗口

2. 將tcpmp程序至android手機(該命令前面那個目錄文件為本地地址,後面那個目錄為目的手機端地址)

C:\android-sdk-windows\platform-tools>adb push c:/tcpmp /data/local/tcpmp

3. 修改tcpmp的許可權

C:\android-sdk-windows\platform-tools>adb shell
#chmod 777 /data/local/tcpmp

4. 進入root許可權

C:\android-sdk-windows\platform-tools>adb shell
$ su

在運行su指令後,手機終端桌面會出現相應提示信息以確認您對root操作的認可。

5. 運行tcpmp,輸入以下命令啟動抓包。

/data/local/tcpmp -p -vv -s 0 -w /sdcard/capture.pcap

6. 在手機端執行相應需要進行抓包分析的操作,執行完成後在命令提示符窗口執行Ctrl+C中斷抓包進程

7. 將抓包結果復制至本地(前面那個目錄為手機端地址,後面那個目錄為本地地址)

C:\android-sdk-windows\platform-tools>adb pull /sdcard/capture.pcap c:/

8. 使用Wireshark等工具查看抓包文件capture.pcap

F. 如何在 Android 手機上實現抓包

千鋒扣丁學堂Android開發為您解答:
tcpmp是最快捷方便的抓包方式,還可以加深對網路協議的理解。android下可以通過如下方式抓包:

1 Android上啟動tcpmp

Android設備可以把tcpmp的可執行文件上傳到android設備上,然後通過mac遠程登錄android設備運行tcpmp,前提是這台android設備必須已經root過。步驟如下:

下載android版本的tcpmp為android系統編譯的tcpmp版本。

通過adb將tcpmp上傳到android設備

通過adb push將tcpmp文件上傳到特定的目錄,這里我們選擇/sdcard/data目錄。

在android設備上運行tcpmp

通過adb shell登陸設備,並執行tcpmp,最後一步執行./tcpmp即可。

2. 分析tcpmp輸出

經過上面的步驟成功運行tcpmp之後,接下來就可以分析輸出的網路包內容了,iOS設備和Android設備的輸出是一致的。我們先來解析下幾個基本的格式:

圖中紅色方框內的部分是一個ip包的詳細記錄,類似的紀錄還有好幾條。這里我們著重分析第一條的各部分欄位含義。

14:37:41.615018 很簡單,是該包接收到的時間。

17.143.164.37.5223 是發送方的ip地址及埠號(5223是埠號)。

10.29.44.140.58036 是我android的ip地址及埠號。

Flags [P.]
是tcp包header部分的第14個位元組的P位。這個位元組所包含的幾個flag很重要,後面我會單獨詳細講解。這里P位表示接受方需要馬上將包push到應用層。

seq 1:54
tcp包的seq號,1是起始值,54結束值。tcp之所以被認為是流,是因為tcp包所攜帶的每一個位元組都有標號(seq號)。1:54表明總共有54個位元組被接受,其中一個位元組是三次握手階段所使用,所以一共發送的長度是53位元組。

ack 101 tcp包的ack號,ack 101表明seq號為100的位元組已被確認收到,下一個期望接收的seq號從101開始。

win 255 win表示的是tcp包發送方,作為接受方還可以接受的位元組數。這里win
255表明ip為17.143.164.37的主機還可以接受255個位元組。

options [nop,nop,…] options[…]表示的是該tcp包的options區域,nop是no
opertion的縮寫,沒什麼實際用途,主要是用做padding,因為options區域按協議規定必須是4位元組的倍數。

options[… TS val 2381386761] ts
val這個值是tcp包的時間戳,不過這個時間戳和設備的系統時間沒啥關系,剛開始是隨機值,後面隨著系統時鍾自增長。這個時間戳主要用處是seq序列號越界從0重新開始後,可以確認包的順序。

options[… ecr 427050796] ts ecr這個值主要用來計算RTT。比如A發送一個tcp包給B,A會在包里帶上TS
val,B收到之後在ack包里再把這個值原樣返回,A收到B的ack包之後再根據本地時鍾就可以計算出RTT了。這個值只在ack包里有效,非ack包ecr的值就為0.

length 53 這個length是應用層傳過來的數據大小,不包括tcp的header。這個值和我們上面分析的seq 1:54是一致的。

以上就是一個基本的tcp包結構,大家可以按照上面的分析再把其他幾個包理解下。我們在做應用的時候面對的更多是http協議,但對一個http請求是怎麼通過tcp/ip分解成一個個的packet,然後怎麼在網路上穩定可靠的傳輸,要有個基本的印象。下面我們再看下tcpmp更多的功能,這些功能都是基於對tcp/ip協議的理解,遇到不理解的建議多google下相關的技術概念。

3. tcpmp知識拓展

再繼續深入tcpmp之前,先貼上一張tcp header格式圖,常看常新。

[https://github.com/music4kid/music4kid.github.io/blob/master/images/tcpheader.png?raw=true](https://github.com/music4kid/music4kid.github.io/blob/master/images/tcpheader.png?raw=true)"
width="1056">

3.1 TCP Flags(tcp header第十四個位元組)

我們再仔細看下上面提到的flags概念,flags位於tcp
header的第十四個位元組,包含8個比特位,也就是上圖的CWR到FIN。這8個比特位都有特定的功能用途,分別是:CWR,ECE,URG,ACK,PSH,RST,SYN,FIN。

CWR ,ECE 兩個flag是用來配合做congestion
control的,一般情況下和應用層關系不大。發送方的包ECE(ECN-Echo)為0的時候表示出現了congestion,接收方回的包里CWR(Congestion
Window Reced)為1表明收到congestion信息並做了處理。我們重點看其他六個flag。

URG
URG代表Urgent,表明包的優先順序高,需要優先傳送對方並處理。像我們平時使用terminal的時候經常ctrl+c來結束某個任務,這種命令產生的網路數據包就需要urgent。

ACK
也就是我們所熟悉的ack包,用來告訴對方上一個數據包已經成功收到。不過一般不會為了ack單獨發送一個包,都是在下一個要發送的packet里設置ack位,這屬於tcp的優化機制,參見delayed
ack。

PSH Push我們上面解釋過,接收方接收到P位的flag包需要馬上將包交給應用層處理,一般我們在http
request的最後一個包里都能看到P位被設置。

RST Reset位,表明packet的發送方馬上就要斷開當前連接了。在http請求結束的時候一般可以看到一個數據包設置了RST位。

SYN
SYN位在發送建立連接請求的時候會設置,我們所熟悉的tcp三次握手就是syn和ack位的配合:syn->syn+ack->ack。

FIN
Finish位設置了就表示發送方沒有更多的數據要發送了,之後就要單向關閉連接了,接收方一般會回一個ack包。接收方再同理發送一個FIN就可以雙向關閉連接了。

這8個flag首字母分別是:C E U A P R S F。初看難以記憶,我腦洞了下,把它們組合成 supr
cafe,當然少了super少了個e,我可以將就下。我們在使用tcpmp的時候會經常看到這幾個flag,[S],[P],[R],[F],[.]。其他幾個都好理解,[.]特殊點,是個佔位符,沒有其他flag被設置的時候就顯示這個佔位符,一般表示ack。

3.2 tcpmp 更多使用參數

這部分我們來看下tcpmp常用的一些命令參數。文章最開始部分的tcpmp命令是這樣的:sudo tcpmp -i rvi0 -AAl。
-i rvi0 -AAl都是屬於參數部分。常見的有這些:

-i, 要監聽的網卡名稱,-i rvi0監聽虛擬網卡。不設置的時候默認監聽所有網卡流量。

-A, 用ASCII碼展示所截取的流量,一般用於網頁或者app里http請求。-AA可以獲取更多的信息。

-X,用ASCII碼和hex來展示包的內容,和上面的-A比較像。-XX可以展示更多的信息(比如link layer的header)。

-n,不解析hostname,tcpmp會優先暫時主機的名字。-nn則不展示主機名和埠名(比如443埠會被展示成https)。

-s,截取的包位元組長度,默認情況下tcpmp會展示96位元組的長度,要獲取完整的長度可以用-s0或者-s1600。

-c,只截取指定數目的包,然後退出。

-v,展示更多的有用信息,還可以用-vv -vvv增加信息的展示量。

src,指明ip包的發送方地址。

dst,指明ip包的接收方地址。

port,指明tcp包發送方或者接收方的埠號。

and,or,not,操作法,字面意思。

上面幾個是我個人比較常用的,更多的參數可以參考這個詳細文檔。有興趣的可以分析下面幾個例子練習下:

tcpmp 『tcp[13] & 16!=0』

tcpmp src port 80 and tcp

tcpmp -vv src and not dst port 23

tcpmp -nnvvS src 192.0.1.100 and dst port 443

4. 用tcpmp分析http完整請求

說了這么多,我們再來實戰下,看一個完整的http請求流程。sudo tcpmp -i rvi0 -AAl src 60.28.215.123 or
dst 60.28.215.123

列出了6個前面的packet,10.29.44.240是我android的ip地址,60.28.215.123是知乎server的ip地址,紅色方框內是android發出的packet,白色方框內是server發出的packet。packet1是android三次握手的第一個syn包,packet2是server
ack+syn的包,packet3是android ack的包。這3個packet之後tcp的三次握手就完成了。

packet4是android發出的http
request。長度只有240個位元組,所以一個packet就發過去了,當然還設置了flags的P位,request需要馬上被應用層處理。包裡面出現了spdy,點贊。

packet5是server ack剛收到的包,長度位0,所以這僅僅是一個ack包。

packet6是server返回http的response了,1388個位元組。packet5和packet6都ack了seq為241的包,當然是為了增加ack的成功率。

中間還有好幾個packet就不仔細分析了,最後再看下請求完成的最後幾個包:

最後兩個packet比較簡單,android發送個FIN+ACK的包就斷開連接了,server直接發送了一個RST包後也斷開連接了。

G. android tcpmp 對什麼有影響

1、root機器
在用tcpmp抓包過程中,需要使用到root許可權。當前可以進行root的方法有很多,個人推薦 ,安裝使用挺方便的。
2、准備adb工具
ADB是Android手機開發包中自帶的Bug調試工具,使用這個工具可以非常方便的通過PC對Android機器進行調試,在本人使用過程中經用將其用於在Android機器上面執行Shell命令
1)adb shell,在PC機的命令終端中直接執行Android的Shell命令(也可以通過在Android機器上面安裝命令終端等App來執行shell命令,從易用性來講肯定沒有使用adb shell方便的多,但也是一種方法)
2)adb push local remote,將PC上的文件推送到Android機器上面的路徑中
3)adb pull remote local,從Android機器上面的文件拉取到PC指定的路徑中
3、安裝tcpmp
Android系統雖然源自於Linux操作系統,為適用於手持設備環境的要求,對其進行一番簡化閹割是無法避免的,其中tcpmp這調試分析神器,就在被閹割的行列。為正常使用tcpmp,我們需要在Android系統中安裝一份tcpmp,主要步驟為:
1)下載tcpmp包

2)上傳tcpmp包到Android機器
adb push d:\tcpmp /data/local/tmp
remote安裝目錄需要根據情況進行自定義
3)執行chmod 0777 tcpmp命令,賦予可執行許可權(執行chmod a+x tcpmp反映失敗,還沒整明白啥原因)
4、抓取數據
到此為止,基本上已經完成了准備工作。tcpmp命令的具體使用方法可以參見tcpmp手冊 。在實際操作過程中,按照在Linux執行抓包的命令:tcpmp -Xnlps0 -i any port 80 -w pcap.cap時,卻告知tcpmp: syntax error,查看幫助文檔才發現不支持port類型過濾,為此最後將抓包命令簡化為:./tcpmp -Xnlps0 -w pcap.cap,一不做二不休,將全部的包都抓下來,在PC機器上面用Wireshark也相當可行。
5、分析數據
正如上面所講的,直接採用wireshark來分析數據比較方便。

H. 如何在Android智能手機上捕獲數據包

方法:
1.先給手機刷root許可權,執行命令:
adb root
adb remount
ok後:把tcpmp放到c盤根目錄下:C:\
2. 執行命令:
adb push c:/tcpmp /data/local/tcpmp
(這個命令是把tcpmp拷到手機中去 )
3. adb shell chmod 6755 /data/local/tcpmp
是給tcp分配許可權
4. adb shell
/data/local/tcpmp -p -vv -s 0 -w /sdcard/capture.pcap
輸入 這個命令就等於啟動了抓包工具
5. 要停止抓包就Ctrl+C
6. sdcard的capture.pcap復制出來到電腦上用wireshark打開即可
以後每次抓包只要重復第4、5、6步就ok了。

閱讀全文

與androidtcpdump安裝相關的資料

熱點內容
ipadminipdf閱讀 瀏覽:502
文件夾無限制壓縮會不會降低內存 瀏覽:410
榮耀怎樣創建文件夾 瀏覽:629
如何用本機登陸遠程伺服器地址 瀏覽:680
黃小鴨解壓文具盒 瀏覽:670
女程序員的轉行方法 瀏覽:881
東風啟辰車聯網安裝文件夾 瀏覽:524
華為怎麼設置app時間鎖 瀏覽:660
後宮app視頻怎麼下載 瀏覽:525
如何把圖片轉換從PDF格式 瀏覽:259
重寫和重載的區別java 瀏覽:234
expressvpnandroid 瀏覽:84
儲存卡被加密怎麼解除 瀏覽:169
地球怎麼壓縮直徑 瀏覽:780
金鏟鏟之戰伺服器爆滿怎麼進 瀏覽:160
同仁堂pdf 瀏覽:935
如何編譯原理課程教材 瀏覽:730
單片機控制顯示器 瀏覽:776
頂好花app下載怎麼找不到 瀏覽:989
手機命令大全 瀏覽:808