三種經典iPhone上網絡抓包方法詳解


很多時候需要網絡抓包分析,在iPhone上抓包稍有不同,下面介紹三種常用的方式。分析工具以wireshark為例。

一、最簡單的方式:用PC作為熱點,在PC上抓包

  • 優點:簡單;
  • 缺點:不能抓真機2G/3G/4G網絡數據。

步驟如下:

  1. PC接上有線;
  2. PC用Wi-Fi方式共享網絡,即PC作為一個熱點;
  3. 手機設置網絡,選擇PC那個熱點;
  4. 在PC上打開wireshark,選擇要監控的接口,指定Wi-Fi端口,開始捕捉。

二、tcpdump命令

  • 優點:優點很多,可以做很高級的定制和選擇,可以編程控制;
  • 缺點:兩個,一是手機必須越獄,二是使用比較麻煩。

步驟如下:

1. 下載tcpdump:從cydia搜索安裝tcpdump,如果沒有搜到,請先添加源http://apt.saurik.com。 
2. 安裝openssh:從cydia搜索安裝openssh,如果沒有搜到,請先添加源http://apt.saurik.com。 
3. 退出cydia,這會重啟機器或重啟springboard。 
4. 在PC上通過ssh命令訪問手機,以root身份,root的初始密碼是alpine,例如:

ssh root@192.168.1.118

按提示輸入密碼之后,就遠程登錄到手機了(建議第一件事是用pwd立即改掉默認密碼),此時可以執行tcpdump命令錄制網絡數據。

5. tcpdump的簡單用法

tcpdump -h 顯示幫助信息: Usage: tcpdump [-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 ]

關於tcpdump的使用,網上很多,例如:http://blog.chinaunix.net/uid-20237628-id-3946009.html

由於tcpdump只是抓取數據,抓取的數據我們要拿到PC上用wireshark或類似工具分析,因此 -w開關是必須的,它用來指定一個文件,該文件保存抓到的數據,隨后我們就把這個文件拷貝到電腦上進行分析。

-i 開關是最重要的,它指定要攔截的網絡接口,對於Wi-Fi,接口是en0,對於移動數字網絡,網絡接口是pdp_ip0。例如:

tcpdump -s 0 -i pdp_ip0 -w ~/1.PCap 

命令要求抓取移動網絡接口的數據,要完整數據包,要保存到~/1.PCap文件。

當需要結束時,用ctrl+z結束tcpdump命令,結束之后,緩存在內存的數據才會完全寫入文件。

6. 把文件拷貝到PC

用scp命令把文件拷貝到PC(或者ifunbox之類的工具拖拽更簡單):

scp root@192.168.11.211:~/1.PCap ./

7. 現在,可以用wireshark打開1.PCap分析數據了。

總之,tcpdump很強大,也很復雜。以上我故意沒有貼圖,貼圖會讓篇幅很大,有點嚇人。

三、最佳方式:rvictl命令

  • 優點:簡單,而且可以抓所有網絡接口的數據;
  • 缺點:似乎沒有,要求手機iOS5以上不算要求吧?如果說缺點,就是這個命令是Xcode的Command Line Tools 中的。

步驟:

1. 手機通過USB線連接到PC; 
2. 查看手機的UDID,因為rvictl需要使用它。

可以從iTunes看:

圖片描述

紅色區域如果不是UDID,點擊它。

用Xcode看更方便,window—>devices,然后選擇手機,如圖:

圖片描述

3. 建立連接

格式:rvictl -s 

例如:

圖片描述

這樣,PC上就多了一個虛擬的端口rvi0。可以用 -l參數查看有哪些虛擬端口:

圖片描述

好了,現在可以用wireshark捕捉這個端口的數據了。啟動wireshark,並選擇網絡接口,如圖:

圖片描述

無論手機使用的是wifi還是2g、3個、4g,現在你在wireshark里都能實時看到數據了:

圖片描述

是不是非常方便?

4. 最后,好習慣是用完關閉:

rvictl -x <UDID>

如:

圖片描述

 

原文地址:http://blog.csdn.net/hewy0526/article/details/50996984


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM