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

来源:http://www.cnblogs.com/TingyunAPM/archive/2016/03/21/5302867.html
-Advertisement-
Play Games

此文章來自:聽雲博客 很多時候需要網路抓包分析,在iPhone上抓包稍有不同,下麵介紹三種常用的方式。分析工具以wireshark為例。 一、最簡單的方式:用PC作為熱點,在PC上抓包 優點:簡單 缺點:不能抓真機2g/3g/4g網路數據 步驟如下: 1、PC接上有線 2、PC用wifi方式共用網路


此文章來自:聽雲博客

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

 

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


 

優點:簡單

缺點:不能抓真機2g/3g/4g網路數據

步驟如下:

1、PC接上有線

2、PC用wifi方式共用網路,即PC作為一個熱點。

3、手機設置網路,選擇PC那個熱點

4、在PC上打開wireshark,選擇要監控的介面,指定wifi埠,開始捕捉。

 

二、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 [email protected]

按提示輸入密碼之後,就遠程登錄到手機了(建議第一件事是用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 開關是最重要的,它指定要攔截的網路介面,對於wifi,介面是en0,對於移動數字網路,網路介面是pdp_ip0

例如:

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

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

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

6、把文件拷貝到PC

用scp命令把文件拷貝到PC:

scp [email protected]:~/1.PCap ./

(或者ifunbox之類的工具拖拽更簡單)

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 <UDID>

例如:

 

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

好了,現在可以用wireshark捕捉這個埠的數據了。啟動wireshark,並選擇網路介面,如圖:

 

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

 

是不是非常方便?

4、最後,好習慣是用完關閉:

rvictl -x <UDID>

如:

 

 

 

原文鏈接:http://blog.tingyun.com/web/article/detail/261

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 從最開始什麼都不懂的小白,到到現在略知一二的小孩。我覺得不僅僅是我,大家應該都會註意到代理幾乎貫穿著IOS,那麼問題來了,我接下來要說什麼呢,那就是。標題的內容啦。上篇網路系列的文章我介紹了NSURLSession,趁熱打鐵,這篇就介紹一下NSURLSession代理的實現。 NSURLSessio
  • 就在不長也不短的時間前,蘋果正式命令咱們要向NSURLSession看,因此我們不得不認認真真的聽從老大的教導,努力認知NSURLSession。其實呢,三方早已為我們解決了問題,但是呢,我們還是有必要大概瞭解一下NSURLSession。下麵呢,我就為大家簡單介紹NSURLSession。 *下麵
  • selector 選擇器 在App的使用中經常能看到selector的身影 如:一個按鍵看上去白色或者其它顏色,可能是一張圖片 按下去又顯示其它的顏色或者另外一張圖片 這裡使用shape配合使用 正常狀態 按下狀態 selector 佈局中引用 有圖片就去需要建立一個selector 在drawab
  • ListView可能是Android開發中最常用的一個控制項,但要用的純熟還需要不斷的鍛煉。 建立簡單的ListView 1.在佈局文件(.xml)中添加<ListView>標簽 2.在MainActivity.java中用適配器綁定 可以看到 數組內容無法直接加到ListView中,所以要用適配器。
  • 文章出自:聽雲博客 Reveal簡介: 這是個神奇的工具,它能常透徹地分析個App的UI結構。 這個工具包括兩部分,部分是在PC上運行的一個獨立應用,即Reveal.app,另一部分代碼在你要分析的某個App中,為此,Reveal提供了一個Framework和一個Dylib供使用。這兩部分之間通過B
  • shape 先看下,系統自帶的EditText和Button的外形 下麵看加了shape後的效果 簡單點講,shape可以為組件加上背景邊框,圓角之類的可以配合selector使用 shapeXXX.xml定義在drawable目錄下 EditText使用的 Button使用的定義的都 一樣 佈局中
  • java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx...}: java.lang.IllegalStateException: Couldn't read row 0, col -1 from Curs
  • 如果想對自己自定義的類進行解檔和歸檔的話 必須遵循一個協議:NSCoding Student.h 文件 Student.m 文件 客戶端代碼 運行結果:
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...