def diagnose(self): """Run diagnostics and return the results.""" results = super().diagnose() interfaces = _get_shared_interfaces() addresses = _get_interface_addresses(interfaces) for address in addresses: results.append(daemon.diagnose_port_listening(53, 'tcp', address)) results.append(daemon.diagnose_port_listening(53, 'udp', address)) results.append(_diagnose_dnssec('4')) results.append(_diagnose_dnssec('6')) return results
def diagnose(self): """Run diagnostics and return the results.""" results = super().diagnose() results.append(daemon.diagnose_port_listening(8000, 'tcp4')) results.extend( diagnose_url_on_all('http://{host}/plinth/', check_certificate=False)) return results
def diagnose(self): """Run diagnostics and return the results.""" results = super().diagnose() results.extend(_diagnose_control_port()) output = actions.superuser_run('tor', ['get-status']) ports = json.loads(output)['ports'] results.append([ _('Tor relay port available'), 'passed' if 'orport' in ports else 'failed' ]) if 'orport' in ports: results.append( diagnose_port_listening(int(ports['orport']), 'tcp4')) results.append( diagnose_port_listening(int(ports['orport']), 'tcp6')) results.append([ _('Obfs3 transport registered'), 'passed' if 'obfs3' in ports else 'failed' ]) if 'obfs3' in ports: results.append(diagnose_port_listening(int(ports['obfs3']), 'tcp4')) results.append(diagnose_port_listening(int(ports['obfs3']), 'tcp6')) results.append([ _('Obfs4 transport registered'), 'passed' if 'obfs4' in ports else 'failed' ]) if 'obfs4' in ports: results.append(diagnose_port_listening(int(ports['obfs4']), 'tcp4')) results.append(diagnose_port_listening(int(ports['obfs4']), 'tcp6')) results.append(_diagnose_url_via_tor('http://www.debian.org', '4')) results.append(_diagnose_url_via_tor('http://www.debian.org', '6')) results.append(_diagnose_tor_use('https://check.torproject.org', '4')) results.append(_diagnose_tor_use('https://check.torproject.org', '6')) return results
def test_diagnose_port_listening(connections): """Test running port listening diagnostics test.""" connections.return_value = [ Mock(status='LISTEN', laddr=('0.0.0.0', 1234), family=socket.AF_INET), Mock(status='ESTABLISHED', laddr=('0.0.0.0', 2345), family=socket.AF_INET), Mock(raddr=(), laddr=('0.0.0.0', 3456), family=socket.AF_INET), Mock(raddr=('1.1.1.1', 53), laddr=('0.0.0.0', 4567), family=socket.AF_INET), Mock(status='LISTEN', laddr=('::1', 5678), familiy=socket.AF_INET6), Mock(status='LISTEN', laddr=('::', 6789), familiy=socket.AF_INET6), Mock(raddr=(), laddr=('::1', 5678), familiy=socket.AF_INET6), Mock(raddr=(), laddr=('::', 6789), familiy=socket.AF_INET6), ] # Check that message is correct results = diagnose_port_listening(1234) assert results == ['Listening on tcp port 1234', 'passed'] results = diagnose_port_listening(1234, 'tcp', '0.0.0.0') assert results == ['Listening on tcp port 0.0.0.0:1234', 'passed'] # Failed results results = diagnose_port_listening(4321) assert results == ['Listening on tcp port 4321', 'failed'] results = diagnose_port_listening(4321, 'tcp', '0.0.0.0') assert results == ['Listening on tcp port 0.0.0.0:4321', 'failed'] # Check if psutil call is being made with right argument results = diagnose_port_listening(1234, 'tcp') connections.assert_called_with('tcp') results = diagnose_port_listening(1234, 'tcp4') connections.assert_called_with('tcp') results = diagnose_port_listening(1234, 'tcp6') connections.assert_called_with('tcp6') results = diagnose_port_listening(3456, 'udp') connections.assert_called_with('udp') results = diagnose_port_listening(3456, 'udp4') connections.assert_called_with('udp') results = diagnose_port_listening(3456, 'udp6') connections.assert_called_with('udp6') # TCP assert diagnose_port_listening(1234)[1] == 'passed' assert diagnose_port_listening(1000)[1] == 'failed' assert diagnose_port_listening(2345)[1] == 'failed' assert diagnose_port_listening(1234, 'tcp', '0.0.0.0')[1] == 'passed' assert diagnose_port_listening(1234, 'tcp', '1.1.1.1')[1] == 'failed' assert diagnose_port_listening(1234, 'tcp6')[1] == 'passed' assert diagnose_port_listening(1234, 'tcp4')[1] == 'passed' assert diagnose_port_listening(6789, 'tcp4')[1] == 'passed' assert diagnose_port_listening(5678, 'tcp4')[1] == 'failed' # UDP assert diagnose_port_listening(3456, 'udp')[1] == 'passed' assert diagnose_port_listening(3000, 'udp')[1] == 'failed' assert diagnose_port_listening(4567, 'udp')[1] == 'failed' assert diagnose_port_listening(3456, 'udp', '0.0.0.0')[1] == 'passed' assert diagnose_port_listening(3456, 'udp', '1.1.1.1')[1] == 'failed' assert diagnose_port_listening(3456, 'udp6')[1] == 'passed' assert diagnose_port_listening(3456, 'udp4')[1] == 'passed' assert diagnose_port_listening(6789, 'udp4')[1] == 'passed' assert diagnose_port_listening(5678, 'udp4')[1] == 'failed'