ooni / probe

OONI Probe network measurement tool for detecting internet censorship
https://ooni.org/install
BSD 3-Clause "New" or "Revised" License
754 stars 142 forks source link

cli: possibility of running dnscheck #1262

Closed bassosimone closed 3 years ago

bassosimone commented 3 years ago

Discussed right now in the community meeting. [Update: I have implemented this in the CLI. If you scroll down to the bottom, I have created a number of follow-up issues to continue working on improving DNSCheck.]

bassosimone commented 3 years ago

@sarathms adds:

The simplest would be the one in renderer/components/nettests/performance/Dash.js

However, it could as simple as: const DNSCheck = ({ render }) => render({ hero: <div /> }).

wired to the map here with whatever test_name probe-cli uses: https://github.com/ooni/probe-desktop/blob/master/renderer/components/measurement/MeasurementContainer.js#L48

bassosimone commented 3 years ago

We did progress by exposing DNSCheck from the CLI. I am going to create derived issues for the experimental nettest group for both mobile and desktop. These issues will allow us to make further progress in this respect.

bassosimone commented 3 years ago

Okay. I have created all the follow-up issues that seem to make sense to me. I'll further analyze this plan later today with @hellais and we will also refine the content of the issues as well as the assignee. We can close this specific issue now.

charlie39 commented 2 years ago

can we run dnscheck from the probe now ?

bassosimone commented 2 years ago

Yes, with ooniprobe run experimental

samqi commented 2 weeks ago
Running experimental tests
[engine] ooniprobe-engine/v3.23.0 7e9a078d54a1a0911654e6389a0e3d2b916c6b19 dirty=false go1.21.11
[engine] iplookup: using stun_google
[engine] sessionresolver: lookup stun.l.google.com using https://dns.google/dns-query... started
[engine] sessionresolver: lookup stun.l.google.com using https://dns.google/dns-query... ok
[engine] sessionresolver: lookup api.ooni.io using https://dns.quad9.net/dns-query... started
[engine] sessionresolver: lookup api.ooni.io using https://dns.quad9.net/dns-query... ok
[engine] httpsDialer: [#2] tactic '{"Address":"162.55.247.208","InitialDelay":0,"Port":"443","SNI":"api.ooni.io","VerifyHostname":"api.ooni.io"}' is ready
[engine] httpsDialer: [#2] TCPConnect 162.55.247.208:443... started
[engine] httpsDialer: [#2] TCPConnect 162.55.247.208:443... ok
[engine] httpsDialer: [#2] TLSHandshake with 162.55.247.208:443 SNI=api.ooni.io ALPN=[h2 http/1.1]... started
[engine] httpsDialer: [#2] TLSHandshake with 162.55.247.208:443 SNI=api.ooni.io ALPN=[h2 http/1.1]... ok
[engine] httpsDialer: [#2] TLSVerifyCertificateChain api.ooni.io... started
[engine] httpsDialer: [#2] TLSVerifyCertificateChain api.ooni.io... ok
[engine] session: using probe services: {Address:https://api.ooni.io/ Type:https Front:}
   0.00% processing input: https://dns.google/dns-query 
   0.40% processing input: https://8.8.8.8/dns-query (668ms left)
   0.79% processing input: dot://8.8.8.8:853/ (414ms left)
   1.19% processing input: dot://8.8.4.4:853/ (313ms left)
   1.59% processing input: https://8.8.4.4/dns-query (259ms left)
   1.98% processing input: https://cloudflare-dns.com/dns-query (222ms left)
   2.38% processing input: https://1.1.1.1/dns-query (197ms left)
   2.78% processing input: https://1.0.0.1/dns-query (179ms left)
   3.17% processing input: dot://1.1.1.1:853/ (163ms left)
   3.57% processing input: dot://1.0.0.1:853/ (151ms left)
   3.97% processing input: https://dns.quad9.net/dns-query (142ms left)
   4.37% processing input: https://9.9.9.9/dns-query (132ms left)
   4.76% processing input: dot://9.9.9.9:853/ (125ms left)
   5.16% processing input: dot://dns.quad9.net/ (119ms left)
   5.56% processing input: https://family.cloudflare-dns.com/dns-query (113ms left)
   5.95% processing input: dot://family.cloudflare-dns.com/dns-query (107ms left)
   6.35% processing input: https://dns11.quad9.net/dns-query (102ms left)
   6.75% processing input: dot://dns11.quad9.net/dns-query (96ms left)
   7.14% processing input: https://dns9.quad9.net/dns-query (91ms left)
   7.54% processing input: dot://dns9.quad9.net/dns-query (86ms left)
   7.94% processing input: https://dns12.quad9.net/dns-query (82ms left)
   8.33% processing input: dot://dns12.quad9.net/dns-query (77ms left)
   8.73% processing input: https://1dot1dot1dot1.cloudflare-dns.com/dns-query (73ms left)
   9.13% processing input: dot://1dot1dot1dot1.cloudflare-dns.com/dns-query (69ms left)
   9.52% processing input: https://dns.adguard.com/dns-query (65ms left)
   9.92% processing input: dot://dns.adguard.com/dns-query (61ms left)
   10.32% processing input: https://dns-family.adguard.com/dns-query (57ms left)
   10.71% processing input: dot://dns-family.adguard.com/dns-query (53ms left)
   11.11% processing input: https://dns.cloudflare.com/dns-query (49ms left)
   11.51% processing input: https://adblock.doh.mullvad.net/dns-query (45ms left)
   11.90% processing input: dot://adblock.doh.mullvad.net/dns-query (42ms left)
   12.30% processing input: https://dns.alidns.com/dns-query (38ms left)
   12.70% processing input: dot://dns.alidns.com/dns-query (34ms left)
   13.10% processing input: https://doh.opendns.com/dns-query (31ms left)
   13.49% processing input: https://dns.nextdns.io/dns-query (27ms left)
   13.89% processing input: dot://dns.nextdns.io/dns-query (24ms left)
   14.29% processing input: https://dns10.quad9.net/dns-query (20ms left)
   14.68% processing input: dot://dns10.quad9.net/dns-query (17ms left)
   15.08% processing input: https://security.cloudflare-dns.com/dns-query (13ms left)
   15.48% processing input: dot://security.cloudflare-dns.com/dns-query (10ms left)
   15.87% processing input: https://dns.switch.ch/dns-query (7ms left)
   16.27% processing input: dot://dns.switch.ch/dns-query (3ms left)
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
│ #158                                             │
│ https://dns.google/dns-query (MISC)              │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #159                                             │
│ https://8.8.8.8/dns-query (MISC)                 │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #160                                             │
│ dot://8.8.8.8:853/ (MISC)                        │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #161                                             │
│ dot://8.8.4.4:853/ (MISC)                        │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #162                                             │
│ https://8.8.4.4/dns-query (MISC)                 │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #163                                             │
│ https://cloudflare-dns.com/dns-query (MISC)      │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #164                                             │
│ https://1.1.1.1/dns-query (MISC)                 │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #165                                             │
│ https://1.0.0.1/dns-query (MISC)                 │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #166                                             │
│ dot://1.1.1.1:853/ (MISC)                        │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #167                                             │
│ dot://1.0.0.1:853/ (MISC)                        │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #168                                             │
│ https://dns.quad9.net/dns-query (MISC)           │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #169                                             │
│ https://9.9.9.9/dns-query (MISC)                 │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #170                                             │
│ dot://9.9.9.9:853/ (MISC)                        │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #171                                             │
│ dot://dns.quad9.net/ (MISC)                      │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #172                                             │
│ https://family.cloudflare-dns.com/dns-query (MISC) │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #173                                             │
│ dot://family.cloudflare-dns.com/dns-query (MISC) │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #174                                             │
│ https://dns11.quad9.net/dns-query (MISC)         │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #175                                             │
│ dot://dns11.quad9.net/dns-query (MISC)           │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #176                                             │
│ https://dns9.quad9.net/dns-query (MISC)          │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #177                                             │
│ dot://dns9.quad9.net/dns-query (MISC)            │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #178                                             │
│ https://dns12.quad9.net/dns-query (MISC)         │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #179                                             │
│ dot://dns12.quad9.net/dns-query (MISC)           │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #180                                             │
│ https://1dot1dot1dot1.cloudflare-dns.com/dns-query (MISC) │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #181                                             │
│ dot://1dot1dot1dot1.cloudflare-dns.com/dns-query (MISC) │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #182                                             │
│ https://dns.adguard.com/dns-query (MISC)         │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #183                                             │
│ dot://dns.adguard.com/dns-query (MISC)           │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #184                                             │
│ https://dns-family.adguard.com/dns-query (MISC)  │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #185                                             │
│ dot://dns-family.adguard.com/dns-query (MISC)    │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #186                                             │
│ https://dns.cloudflare.com/dns-query (MISC)      │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #187                                             │
│ https://adblock.doh.mullvad.net/dns-query (MISC) │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #188                                             │
│ dot://adblock.doh.mullvad.net/dns-query (MISC)   │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #189                                             │
│ https://dns.alidns.com/dns-query (MISC)          │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #190                                             │
│ dot://dns.alidns.com/dns-query (MISC)            │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #191                                             │
│ https://doh.opendns.com/dns-query (MISC)         │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #192                                             │
│ https://dns.nextdns.io/dns-query (MISC)          │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #193                                             │
│ dot://dns.nextdns.io/dns-query (MISC)            │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #194                                             │
│ https://dns10.quad9.net/dns-query (MISC)         │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #195                                             │
│ dot://dns10.quad9.net/dns-query (MISC)           │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌            │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #196                                             │
│ https://security.cloudflare-dns.com/dns-query (MISC) │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌             │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #197                                             │
│ dot://security.cloudflare-dns.com/dns-query (MISC) │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌             │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #198                                             │
│ https://dns.switch.ch/dns-query (MISC)           │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌             │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪
│ #199                                             │
│ dot://dns.switch.ch/dns-query (MISC)             │
│ dnscheck                 ok: ✓                   │
│ success: ❌               uploaded: ❌             │
┢━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┪