‘壹’ 如何监控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);
}