[tor-bugs] #20501 [Core Tor/DocTor]: Scan 0.2.9.x relays to see if they're serving an out-of-date consensus?
Tor Bug Tracker & Wiki
blackhole at torproject.org
Mon Oct 31 18:01:55 UTC 2016
#20501: Scan 0.2.9.x relays to see if they're serving an out-of-date consensus?
-----------------------------+------------------------
Reporter: arma | Owner: atagar
Type: enhancement | Status: new
Priority: Medium | Milestone:
Component: Core Tor/DocTor | Version:
Severity: Normal | Resolution:
Keywords: | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
-----------------------------+------------------------
Comment (by atagar):
Hi Roger, seems 0.3.0.0 is having issues. 20 of 5002 relays with a DirPort
are serving stale consensus data. In total there's 22 relays running
0.3.0.0-alpha-dev so this is just about all of them..
{{{
FC64CD763F8C1A319BFBBF62551684F4E1E42332 (0.3.0.0-alpha-dev): consensus
expired at 2016-10-28T16:00:00
F864BDEB66C8A11E209456846499C2F995435797 (0.3.0.0-alpha-dev): consensus
expired at 2016-10-24T07:00:00
EF887B1997DD786E47CBCAA3F445212467356EBE (0.3.0.0-alpha-dev): consensus
expired at 2016-10-22T03:00:00
EF65A4EFF948EA429430FDB834AB9C5F992E81F6 (0.3.0.0-alpha-dev): consensus
expired at 2016-10-28T16:00:00
D5B8C38539C509380767D4DE20DE84CF84EE8299 (0.2.9.4-alpha): consensus
expired at 2016-10-21T16:00:00
CCC158EA3BB02E4E443BD1F317457CC9E845B050 (0.3.0.0-alpha-dev): consensus
expired at 2016-10-28T15:00:00
C79552275DFCD486B942510EF663ED36ACA1A84B (0.3.0.0-alpha-dev): consensus
expired at 2016-10-27T12:00:00
B210DF76804619395044D139E826D4AAC939CADB (0.3.0.0-alpha-dev): consensus
expired at 2016-10-28T15:00:00
ABF5C38A93F2D7E77A226871AB0ADB052279B48F (0.3.0.0-alpha-dev): consensus
expired at 2016-10-30T13:00:00
A6B0521C4C1FB91FB66398AAD523AD773E82E77E (0.3.0.0-alpha-dev): consensus
expired at 2016-10-28T03:00:00
A69221A7EC7498D2F88A0FB795261013FA36CAAE (0.3.0.0-alpha-dev): consensus
expired at 2016-10-26T23:00:00
9E0B9F902F83E96C352E3B9ECEA4B60B1301A7A1 (0.3.0.0-alpha-dev): consensus
expired at 2016-10-20T03:00:00
7FF5DF2E673F4F171C6DB99BA0FA2D9F32A17152 (0.2.9.4-alpha): consensus
expired at 2016-10-24T22:00:00
51377C496818552E263583A44C796DF3FB0BC71B (0.3.0.0-alpha-dev): consensus
expired at 2016-10-28T02:00:00
48288B0E2473F54A8B9029E0231F2D2F7F7967FD (0.3.0.0-alpha-dev): consensus
expired at 2016-10-26T22:00:00
41F07731207742860D43AC426FBAE2F3947BD1CA (0.3.0.0-alpha-dev): consensus
expired at 2016-10-26T16:00:00
3DE567C1350C0E858C6147AECB06EA9B3EAF3261 (0.2.9.2-alpha): consensus
expired at 2016-10-13T07:00:00
38A42B8D7C0E6346F4A4821617740AEE86EA885B (0.3.0.0-alpha-dev): consensus
expired at 2016-10-28T02:00:00
2D49BA84E74E373CD73CDEB09227FDF116155A07 (0.3.0.0-alpha-dev): consensus
expired at 2016-10-28T15:00:00
198E72D653B790F7BED7247812C1F96F7CCE56FF (0.3.0.0-alpha-dev): consensus
expired at 2016-10-27T02:00:00
}}}
Full results are attached to this ticket. Here's the script...
{{{
import datetime
from stem.descriptor import DocumentHandler
from stem.descriptor.remote import get_consensus, get_server_descriptors
results_file = open('/home/atagar/results.txt', 'w')
for desc in get_server_descriptors():
if desc.dir_port:
results_file.write('%s (%s): ' % (desc.fingerprint, desc.tor_version))
results_file.flush()
try:
consensus = get_consensus(
endpoints = [(desc.address, desc.dir_port)],
document_handler = DocumentHandler.BARE_DOCUMENT,
timeout = 30,
).run()[0]
except Exception as exc:
results_file.write('failed (%s)\n' % exc)
continue
if datetime.datetime.now() > consensus.valid_until:
results_file.write('consensus expired at %s\n' %
consensus.valid_until.isoformat())
else:
results_file.write('currrent\n')
}}}
> Also, once we have a module in our scanners to do this test
This script took 639 minutes to run (yikes!). Downloading 5002 consensuses
is a non-trivial load on the network so not something I think we should
run on an ongoing fashion unless we have reason to suspect a regression.
> I think all of the relays cache dir stuff, and serve it over their
ORPort...
This requires teaching Stem to talk with tor's ORPort (which I'd love!).
Yawning thought this wouldn't be hard to do.
https://trac.torproject.org/projects/tor/ticket/18856
Did you have any other questions?
--
Ticket URL: <https://trac.torproject.org/ticket/20501#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list