Every installation of Tor includes a server and communication protocol used to control all aspects of client’s operation.
First enable the control port, which is disabled by default. There are several ways we can enable it:
- Edit torrc configuration file (normally located in /etc/tor/torrc on unix systems). Uncomment ControlPort line as follows:
## The port on which Tor will listen for local connections from Tor
## controller applications, as documented in control-spec.txt.
- Enable control port using
tor --controlport 9051
Connecting to Control Port
Once control port is enabled, we can connect to it using any telnet client:
$ telnet localhost 9051
As soon as you connect you must authenticate using predifined password hash which is
""by default. You may change control port password by editing HashedControlPassword line in torrc configuration file. Use authenticate keyword to login.
Tor Control Commands
Viewing and Setting configuration variables
Tor depends on several configuration variables which can be viewed and changed. Most of these variables are set in torrc file, but you can override them at run time.
getconf — get a value stored in a configuration variable.
getconf controlport 250 ControlPort=9051
setconf — set configuration variables. Most of them can be set in torrc file; however, there are several variables (e.g. __DisablePredictedCircuits) which can only be set through through control interface.
setconf controlport=9051 250 OK
resetconf — reset configuration variable to its default value.
resetconf controlport 250 OK getconf controlport 250 ControlPort=0
saveconf — save current configuration values to torrc file. Special values such as __DisablePredictedCircuits will not be saved. For a complete listing of configuration variables that you can view or set issue the following command: