『壹』 如何監控android應用的發送http 請求
用tcpmp ,什麼包都可以抓
比如
tcpmp -p -vv -s 0 -w /sdcard/capture.pcap
然後用wireshark 查看
『貳』 android 監控系統 ,求設計方案
小夥伴們,一起來玩奧奇傳說吧!http://aoqi.100bt.com新注冊的玩家,可免費超級珍貴豪禮:6隻滿級精靈、精美服裝、最帥坐騎、百萬經驗!還有價值200鑽石的成長禮包哦!填寫我的多多號作為邀請碼:57170051,還能領取新手禮包呢!
『叄』 如何監控android網路請求
如果你想在logcat用列印的方式監控的話可以在發送請求的地方打log;
也可以用抓包工具進行網路請求的抓取,這樣的優勢在於你可以看到HTTP請求的具體信息,如post提交的內容,請求頭信息,伺服器返回錯誤等信息。常用的抓包工具有fiddler,Wireshark等,具體配置過程可以搜索相關教程。
『肆』 有沒有好的android上網監控軟體 求推薦
聯網軟體,我推薦:海卓沖浪,功能豐富而強大,能滿足樓主需求,保證樓主滿意。http://m.163.com/android/software/2vbvl0.html
至於控制開機,這個:啟動審查(Startup Auditor),功能簡單,但是牛逼。
http://m.163.com/android/software/2vbupj.html
兩個軟體都是從網易應用過來的,可以盡管放心,絕對不是病毒。
『伍』 Android已經添加了網路許可權為什麼不能http
android.permission.ACCESS_CHECKIN_PROPERTIES //允許讀寫訪問”properties”表在checkin資料庫中,改值可以修改上傳 android.permission.ACCESS_COARSE_LOCATION //允許一個程序訪問CellID或WiFi熱點來獲取粗略的位置 android.permission.ACCESS_FINE_LOCATION //允許一個程序訪問精良位置(如GPS) android.permission.ACCESS_LOCATION_EXTRA_COMMANDS //允許應用程序訪問額外的位置提供命令 android.permission.ACCESS_MOCK_LOCATION //允許程序創建模擬位置提供用於測試 android.permission.ACCESS_NETWORK_STATE //允許程序訪問有關GSM網路信息 android.permission.ACCESS_SURFACE_FLINGER //允許程序使用SurfaceFlinger底層特性 android.permission.ACCESS_WIFI_STATE //允許程序訪問Wi-Fi網路狀態信息 android.permission.ADD_SYSTEM_SERVICE //允許程序發布系統級服務 android.permission.BATTERY_STATS //允許程序更新手機電池統計信息 android.permission.BLUETOOTH //允許程序連接到已配對的藍牙設備 android.permission.BLUETOOTH_ADMIN //允許程序發現和配對藍牙設備 android.permission.BRICK //請求能夠禁用設備(非常危險 android.permission.BROADCAST_PACKAGE_REMOVED //允許程序廣播一個提示消息在一個應用程序包已經移除後 android.permission.BROADCAST_STICKY //允許一個程序廣播常用intents android.permission.CALL_PHONE //允許一個程序初始化一個電話撥號不需通過撥號用戶界面需要用戶確認 android.permission.CALL_PRIVILEGED //允許一個程序撥打任何號碼,包含緊急號碼無需通過撥號用戶界面需要用戶確認 android.permission.CAMERA //請求訪問使用照相設備 android.permission.CHANGE_COMPONENT_ENABLED_STATE //允許一個程序是否改變一個組件或其他的啟用或禁用 android.permission.CHANGE_CONFIGURATION //允許一個程序修改當前設置,如本地化 android.permission.CHANGE_NETWORK_STATE //允許程序改變網路連接狀態 android.permission.CHANGE_WIFI_STATE //允許程序改變Wi-Fi連接狀態 android.permission.CLEAR_APP_CACHE //允許一個程序清楚緩存從所有安裝的程序在設備中 android.permission.CLEAR_APP_USER_DATA //允許一個程序清除用戶設置 android.permission.CONTROL_LOCATION_UPDATES //允許啟用禁止位置更新提示從無線模塊 android.permission.DELETE_CACHE_FILES //允許程序刪除緩存文件 android.permission.DELETE_PACKAGES //允許一個程序刪除包 android.permission.DEVICE_POWER //允許訪問底層電源管理 android.permission.DIAGNOSTIC //允許程序RW診斷資源 android.permission.DISABLE_KEYGUARD //允許程序禁用鍵盤鎖 android.permission.DUMP //允許程序返回狀態抓取信息從系統服務 android.permission.EXPAND_STATUS_BAR //允許一個程序擴展收縮在狀態欄,android開發網提示應該是一個類似Windows Mobile中的托盤程序 android.permission.FACTORY_TEST //作為一個工廠測試程序,運行在root用戶 android.permission.FLASHLIGHT //訪問閃光燈,android開發網提示HTC Dream不包含閃光燈 android.permission.FORCE_BACK //允許程序強行一個後退操作是否在頂層activities android.permission.FOTA_UPDATE //暫時不了解這是做什麼使用的,android開發網分析可能是一個預留許可權. android.permission.GET_ACCOUNTS //訪問一個帳戶列表在Accounts Service中 android.permission.GET_PACKAGE_SIZE //允許一個程序獲取任何package佔用空間容量 android.permission.GET_TASKS //允許一個程序獲取信息有關當前或最近運行的任務,一個縮略的任務狀態,是否活動等等 android.permission.HARDWARE_TEST //允許訪問硬體 android.permission.INJECT_EVENTS //允許一個程序截獲用戶事件如按鍵、觸摸、軌跡球等等到一個時間流,android 開發網提醒算是hook技術吧 android.permission.INSTALL_PACKAGES //允許一個程序安裝packages android.permission.INTERNAL_SYSTEM_WINDOW //允許打開窗口使用系統用戶界面 android.permission.INTERNET //允許程序打開網路套接字 android.permission.MANAGE_APP_TOKENS //允許程序管理(創建、催後、 z- order默認向z軸推移)程序引用在窗口管理器中 android.permission.MASTER_CLEAR //目前還沒有明確的解釋,android開發網分析可能是清除一切數據,類似硬格機 android.permission.MODIFY_AUDIO_SETTINGS //允許程序修改全局音頻設置 android.permission.MODIFY_PHONE_STATE //允許修改話機狀態,如電源,人機介面等 android.permission.MOUNT_UNMOUNT_FILESYSTEMS //允許掛載和反掛載文件系統可移動存儲 android.permission.PERSISTENT_ACTIVITY //允許一個程序設置他的activities顯示 android.permission.PROCESS_OUTGOING_CALLS //允許程序監視、修改有關播出電話 android.permission.READ_CALENDAR //允許程序讀取用戶日歷數據 android.permission.READ_CONTACTS //允許程序讀取用戶聯系人數據 android.permission.READ_FRAME_BUFFER //允許程序屏幕波或和更多常規的訪問幀緩沖數據 android.permission.READ_INPUT_STATE //允許程序返回當前按鍵狀態 android.permission.READ_LOGS //允許程序讀取底層系統日誌文件 android.permission.READ_OWNER_DATA //允許程序讀取所有者數據 android.permission.READ_SMS //允許程序讀取簡訊息 android.permission.READ_SYNC_SETTINGS //允許程序讀取同步設置 android.permission.READ_SYNC_STATS //允許程序讀取同步狀態 android.permission.REBOOT //請求能夠重新啟動設備 android.permission.RECEIVE_BOOT_COMPLETED //允許一個程序接收到 android.permission.RECEIVE_MMS //允許一個程序監控將收到MMS彩信,記錄或處理 android.permission.RECEIVE_SMS //允許程序監控一個將收到簡訊息,記錄或處理 android.permission.RECEIVE_WAP_PUSH //允許程序監控將收到WAP PUSH信息 android.permission.RECORD_AUDIO //允許程序錄制音頻 android.permission.REORDER_TASKS //允許程序改變Z軸排列任務 android.permission.RESTART_PACKAGES //允許程序重新啟動其他程序 android.permission.SEND_SMS //允許程序發送SMS簡訊 android.permission.SET_ACTIVITY_WATCHER //允許程序監控或控制activities已經啟動全局系統中 android.permission.SET_ALWAYS_FINISH //允許程序控制是否活動間接完成在處於後台時 android.permission.SET_ANIMATION_SCALE //修改全局信息比例 android.permission.SET_DEBUG_APP //配置一個程序用於調試 android.permission.SET_ORIENTATION //允許底層訪問設置屏幕方向和實際旋轉 android.permission.SET_PREFERRED_APPLICATIONS //允許一個程序修改列表參數PackageManager.addPackageToPreferred() 和PackageManager.removePackageFromPreferred()方法 android.permission.SET_PROCESS_FOREGROUND //允許程序當前運行程序強行到前台 android.permission.SET_PROCESS_LIMIT //允許設置最大的運行進程數量 android.permission.SET_TIME_ZONE //允許程序設置時間區域 android.permission.SET_WALLPAPER //允許程序設置壁紙 android.permission.SET_WALLPAPER_HINTS //允許程序設置壁紙hits android.permission.SIGNAL_PERSISTENT_PROCESSES //允許程序請求發送信號到所有顯示的進程中 android.permission.STATUS_BAR //允許程序打開、關閉或禁用狀態欄及圖標Allows an application to open, close, or disable the status bar and its icons. android.permission.SUBSCRIBED_FEEDS_READ //允許一個程序訪問訂閱RSS Feed內容提供 android.permission.SUBSCRIBED_FEEDS_WRITE //系統暫時保留改設置,android開發網認為未來版本會加入該功能。 android.permission.SYSTEM_ALERT_WINDOW //允許一個程序打開窗口使用 TYPE_SYSTEM_ALERT,顯示在其他所有程序的頂層(Allows an application to open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other applications. ) android.permission.VIBRATE //允許訪問振動設備 android.permission.WAKE_LOCK //允許使用PowerManager的 WakeLocks保持進程在休眠時從屏幕消失 android.permission.WRITE_APN_SETTINGS //允許程序寫入API設置 android.permission.WRITE_CALENDAR //允許一個程序寫入但不讀取用戶日歷數據 android.permission.WRITE_CONTACTS //允許程序寫入但不讀取用戶聯系人數據 android.permission.WRITE_GSERVICES //允許程序修改Google服務地圖 android.permission.WRITE_OWNER_DATA //允許一個程序寫入但不讀取所有者數據 android.permission.WRITE_SETTINGS //允許程序讀取或寫入系統設置 android.permission.WRITE_SMS //允許程序寫簡訊 android.permission.WRITE_SYNC_SETTINGS //允許程序寫入同步設置
『陸』 Android如何類似firebug一樣監控其HTTP請求,求助,需要知道應用端是發送哪個HTTP請求的
目前android提供的工具沒事,我們寫工程都是自己寫http請求,每次請求的時候打Log,記錄請求的url和參數。請求回來了,打log,記錄回來的數據,記錄數據的狀態,數據的內容。
目前只能這樣。如果用模擬器的話,可以用vnStat或者CommView之類的監控電腦網卡的請求,間接的監控手機。一般開發用手機測試,這樣就不行了。只能打log了
『柒』 如何監控android應用的發送http請求
目前android提供的工具沒事,我們寫工程都是自己寫http請求,每次請求的時候打Log,記錄請求的url和參數。請求回來了,打log,記錄回來的數據,記錄數據的狀態,數據的內容。 目前只能這樣。如果用模擬器的話,可以用vnStat或者CommView之類的監控電腦網卡的請求,間接的監控手機。一般開發用手機測試,這樣就不行了。只能打log了
『捌』 如何監控Android模擬器的HTTP訪問情況
實施過程:
按照文檔的指導,在啟動模擬器時,使用 -http-proxy參數,設置127.0.0.1:8888為模擬器的上網代理,結果失敗。Fiddler2沒有抓到通訊應答。
上網搜索,許多文章或帖子(包括英文的和中文的)都說要修改模擬器的系統設置資料庫,添加一條HTTP_PROXY的記錄。嘗試後失敗。
解決方案:
再細讀文檔中有關模擬器的部分,看到Network Address Space一段,忽有所悟。這段文字是這么寫的——
Each instance of the emulator runs behind a virtual router/firewall service that isolates it from your development machine』s network interfaces and settings and from the internet. An emulated device can not see your development machine or other emulator instances on the network. Instead, it sees only that it is connected through Ethernet to a router/firewall.
(譯文)模擬器在虛擬路由器/防火牆服務後面運行,這套路由器/防火牆服務隔離於開發機的網路界面、設置,也與互聯網相隔離。模擬設備不能訪問開發機或網路上的其他模擬器。它看到的只是自己通過乙太網連接到一個路由器/防火牆。
這下清楚了,模擬器壓根不知道127.0.0.1是個啥地址,也壓根訪問不到。在127.0.0.1上設置的代理,自然也抓不到任何通訊應答了。
文檔接著寫道,這個虛擬防火牆/路由器管理從10.0.2.2至10.0.2.24,模擬器的IP地址是10.0.2.15,而模擬器看到的開發機地址則
是10.0.2.2。也就是說,從模擬器的角度看,Fiddler2是在10.0.2.2上運行的。
於是用emulator命令加上avd -http-proxy 10.0.2.2:8888參數啟動模擬器,在模擬器上運行browser,訪問任何web地址,可以看到,Fiddler2抓到了HTTP通訊。
在自己的應用程序中打開創建HttpURLConnection,訪問同一網址(下面只是創建連接的代碼,訪問代碼略):
private HttpURLConnection createConnection(URL url)
{
HttpURLConnection conn=null;
try
{
conn=(HttpURLConnection)url.openConnection();
}
catch (IOException e)
{
e.printStackTrace();
}
return conn;
}
這次Fiddler2沒能抓到通訊。但應用程序訪問網頁是成功的。只在啟動模擬器時加上-http-proxy參數還不夠,應用程序創建連接時,也要指定HTTP代理才行:
private HttpURLConnection createConnectionWithProxy(URL url, String proxyAddress, int proxyPort)
{
HttpURLConnection conn = null;
Proxy proxy=new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyAddress,proxyPort));
try {
conn = (HttpURLConnection) url.openConnection(proxy);
} catch (IOException e) {
e.printStackTrace();
}
return conn;
}
調用上述方法,傳入代理地址10.0.2.2和埠8888,再次運行應用程序,這次可以了(截圖和上圖大同小異,略)。
『玖』 android 怎麼監控網路狀態可以訪問互聯網而不是連接狀態
在開發android應用時,涉及到要進行網路訪問,時常需要進行網路狀態的檢查,以提供給用戶必要的提醒。一般可以通過ConnectivityManager來完成該工作。
ConnectivityManager有四個主要任務:
1、監聽手機網路狀態(包括GPRS,WIFI, UMTS等)
2、手機狀態發生改變時,發送廣播
3、當一個網路連接失敗時進行故障切換
4、為應用程序提供可以獲取可用網路的高精度和粗糙的狀態
當我們要在程序中監聽網路狀態時,只要一下幾個步驟即可:
1、定義一個Receiver重載其中的onReceive函數,在其中完成所需要的功能,如根據WIFI和GPRS是否斷開來改變空間的外觀
復制代碼 代碼如下:
connectionReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectMgr = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo mobNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifiNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (!mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) {
Log.i(TAG, "unconnect");
// unconnect network
}else {
// connect network
}
}
};
2、在適當的地方注冊Receiver,可以在程序中注冊,在onCreate中調用如下函數即可:
復制代碼 代碼如下:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(connectionReceiver, intentFilter);
3、在適當時取消注冊Receiver,可以在程序中取消,在onDestroye中調用如下函數即可:
復制代碼 代碼如下:
if (connectionReceiver != null) {
unregisterReceiver(connectionReceiver);
}