If you are concerned about what information an app is sending about you (your privacy concerns) is there any way of tracking this? Can you see if an app is sending photos on your phone? Can you see if it is sending the text that you type in it?

In general can you log the information that an app (application) sends over the network from your phone? Would it be readable? Or at least should it be readable?


Sniffing the network traffic would require root for the app that does the sniffing part. This can easily be done with "shark for root". But you won't get any end-user friendly information, just the raw packet data that's been send and received from your phone. That information needs to be matched to a particular app and action (e.g. app xy is uploading photo file x123.jpg).

Generally you don't want an app to be able to read and log another apps network traffic for security and privacy reasons. That's why you need root for that.

Even if you could read and log the packets from other apps, it's easy to disguise the malicious data as something normal. It is not so easy to reveal that.

Side Note: If you don't trust an app which has network access, don't install it. If you really need the app and you know that it works also without Internet although the app requests permission to use it, some custom mods will allow you to block internet access without the app knowing.

  • can you say anything more about the custom mods to block the internet access without the app knowing?...
    – Vass
    Oct 19 '11 at 23:04
  • ,there seems to be a program shark reader, does this help? market.android.com/….
    – Vass
    Oct 21 '11 at 8:11
  • @Vass I've added a link. Shark read does just show contents of capture files. It may be more convenient to view them with wireshark on an PC.
    – Flow
    Oct 21 '11 at 8:13
  • 1
    If the phone is rooted, no need for a custom mod in order to block network. DroidWall allows you to block network access for any app, without the app being able to do anything about it. (Basically a frontend for iptables.) Nov 24 '11 at 20:03

You can run tcpdump on the background(compiled for Android processor of course) in a shell, save the captured file and analyze later with wireshark on your pc. That solution will not tell you what application sent the data, but enables you to examine what your phone sends and where. The great benefit is tcpdump under normal situations does not consume many resources, so you will not experience any lag on your phone.


Is it possible to track what personal information an app is unloading? In general, the answer is no.

Sniffing the precise data the the software is uploading - either through installing some specific software on a rooted device, or by sniffing the traffic elsewhere between the device and the Internet (e.g. on your wireless router) - is a very good idea and will help you understand what the application is doing, but unfortunately the actual information might be mangled in some form or even encrypted, in a way which will prevent you from really knowing what the application is sending.

Actually, it's a known security problem - for instance take a look at this academic paper, which proposes a way to track how your personal data is used during the application execution; though its proposed approach does have some limitations and can be circumvented by other tricks.

My personal rule of thumb is to avoid applications which require both Internet access and access to private data, unless I have a high level of trust in the author.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.