I'm curious as to how I could figure out the API URL an Android application (any app I have installed) uses if it makes API calls to some online server (a RESTful service for example). I presume I have to capture packets on the device and maybe analyse them in Wireshark or something to find the URL? I'm fairly competent in Java/Android development, but a bit lost when it comes to any sort of network analysis business.
相关问题
- How can I create this custom Bottom Navigation on
- Bottom Navigation View gets Shrink Down
- How to make that the snackbar action button be sho
- Listening to outgoing sms not working android
- How to create Circular view on android wear?
相关文章
- android开发 怎么把图片放入drawable的文件夹下
- android上如何获取/storage/emulated/下的文件列表
- androidStudio有个箭头不认识
- SQLite不能创建表
- Windows - Android SDK manager not listing any plat
- Animate Recycler View grid when number of columns
- Why is the app closing suddenly without showing an
- Android OverlayItem.setMarker(): Change the marker
A very fast method.
Go to PlayStore, search for
Packet CaptureDownload, install and run.
It's easy simple and fast. It will give you details about the APIs, URLs and response with their headers.
This application follows the concept of Packet Sniffing. Thus, this might not work with much secured applications like WhatsApp, Facebook, Twitter.
UPDATE 1:
The
Packet Captureis no more available in playstore, try OS Monitoryou can do this with help of wireshark. I am listing steps here
emulator @<AVD name>
)adb install app_file_name.apk
select interface which you want to capture and click start to start capturing. you can see screenshot at http://i.stack.imgur.com/C891Q.png or below
now start using that app so packets will transfer to and fro and wireshark will capture it. you will see details in wireshark like this sreenshot at http://i.stack.imgur.com/9Brdl.png or below
if you have used app covering all sort of activity then you can stop wireshark to capture packets.
now start main business to analyse packets carefully but not all packets are usefull for our job. so lets filter packets which are relevant for you. lets your IP address is 192.168.0.32 then filter all the packets whose IP is this. so filter expression will be
ip.addr==192.168.0.32
apply this filter. still we an apply another filter to list up only relevant packets only so possibly that app is accessing API with HTTP protocol so apply HTTP filter. expression would behttp
. you can apply both are filter at onceip.addr==192.168.0.32 and http
press enter to apply. now you will see most relevant packets for you. you can see the screenshot at http://i.stack.imgur.com/rZ6Vu.png or belowsee the info carefully for listed packets you will see lot of important details, API keys, cookies etc
Use debug proxy. Click on the play Button and you will be able to capture URLs and view more details
https://play.google.com/store/apps/details?id=com.dans.apps.webd