I assume you would like to hide the Tor usage from your ISP and/or people in charge of internet censorship where you live and use internet. If thats the case you have some options.
You may use bridges, they will hide your Tor usage to some extend. However, if authorities really focus on you they eventually will find out you are using Tor.
One technique is to firewall your computer off so it can only communicate through Tor, and then use the application, watching your firewall logs.
Set up a Tor bridge on another host in your network/on the internet.
Boot your client/testing machine from a LiveCD.
Install Tor on your client, have it point to the bridge.
Use a firewall such as shorewall or ...
Unfortunately, neither method is completely foolproof.
With SOCKS, the application may implement socks proxy support in a way that leaks DNS requests; you need to verify that the program delegates DNS lookups to the proxy (i.e. Tor), rather than handling its own DNS requests.
With a HTTP proxy, the some proxies may insert headers that could be used to ...
I've just tested this in a CrunchBang 11 x64 VM. It should work in Ubuntu and the rest of the Debian family. First install Wireshark, by opening a terminal and running these commands:
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install wireshark
To configure wireshark to allow a non-root user to sniff packets, run
Some applications can either leak sensitive information through the Tor channel or they can make communication outside of the Tor channel which could lead to identification of your computer in the Tor network.
Is there a list of applications which are known for such leaks?
The most central place is the TorifyHOWTO in The Tor Project's wiki.
If you enable tcp-upstream: yes in your unbound configuration, the remote DNS server should also be able to reply to TCP requests, in other words, to be listening on port 53 TCP. I couldn't find a free DNSSEC enabled server that does this, all of them talk only UDP.
The 3 configuration examples given offer different benefits and drawbacks. Our preference would be towards #1, as this minimizes latency while offering security on the transportation layer (and with a DNSSEC validating cache, validation of the origin and answer itself).
From a security standpoint, this should allow the same level of protection that Tor ...
Alternative to detecting unwanted traffic on a network level (by firewall or a packet sniffer like tcpdump) is to watch system calls of the application. For example on Linux you can run the application under control of strace:
strace -e trace=socket,getsockopt,setsockopt,getsockname,connect,bind,send,sendto,sendmsg,recv,recvfrom,recvmsg ...
Bridges and Pluggable transports are pretty much made for this. There are many to choose from.
A very recent one called meek makes it look like you connect to Google or Amazon and in fact you connect to their servers, however you actually end up on a Google App Engine or Amazon EC2 server operated by the Tor project. More information about this specific ...
They will know you're (likely) using curl, similarly they might know you're using wget or pythons urllib based on the behaviour and other headers. They might be able to guess at other aspects of the system, sometimes information like architecture can be sent in headers (x86_64, i386, arm, ..., etc), I've seen kernel versions and linux distro reported in user-...
DO NOT USE A VPN WITH TOR
This has been documented to be a very bad idea. The VPN will track everything you do, and destroy your anonymity.
Just connect directly to Tor, and if needed to access Tor, use bridges
Generally speaking, if it works with torsocks wrapping it, it should be fine.
torsocks can cause some features to break but it shouldn't result in any leaks under normal circumstances.
It's hard to tell without thorough review if any program is 100% safe, but outside of a few common situations where it may leak most applications should be fine.
You could capture the traffic with a tool like WireShark.
If it logs a direct connect to the used URL then the app is not using the Tor Socks Proxy.
torify is maybe also an alternative for you, it easily tunnels the network traffic through tor without having to configure the app you want to execute. A tutorial can be found here
Tor Project suggest two ways to use Tor :
Tor Browser if you want just to browse webpages (https://www.torproject.org/projects/torbrowser.html.en)
Tails Live Linux to have a better experience with an operating system. (https://tails.boum.org)
If you're able to run your application in Tails which is based on Debian GNU/Linux perhaps it's the safer path to ...