{{Header}} __FORCETOC__
{{Title|title=
tor-ctrl-observer - Tor Connection Destination Viewer
}}
{{#seo:
|description=Ever wanted to know which information is sent by an application? tor-ctrl-observer shows connection information of applications using Tor.
|image=TorControl12312.png
}}
{{tor_mininav}}
[[File:TorControl12312.png|thumb]]
{{intro|
Ever wanted to know which information is sent by an application? tor-ctrl-observer shows connection information of applications using Tor.
}}
= What tor-ctrl-observer is =
Ever wanted to know which information is sent by an application? <code>tor-ctrl-observer</code> shows connection information of applications using Tor.

Sample printout:

<pre>
250-stream-status=1094 SENTCONNECT 20 firefox.settings.services.mozilla.com:443
250-stream-status=1094 SUCCEEDED 20 18.64.79.82:443
</pre>

<code>tor-ctrl-observer</code> is especially useful in combination with {{project_name_long}} because:<br />
{{TorifiedGateway}}

It operates in a secure manner by using Tor's control protocol, making visible the information that Tor internally processes and is already prepared to share with users upon request.

= tor-ctrl-observer Advantages =
* <u>Application-level leak testing:</u> <code>tor-ctrl-observer</code> can be used to observe an application's network connections.
** For example, [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40788 Tor Browser 11.0.4-11.0.6 phoning home] (a regression of [https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/31575 Firefox phoning home during startup in Tor Browser based on ESR 68]) was identified and reported to The Tor Project by <code>tor-ctrl-observer</code> developer [https://github.com/nyxnor nyxnor].

= Usage =
In {{project_name_gateway_long}}.

'''1.''' Open a terminal.

'''2.''' Run <code>tor-ctrl-observer</code>.

{{CodeSelect|code=
tor-ctrl-observer
}}

'''3.''' Terminate <code>tor-ctrl-observer</code> with signal <code>SIGINT</code>.

Press keyboard keys <code>Ctrl</code> + <code>C</code>.

= What tor-ctrl-observer is not =
<code>tor-ctrl-observer</code> does not attempt to be, is not, and cannot be a:

* <u>Network-level [[Dev/Leak Tests|leak test]] replacement:</u> <code>tor-ctrl-observer</code> only requests connection information from Tor itself. While Tor generally provides this information, if there were bugs in the Tor control protocol, <code>tor-ctrl-observer</code> would not detect them. Similarly, if connections bypass Tor, Tor is unaware of them, and therefore <code>tor-ctrl-observer</code> cannot observe such connections.
* <u>Tor auditor:</u> For the same reason as above, <code>tor-ctrl-observer</code> cannot be expected to identify bugs in Tor.
* <u>[[Tor Controller]]:</u> Unlike tools such as [[Nyx]], <code>nyx</code> provides details on Tor circuits ([[Bridges]], [[Tor Entry Guards]], and middle or exit relays), but does not show final connection destinations. Conversely, <code>tor-ctrl-observer</code> displays information about final connection destinations.

= Forum Discussion =
[https://forums.whonix.org/t/tor-ctrl-tor-control-port-command-line-tool/8074/41 Tor-ctrl-observer discussion on Whonix forums]

= See Also =
* [[Tor Controller]]

= Footnotes =
{{reflist|close=1}}
{{Footer}}
[[Category:Documentation]]