iOS是由蘋果公司開發(fā)的移動操作系統(tǒng)。蘋果公司最早于2007年1月9日的Macworld大會上公布這個(gè)系統(tǒng),最初是設(shè)計(jì)給iPhone使用的,后來陸續(xù)套用到iPod touch、iPad以及Apple TV等產(chǎn)品上。下面是我收集整理的ios開發(fā)用Charles進(jìn)行抓包的方法,歡迎閱讀。
成都創(chuàng)新互聯(lián)公司作為成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),有關(guān)成都企業(yè)網(wǎng)站定制方案、改版、費(fèi)用等問題,行業(yè)涉及成都混凝土攪拌罐車等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。
ios開發(fā)用Charles進(jìn)行抓包的方法
首先,我們可以去一些網(wǎng)站下載安裝一下這個(gè)軟件。安裝完畢后, 我們能看到這個(gè)漂亮的青花瓷。
現(xiàn)在,我們需要將我們的電腦配置成手機(jī)的.代理服務(wù)器,這樣才能讓我們的 MAC 順利的攔截到手機(jī)軟件的網(wǎng)絡(luò)接口。我們先看一下自己的電腦ip。
在系統(tǒng)偏好設(shè)置 -- 網(wǎng)絡(luò) -- 查看當(dāng)前 IP。
然后我們來配置一下手機(jī)網(wǎng)絡(luò)設(shè)置,前提是你要確保你的手機(jī)和你的電腦在同一個(gè)局域網(wǎng)中。打開手機(jī)無線網(wǎng)的配置。就是點(diǎn)擊這個(gè)圖標(biāo)。
接著,我們就看到配置頁面啦,找到到代理這個(gè)欄目,選擇“手動”,在服務(wù)器一項(xiàng),填寫剛才查看的電腦的ip,這里就是10.930.93.115,端口添加8888,然后返回就行了。
接著,我們在電腦上打開 Charles。然后配置一下,主要是配置端口,按照圖示點(diǎn)擊。
然后,在彈出框中找到端口,輸入8888,和你手機(jī)輸入的端口號保持一致。
到這里,配置就完成了?,F(xiàn)在你可以打開你的手機(jī)進(jìn)行上網(wǎng),這是會看到Charles 在刷刷的顯示數(shù)據(jù),并在右側(cè)面板中以黃色字體顯示出來。
wifi就是無線局域網(wǎng),一種無線上網(wǎng)方式
蘋果無線局域網(wǎng)設(shè)置方法:
1、首先找到手機(jī)屏幕上的
設(shè)置,點(diǎn)擊進(jìn)入:
2、點(diǎn)擊進(jìn)入設(shè)置之后我們可以看到下面的:
3、點(diǎn)擊“無線局域網(wǎng)”選項(xiàng),進(jìn)入無線網(wǎng)絡(luò)管理界面,如圖所示
4、在搜索到的無線網(wǎng)絡(luò)列表中,左邊有√的代表手機(jī)已經(jīng)接入此網(wǎng)絡(luò),如圖所示
5、若想要連接其它的無線網(wǎng)絡(luò),請點(diǎn)擊相應(yīng)的無線網(wǎng)絡(luò)名稱,然后輸入無線密碼即可,如上圖所示,當(dāng)顯示這個(gè)畫面的時(shí)候就說明可以上網(wǎng)啦,但是你要保證無線網(wǎng)的穩(wěn)定哦~手機(jī)與你電腦的網(wǎng)速是一樣的。
蘋果iphone手機(jī)要打開或關(guān)閉無線局域網(wǎng):
1,前往“設(shè)置”“無線局域網(wǎng)”。
2,打開或關(guān)閉 WiFi:選擇打開(綠色)或關(guān)閉 WiFi(灰色)。
3,加入 WiFi 網(wǎng)絡(luò):選取“WiFi”,等候片刻讓 iPhone 檢測處于通信范圍內(nèi)的網(wǎng)絡(luò),然后選擇一個(gè)網(wǎng)絡(luò)。如果需要,請輸入密碼,然后輕按“加入”。(需要密碼的網(wǎng)絡(luò)帶有鎖圖標(biāo))
需要安裝一個(gè)bigemap離線地圖服務(wù)器和下載工具,可以下載離線瓦片,搭建內(nèi)網(wǎng)離線地圖,支持網(wǎng)頁端和移動端的開發(fā)
1 AirDrop (UIActivityViewController類)
功能:實(shí)現(xiàn)iOS設(shè)備間的文件和數(shù)據(jù)分享。AirDrop使用藍(lán)牙來掃描周圍的設(shè)備,當(dāng)兩臺設(shè)備通過藍(lán)牙建立起了連接,考慮到更快速的數(shù)據(jù)傳輸,它就會創(chuàng)建點(diǎn)對點(diǎn)的WiFi網(wǎng)絡(luò)來連接兩部iOS 設(shè)備。但并不意味著為了使用AirDrop而需要把設(shè)備連接至WiFi網(wǎng)絡(luò)。
傳輸方式:藍(lán)牙、WiFi
支持系統(tǒng):iOS
2 GameKit 框架
功能:GameKit主要是完成iOS設(shè)備間聯(lián)網(wǎng)的相關(guān)功能,包括藍(lán)牙和Internet兩種方式。
傳輸方式:藍(lán)牙、WiFi
支持系統(tǒng):iOS
3 MultipeerConnectivity 框架
功能:利用Multipeer Connectivity框架,即使在沒有連接到WiFi(WLAN)或移動網(wǎng)絡(luò)(xG)的情況下,距離較近的Apple設(shè)備(iMac/iPad/iPhone)之間可基于藍(lán)牙和WiFi(P2P WiFi)技術(shù)進(jìn)行發(fā)現(xiàn)和連接實(shí)現(xiàn)近場通信。
傳輸方式:藍(lán)牙、WiFi
支持系統(tǒng):iOS
4 ExternalAccessory 框架
功能:External Accessory Framework提供了配件連接iOS設(shè)備的通道。開發(fā)者可以通過它來開發(fā)連接配件的app。配件可以通過30pin、藍(lán)牙、USB的方式連接iOS設(shè)備。
傳輸方式:藍(lán)牙、WiFi
支持系統(tǒng):iOS
5 CoreBluetooth 框架
功能:藍(lán)牙4.0協(xié)議之間信息傳輸,支持iOS和Android設(shè)備。
傳輸方式:藍(lán)牙
支持系統(tǒng):iOS、Android
6 Socket
功能:通過TCP或UDP進(jìn)行相同局域網(wǎng)內(nèi)信息傳輸,支持iOS和Android設(shè)備。
傳輸方式:WiFi
支持系統(tǒng):iOS、Android
7 Bonjour
功能:Bonjour是一種能夠自動查詢接入網(wǎng)絡(luò)中的設(shè)備或應(yīng)用程序的協(xié)議。Bonjour 抽象掉 ip 和 port 的概念,讓我們聚焦于更容易為人類思維理解的 service。通過 Bonjour,一個(gè)應(yīng)用程序 publish 一個(gè)網(wǎng)絡(luò)服務(wù) service,然后網(wǎng)絡(luò)中的其他程序就能自動發(fā)現(xiàn)這個(gè) service,從而可以向這個(gè) service 查詢其 ip 和 port,然后通過獲得的 ip 和 port 建立 socket 鏈接進(jìn)行通信,支持iOS和Android設(shè)備。
傳輸方式:WiFi
支持系統(tǒng):iOS、Android
8 AllJoyn
功能:AllJoyn,由高通公司主導(dǎo)的高創(chuàng)新中心的開源項(xiàng)目開發(fā)的,主要用于近距離無線傳輸,通過WiFi或藍(lán)牙技術(shù),定位和點(diǎn)對點(diǎn)文件傳輸。支持平臺:RTOS、Arduino、Linux、Android、iOS、Windows、Mac。
傳輸方式:藍(lán)牙、WiFi
支持系統(tǒng):RTOS、Arduino、Linux、Android、iOS、Windows、Mac
UDP(User Data Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)是與TCP相對應(yīng)的協(xié)議。它是面向非連接的協(xié)議,UDP傳送數(shù)據(jù)不需要和服務(wù)器連接,只需要知道ip和監(jiān)聽端口,不需要鏈接沒有目的的socket,只是將數(shù)據(jù)報(bào)投遞出去,不管接收方是否成功接收到,因此是一種不可靠的傳輸。但是UDP的開銷更小數(shù)據(jù)傳輸速率更高,因?yàn)椴槐剡M(jìn)行收發(fā)數(shù)據(jù)的確認(rèn),所以UDP的實(shí)時(shí)性更好。
1.無連接,發(fā)送數(shù)據(jù)之前不需要建立連接。開銷和發(fā)送之前的時(shí)間延遲較短。 2.盡最大努力交付。(可以采取一定策略實(shí)現(xiàn)可靠傳輸) 3.面向報(bào)文,UDP對應(yīng)用程序交付的報(bào)文,添加UDP首部后直接交給IP層。不合并,不拆分。 4.沒有擁塞控制,網(wǎng)絡(luò)擁塞不會使源主機(jī)發(fā)送率降低。 5.UDP支持一對一,一對多,多對一的交互通信 6.UDP首部開銷較小,8字節(jié)(TCP為20字節(jié)、IP為20字節(jié))
1.AsyncUdpSocket
2.GCDAsyncUdpSocket
在項(xiàng)目中,所用到的類庫是AsyncUdpSocket,所以這里基于AsyncUdpSocket對UDP開發(fā)做一個(gè)簡單的文檔說明:
1.將AsyncUdpSocket.h, AsyncUdpSocket.m文件拷貝到項(xiàng)目中。在項(xiàng)目target - build phases - compile sources - AsyncUdpSocket文件后面加入 -fobjc-arc ,這是為了使編譯器編譯的時(shí)候?qū)⒋宋募赼rc的條件下編譯。
2.添加CFNetwork.framework
初始化socket,設(shè)置代理,綁定端口號
心跳包就是廣播255.255.255.255,確保在同一局域網(wǎng)的都能收到心跳
AsyncUDPSocketDelegate的代理方法
傳送門