三種經典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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...