[tor-bugs] #19945 [Core Tor/Tor]: tor 0.2.8.5-rc connecting/binding to 18.0.0.1 (regression)
Tor Bug Tracker & Wiki
blackhole at torproject.org
Sat Aug 20 04:33:40 UTC 2016
#19945: tor 0.2.8.5-rc connecting/binding to 18.0.0.1 (regression)
---------------------------------------+---------------------------------
Reporter: landers | Owner:
Type: defect | Status: new
Priority: Medium | Milestone: Tor: 0.2.???
Component: Core Tor/Tor | Version: Tor: 0.2.8.5-rc
Severity: Normal | Resolution:
Keywords: regression, windows, easy | Actual Points:
Parent ID: | Points: 1.0
Reviewer: | Sponsor:
---------------------------------------+---------------------------------
Changes (by teor):
* keywords: regression => regression, windows, easy
* points: => 1.0
* milestone: Tor: 0.2.8.x-final => Tor: 0.2.???
Comment:
This isn't a bug - this is Tor functioning as designed to protect client
anonymity, even if you change networks.
Tor clients generate a new SSL certificate each time their IP address
changes - this makes sure they can't be tracked across different networks.
(See client_check_address_changed for details.)
Tor uses two methods to find the address, GetAdaptersAddresses and the
"UDP socket hack": asking the machine the local address of a UDP socket.
For the hack to work, the socket has to be associated with a public IP
address. Tor never sends data on the socket, it's entirely safe to block
it with your firewall. Tor's just using it to check if your local address
has changed.
Here are the gory details:
Tor uses get_interface_address6 to find the client's address, which calls
get_interface_address6_list, which calls get_interface_addresses_raw,
which calls GetAdaptersAddresses. If GetAdaptersAddresses fails to provide
any addresses, get_interface_address6_list calls
get_interface_address6_via_udp_socket_hack to make sure we know the
address (this extra method of finding the IP address was added in #17951).
In this case, it's likely that GetAdaptersAddresses failed to return any
addresses, and to the UDP socket hack is being used to find the client IP
address. To confirm this, please check the info-level logs for messages
like:
{{{
Unable to load iphlpapi.dll
Unable to obtain pointer to GetAdaptersAddresses
GetAdaptersAddresses failed (result:
}}}
It would be great if a Windows dev could update the code in
get_interface_addresses_win32 to correctly find the IP address on newer
systems. (We really, really need help from developers who can program on
Windows!)
But this fix is not urgent. As far as I can tell, Tor is functioning as
designed to make sure that users can't be linked when they change IP
addresses. (Even though GetAdaptersAddresses isn't working.)
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/19945#comment:3>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list