ripe atlas measurements analysis - caletkařej.caletka.cz/dl/slidy/20180603-pycon-ripe...2018/06/03...
TRANSCRIPT
RIPE Atlas measurements analysis
Ondřej Caletka
3rd June 2018
Available under Crea ve Commons A ribu on 3.0.
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 1 / 28
About RIPE Atlas
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 2 / 28
RIPE Atlas
ac ve Internet measurements systemdeveloped since 2010hardware probes hosted by volunteers10000 probes world-wide (250 in CZ)built-in and user defined measurementsmeasuring the lowest-level of IP network func ons
pingtracerouteDNS
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 3 / 28
RIPE atlas probehardware used considering low power consump on and priceUSB powered, 10/100Mbps Ethernetno controls, no web interface, no open portcan be hosted behind NATcommunicates with C&C servers hosted by RIPE NCCconducts measurements and uploads reports
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 4 / 28
Probes version 1 and 2
based on Lantronics Xport ProMMU-less CPU, uClinuxBusybox-based measuring so wareproduc on stopped in 2012
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 5 / 28
Probes version 3based on TP-Link MR3020cheaper and powerfulfirmware based na OpenWRTUSB flash drive for OS a datano support for buil n Wi-Fi
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 6 / 28
Atlas Anchor probespowerful probes for datacenters, bought by hosts for cca. 770 €act as a target for measurements by small probesbased on
1 Dell PowerEdge servers (pilot only)2 Soekris Net6501-70 (un l 2017)3 PC Engines APU2 (current)4 virtual appliances (pilo ng)
333 anchors world-wide, 7 in CZ
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 7 / 28
Inside Atlas Anchor
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 8 / 28
Atlas Anchor services
Authorita ve DNS server$ dig 512.4.dns.cz-prg-as2852.anchors.atlas.ripe.net txt"XXXXXXXXXXXXXXXXXXXXXXXXXXXX……XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
HTTP(S) server$ curl http://cz-prg-as2852.anchors.atlas.ripe.net/3{
"anchor": "cz-prg-as2852.anchors.atlas.ripe.net","client": "2001:718:1:6::134:196","payload": "AAA"
}
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 9 / 28
What do probes measurePing selected targetsTraceroute to selected targetsDNS queries to root serversHTTP requests to ripe.netSSL connec on to ripe.netUser-defined measurements
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 10 / 28
User-defined measurements
you can run your measurements on the whole networkpayment by a virtual currencycredits awarded for hos ng a probeJSON REST APIoficial Python libraries
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 11 / 28
How to measure
not necessary to host a probe (unless you live in a not yet covered area)create a RIPE NCC Access accunt https://access.ripe.netask someone for creditsuse the results that are already available
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 12 / 28
Interes ng results
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 13 / 28
Wikipedia CDN analysis
Amsterdam Ashburn San Franciscosource
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 14 / 28
DNS hijack in Turkey ①21. 3. 2014 blocked Twi er on ISPs’ DNS servers25. 3. 2014 blocked Google Public DNS and similar28. 3. 2014 fake DNS server on hijacked 8.8.8.8
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 15 / 28
DNS hijack in Turkey ②4. 4. 2014 unblocked Twi er and YouTube7. 4. 2014 DNS server hijack endednobody made any statement about the hijack
sourceOndřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 16 / 28
IPv4 MTU problems
source
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 17 / 28
IPv6 MTU problems
source
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 18 / 28
Are all IP addresses equal?
classful rou ng legacyadresses ending .0 nebo .255 can be considered network/broadcastaddresses2 – 4 % probes is not able to ping address ending .0much bigger issue in former C-class block (192.* – 223.*)
source
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 19 / 28
Working with results
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 20 / 28
Official Python libraries
Sagan parsing of resultsCousteau control of RIPE AtlasMagellan CLI tools
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 21 / 28
Workshop agenda
set-up Magellanlook into the rendererstry to improve them!
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 22 / 28
Magellan installa on
we use GitHub versioninstall into Pythonu 3 virtual environment
python3 -m venv venvvirtualenv -p python3 venvmkvirtualenv atlaspipenv
install in the developer mode pip install -e
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 23 / 28
Magellan installa on$ mkdir atlas$ cd atlas$ python3 -m venv venv$ source venv/bin/activate(venv) $ git clone https://github.com/RIPE-NCC/ripe-atlas-tools(venv) $ pip install -e ripe-atlas-tools(venv) $ ripe-atlas stream 1695916
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 24 / 28
Home directory installa on$ mkdir -p ~/.config/ripe-atlas-tools/renderers$ touch ~/.config/ripe-atlas-tools/renderers/__init__.py$ cat > ~/.config/ripe-atlas-tools/renderers/my_renderer.py <<EOFfrom ripe.atlas.tools.renderers.base import Renderer as BaseRendererclass Renderer(BaseRenderer):
RENDERS = [BaseRenderer.TYPE_PING]def on_result(self, result):
return "Ping from {r.probe_id}\n".format(r=result)EOF(venv) $ ripe-atlas stream 1695916 --renderer my_renderer
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 25 / 28
Edi ng inside the Magellan package$ cd ripe-atlas-tools/ripe/atlas/tools/renderers/$ cp ping.py my_ping.py(venv) $ ripe-atlas stream 1695916 --renderer my_ping
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 26 / 28
What can we try to hack
add ping stats at the endadd colours to the output (they are already in DNS measurements)add network operators name to the traceroute
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 27 / 28
Thank you!
Ondřej [email protected] ps://Ondřej.Caletka.cz
Slides are already online.
Ondřej Caletka (CESNET, z. s. p. o.) RIPE Atlas measurements analysis 3rd June 2018 28 / 28