androidsocketwifi
① android socket請求數據怎麼抓包
從網路上面搜索到的資料看,要抓取手機中app的網路包有下面幾種方式:(1).將tcpmp移植到Android平台,然後在命令行下啟動tcpmp進行抓包。Tcpmp程序實際上可以看作是wireshark的命令行版本,將該程序移植到Android平台直接抓包,這是一種最直接的抓包方式,然後將抓獲的數據包文件,從手機傳到windows系統上用wireshark打開進行分析,這種方式貌似不能用於蘋果手機。(2).使用fiddler,在windows系統上打開fiddler軟體,該軟體會將我們的電腦變成一個代理,然後在手機上設置wifi網路,將代理指定為開啟fiddler的那台電腦,並且埠設置為fiddler偵聽的8888埠,這時候使用手機訪問的數據,就會通過該代理,在fiddler中就可以看到http的數據包。這種方法我試了半天怎麼都看不到數據包,不知道哪裡出問題了,根據原理,這種方式支持可以通過代理訪問網路的手機。所以從原理上說是支持Android和蘋果手機的。(3).通過各種方式在pc電腦上建立wifi熱點,然後使用wireshark在pc電腦上監視該wifi熱點,通過手機連接該熱點訪問網路。這樣wireshark會獲取所有流經該熱點的數據包這種方式適用於所有能夠無線訪問的手機,也就是說所有的Android和蘋果手機。那麼如何在pc電腦上建立wifi熱點呢,有這么幾種辦法:(1).Win7電腦經過設置,可以將無線網卡設置為wifi熱點,這種方法我以前用過,可以成功,但是步驟繁瑣,而且不一定能夠成功,其他的windows系統估計就沒戲了。(2).使用軟體自動建立wifi熱點,不需要自己手工配置,這樣的軟體有Connectify Hotspot,獵豹免費wifi,360免費wifi軟體,這幾個軟體我都使用過,比較好用,這種方式同樣也只能針對有無線網卡的筆記本電腦,原理也是將筆記本電腦上的無線網卡建立熱點了,只不過是軟體自動的,不需要人工設置,比方法1要方便。注意:經過實驗發現,手機連接這種方式建立的熱點,所發送的數據,用wireshark去抓包,需要捕獲電腦上本身聯網的那個「網路連接」,例如我的筆記本上面有一個「本地連接」,該連接是使用有線網路的。我用獵豹免費wifi軟體建立一個熱點之後,我的電腦上多出一個「無線網路連接3」,可以看到該「無線網路連接3」是獵豹生成的,但是我抓包的時候,wireshark需要捕獲「本地連接」上的包,也就是我的手機訪問的數據實際上還是使用的「本地連接」,通信IP也是「本地連接」上的IP地址,而在手機的wifi連接設置中看到的ip地址,在我抓的包中也搜不到,也就是說手機通過該熱點訪問網路,實際上還是使用的「本地連接」的IP地址,至於是什麼原理,我目前也不太清楚。但是下面要說的隨身wifi硬體則與此不同,隨身wifi是建立了網卡。(3).使用隨身wifi硬體。這種也是很方便的方法,而且比較穩定,對筆記本電腦和台式機都可以使用。我之前買了一個360的隨身wifi(不是打廣告,本人對360公司不感冒,但是他的隨身wifi做的確實還可以,同事中有買小米wifi的,不太穩定)。只要在360的官網上下載驅動,直接插上隨身wifi就可以使用,我推薦使用這種方法。如果你用的是筆記本電腦可以使用方法2,如果是台式機器可以使用方法3。android socket請求數據怎麼抓包
② android用wifi實現socket需要加許可權嗎程序里需要額外設置嗎
Android應用,只要調用了系統的東西,都需要聲明許可權,只要應用程序連接網路,注意,不管是互聯網,還是區域網,都是算訪問了網路資源了。wifi實現socket需要增加以下許可權:
網路連接的許可權<uses-permission android:name="android.permission.INTERNET" />。
Wifi訪問許可權<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> 。網路狀態訪問許可權<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> 。
③ 如何用socket實現android手機與手機之間的通信
參考一般的JAVA的socket編程,如果通過手機網路,就不要使用UDP即可。
④ 涓ゅ彴Android鎵嬫満鍚屽勪簬涓涓灞鍩熺綉鍐咃紝璇烽棶濡備綍浣跨敤WIFI榪涜屽圭瓑鐨凷ocket閫氫俊銆
濡傛灉浣跨敤瀵圭瓑榪炴帴鐨勮瘽錛屼笉闇瑕佸湪涓涓灞鍩熺綉錛屽彧瑕2涓鎵嬫満紱誨緱榪戝氨琛
鎵撳紑wlan閲岄潰鐨刉i-Fi Direct妯″紡灝卞彲浠ワ紝鏈夋晥璺濈35-150綾
灞鍩熺綉鐨勮瘽涓嶈兘瀵圭瓑榪炴帴