RIPE Atlas - Raw data structure documentation
RIPE Atlas user-defined measurement (UDM) resultsβand results from
probe measurementsβcan be
downloaded in JSON
format. This document describes the data structure of these results,
which can vary by probe firmware version.
Table of contents
-
1. Notes
- 1.1. Versioning
- 1.2. Multiple Addresses in a Result
1.3. JSON Terminology
-
2. Version 1
- 2.1. Ping / v6 Ping
2.2. Traceroute / v6 Traceroute
-
3. Version 4400 ... 4459
- 3.1. Ping / v6 Ping
3.2. Traceroute / v6 Traceroute
3.3. DNS Lookup
3.4. HTTP
3.5. SSL GET Cert
-
4. Version 4460 ... 4539
- 4.1. Ping / v6 Ping
4.2. Traceroute / v6 Traceroute
4.3. DNS Lookup
4.4. HTTP
4.5. SSL GET Cert
-
5. Version 4540 ... 4569
- 5.1. Ping / v6 Ping
5.2. Traceroute / v6 Traceroute
5.3. DNS Lookup
5.4. HTTP
5.5. SSL GET Cert
-
6. Version 4570 ... 4609
- 6.1. Ping / v6 Ping
6.2. Traceroute / v6 Traceroute
6.3. DNS Lookup
6.4. HTTP
6.5. SSL GET Cert
-
7. Version 4610 ... 4749
- 7.1. Ping / v6 Ping
7.2. Traceroute / v6 Traceroute
7.3. DNS Lookup
7.4. HTTP
7.5. NTP
7.6. SSL GET Cert
-
8. Version 4750 (or greater)
- 8.1. Ping / v6 Ping
8.2. Traceroute / v6 Traceroute
8.3. DNS Lookup
8.4. HTTP
8.5. NTP
8.6. SSL GET Cert
8.7. Wifi
1. Notes
1.1. Versioning
The results are returned as an array consisting of elements,
each of which is an associative array.
The structure of these associative arrays depends on the firmware version
used by the probe conducting the measurement.
Therefore, it is possible for downloaded
results to contain a mix of different result structures.
The data structure of each result contains the key fw which identifies
the firmware version used by the probe that generated that result.
- Version 1 is identified by the value "1".
- Version 4400 is identified by a value
of between "4400" and "4459".
- Version 4460 is identified by a value
of between "4460" and "4539".
- Version 4540 is identified by a value
of between "4540" and "4569".
- Version 4570 is identified by a value
of between "4570" and "4609".
- Version 4610 is identified by a value
of between "4610" and "4749".
- Version 4750 is currently the most recent
version of the datastructure documentation. At the moment any
value greather than 4750 conforms to the 4750 documentation.
An upper limit to this version will
added with the release of a firmware version that changes the
datastructures.
1.2. Multiple Addresses in a Result
The result structure may contain several different fields that appear
to contain similar information, but which are in fact slightly different.
- from
- This field is added by the RIPE Atlas backend system
and is used in ASN lookup, geo-location, and so on. There are some
special cases for IPv6-capable probes in which that this can be an
empty string.
- src
- This field is added by the probe. It comes from a TCP socket,
or from UDP connect/getsockname calls.
- If the probe is behind a NAT, src could be a private
address, whereas from will always be a public address.
- It is also possible for src and from to differ
with IPv6 if there are multiple addresses from RAs and/or static
configuration with a different priority.
- With v4 addresses, it is possible for the from field
to be filled in at a later time, rather than when the measurement
was made. If the probe is unable to connect to the RIPE Atlas
backend system, but continues performing measurements and delivers
the results at a later time, the backend system will populate the
from field for this entire 'disconnected' time with the
value at the time of reconnection.
1.3. JSON Terminology
Results are returned encoded in
JSON.
JSON has primitive data types such strings, numbers and booleans. And two
compount data types, which are called object and array.
A JSON string is very much like a C string: the string is enclosed in double
quotes (") and back slash (\) is used to introduce special characters.
Likewise, a number is very much like a C floating point number. The boolean
data types has two values, true and false.
The object data type is a collection of named fields. An object is a comma
separated list enclosed in curly braces ("{" and "}"). Each element of the
list consists of the name of the field encoded as string, a colon (":") and
the value, which can be an arbitrary JSON data type.
The array data type is a comma separated list of values encloded in square
brackets ("[" and "]"). JSON allows each value to be of a different type.
However, in the data structures described here, arrays have values that are
all the same type.
Version 1 is identified by the value "1" for the key fw in
the result.
2.1. Ping / v6 Ping
| Result: |
- "addr" -- IP address of the destination (string)
- "avg" -- average round-trip time (float)
- "dup" -- number of duplicate packets (int)
- "from" -- IP address of the probe as known by controller (string)
- "max" -- maximum round-trip time (float)
- "min" -- minimum round-trip time (float)
- "msm_id" -- measurement identifier (int)
- "name" -- name of the destination (string)
- "prb_id" -- source probe ID (int)
- "rcvd" -- number of packets received (int)
- "sent" -- number of packets sent (int)
- "size" -- packet size (int)
- "timestamp" -- Unix timestamp (int)
|
Example result:
{
"addr": "178.63.78.16",
"avg": 20.126000000000001,
"dup": 0,
"from": "62.194.83.50",
"fw": 1,
"max": 20.300000000000001,
"min": 19.937999999999999,
"msm_id": 1000047,
"name": "atlas.ripe.net",
"prb_id": 165,
"rcvd": 3,
"sent": 3,
"size": 56,
"timestamp": 1332938930
}
2.2. Traceroute / v6 Traceroute
| Result: |
- "from" -- IP address of the probe as known by controller (string)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "result" -- output of the traceroute command (string)
- "timestamp" -- Unix timestamp (int)
|
Example result:
{
"from": "2001:67c:2e8:13:220:4aff:fec6:cc1e",
"fw": 1,
"msm_id": 6001,
"prb_id": 21,
"result": "traceroute to 2001:7fd::1 (2001:7fd::1), 32 hops max, 16 byte packets NEWLINE 1 2001:67c:2e8:13::2 1.907 ms 1.909 ms 1.945 ms NEWLINE 2 2001:7f8:1::a502:5152:1 14.162 ms 2.026 ms 1.872 ms NEWLINE 3 2001:7fd::1 1.876 ms 1.872 ms 1.878 ms NEWLINE",
"timestamp": 1338816126
}
3. Version 4400
Version 4400 is identified by a value between "4400" and "4459" for
the key fw in the result.
3.1. Ping / v6 Ping
| Result: |
- "addr" -- IP address of the destination (string)
- "avg" -- average round-trip time (float)
- "dup" -- number of duplicate packets (int)
- "from" -- IP address of the probe as known by the controller (string)
- "max" -- maximum round-trip time (float)
- "min" -- minimum round-trip time (float)
- "mode" -- "ICMP4" or "ICMP6" (string)
- "msm_id" -- measurement identifier (int)
- "name" -- name of the destination (string)
- "prb_id" -- source probe ID (int)
- "rcvd" -- number of packets received (int)
- "result" -- variable content, depending on type of response (array)
Each element is an associative array consisting of:
- Case: Timeout
- Case: Error
- "error" -- description of error (string)
- Case: Reply
- "rtt" -- round-trip-time in milliseconds (float)
- "ttl" -- [optional] time-to-live reply if different from ttl in first reply (int)
- "dup" -- [optional] signals that the reply is a
duplicate (int)
- "sent" -- number of packets sent (int)
- "size" -- packet size (int)
- "srcaddr" -- source address used by probe (string)
- "timestamp" -- Unix timestamp (int)
- "ttl" -- time-to-live field in the first reply (int)
|
Example result:
{
"addr": "2001:7fd::1",
"avg": 2.1720000000000002,
"dup": 0,
"from": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"fw": 4450,
"max": 2.2869999999999999,
"min": 2.1000000000000001,
"mode": "ICMP6",
"msm_id": 2001,
"name": "2001:7fd::1",
"prb_id": 9,
"rcvd": 3,
"result": [
{
"rtt": 2.2869999999999999
},
{
"rtt": 2.129
},
{
"rtt": 2.1000000000000001
}
],
"sent": 3,
"size": 0,
"srcaddr": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"timestamp": 1338814181,
"ttl": 62
}
3.2. Traceroute / v6 Traceroute
| Result: |
- "addr" -- IP address of the destination (string)
- "endtime" -- Unix timestamp for end of measurement (int)
- "from" -- IP address of the probe as know by controller (string)
- "mode" -- "ICMP4" or "ICMP6" or "UDP4" or "UDP6" (string)
- "msm_id" -- measurement identifier (int)
- "name" -- name of the destination (string)
- "paris-id" -- variation for the Paris mode of traceroute (int)
- "prb_id" -- source probe ID (int)
- "result" -- list of hop elements (array)
Each element is an associative array consisting of:
- "hop" -- hop number (int)
- "error" -- [optional] when an error occurs trying to send a packet. In that case there will not be a result structure. (string)
- "result" -- variable content, depending on type of response (array)
Each element is an associative array consisting of:
- Case: Timeout
- Case: Reply
- "from" -- IPv4 or IPv6 source address in reply (string)
- "rtt" -- round-trip-time of reply (float)
- "size" -- size of reply (int)
- "ttl" -- time-to-live in reply (int)
- "icmpext" -- [optional] information when icmp header is found in reply (object)
- "version" -- RFC4884 version (int)
- "rfc4884" -- "1" if length indication is present, "0" otherwise (int)
- "obj" -- elements of the object (array)
- "class" -- RFC4884 class (int)
- "type" -- RFC4884 type (int)
- "mpls" -- [optional] MPLS data, RFC4950, shown when class is "1" and type is "1" (array)
- "exp" -- for experimental use (int)
- "label" -- mpls label (int)
- "s" -- bottom of stack (int)
- "ttl" -- time to live value (int)
- "size" -- packet size (int)
- "srcaddr" -- source address used by probe (string)
- "timestamp" -- Unix timestamp for start of measurement (int)
|
Example result:
{
"addr": "2001:470:c:c35::1:186",
"endtime": 1338812907,
"from": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"fw": 4450,
"mode": "UDP6",
"msm_id": 6020,
"name": "2001:470:c:c35::1:186",
"paris-id": 1,
"prb_id": 9,
"result": [
{
"hop": 1,
"result": [
{
"from": "2001:67c:2e8:13::2",
"rtt": 2.2829999999999999,
"size": 96,
"ttl": 63
},
{
"from": "2001:67c:2e8:13::2",
"rtt": 2.4590000000000001,
"size": 96,
"ttl": 63
},
{
"from": "2001:67c:2e8:13::2",
"rtt": 2.4209999999999998,
"size": 96,
"ttl": 63
}
]
},
...
{
"hop": 7,
"result": [
{
"from": "2001:470:c:c35::1:186",
"rtt": 140.595,
"size": 96,
"ttl": 57
},
{
"from": "2001:470:c:c35::1:186",
"rtt": 140.19300000000001,
"size": 96,
"ttl": 57
},
{
"from": "2001:470:c:c35::1:186",
"rtt": 139.82900000000001,
"size": 96,
"ttl": 57
}
]
}
],
"size": 40,
"srcaddr": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"timestamp": 1338812898
}
3.3. DNS Lookup
| Result: |
- "address" -- [optional] IP address of the destination (string)
- "error" -- [optional] error message (associative array)
- "timeout" -- query timeout (int)
- "getaddrinfo" -- error message (string)
- "from" -- [optional] IP address of the source (string)
- "msm_id" -- measurement identifier (int)
- "name" -- [optional] hostname of the destination (string)
- "pf" -- [optional] IP version: "4" or "6" (int)
- "prb_id" -- source probe ID (int)
- "proto" -- "TCP" or "UDP" (string)
- "qbuf" -- [optional] query payload buffer which was sent to the server, UU encoded (string)
See example code for decoding the value
- "result" -- [optional] response from the DNS server (associative array)
- "ANCOUNT" -- answer count, RFC 1035 4.1.1 (int)
- "ARCOUNT" -- additional record count, RFC 1035, 4.1.1 (int)
- "ID" -- query ID, RFC 1035 4.1.1 (int)
- "NSCOUNT" -- name server count (int)
- "QDCOUNT" -- number of queries (int)
- "abuf" -- answer payload buffer from the server, UU encoded (string)
See example code for decoding the value
- "answers" -- first two records from the response decoded by the probe, if they are TXT or SOA; other RR can be decoded from "abuf" (array)
Each element is an associative array consisting of:
- "MNAME" -- domain name, RFC 1035, 3.1.13 (string)
- "NAME" -- domain name. (string)
- "RDATA" -- [type TXT] txt value, (string)
- "RDLENGTH" -- [type TXT] length of RDATA (int). depreciated (4450)
- "RNAME" -- [if type SOA] mailbox, RFC 1035 3.3.13 (string)
- "SERIAL" -- [type SOA] zone serial number, RFC 1035 3.3.13 (int)
- "TTL" -- [type SOA] time to live, RFC 1035 4.1.3 (int)
- "TYPE" -- RR "SOA" or "TXT" (string), RFC 1035
- "rt" -- [optional] response time in milli seconds (float)
- "size" -- [optional] response size (int)
- "src" -- [optional] the source IP address added by the probe (string)
- "subid" -- [optional] sequence number of this result within a group of results, available if the resolution is done by the probe's local resolver
- "submax" -- [optional] total number of results within a group (int)
- "timestamp" -- start time, Unix timestamp (int)
|
| Notes: |
- If a hostname was provided, both the hostname (name)
and the IP address (address) will be in the response.
- If an IP address was provided, the name field will
not be filled, unless the address which was given differs from the
probe's resolution of the address. For instance, if
"2001:0DB8:0:0::1" was provided, and the probe resolves it to
"2001:0DB8::1", the first value will be returned as the name and
the second as the address.
- The address field will always be present, except when
there is an error.
|
Example result:
{
"address": "193.0.14.129",
"from": "",
"fw": 4450,
"msm_id": 10001,
"pf": 4,
"prb_id": 9,
"proto": "UDP",
"result": {
"ANCOUNT": 1,
"ARCOUNT": 13,
"ID": 12124,
"NSCOUNT": 13,
"QDCOUNT": 1,
"abuf": "L1yEAAABAAEADQANAAAGAAEAAAYAAQABUYAAQAFhDHJvb3Qtc2VydmVycwNuZXQABW5zdGxkDHZlcmlzaWduLWdycwNjb20Ad+2a8AAABwgAAAOEAAk6gAABUYAAAAIAAQAH6QAAAsAcAAACAAEAB+kAAAQBYsAeAAACAAEAB+kAAAQBY8AeAAACAAEAB+kAAAQBZMAeAAACAAEAB+kAAAQBZcAeAAACAAEAB+kAAAQBZsAeAAACAAEAB+kAAAQBZ8AeAAACAAEAB+kAAAQBaMAeAAACAAEAB+kAAAQBacAeAAACAAEAB+kAAAQBasAeAAACAAEAB+kAAAQBa8AeAAACAAEAB+kAAAQBbMAeAAACAAEAB+kAAAQBbcAewBwAAQABAAfpAAAExikABMB0AAEAAQAH6QAABMDkT8nAgwABAAEAB+kAAATAIQQMwJIAAQABAAfpAAAEgAgKWsChAAEAAQAH6QAABMDL5grAsAABAAEAB+kAAATABQXxwL8AAQABAAfpAAAEwHAkBMDOAAEAAQAH6QAABIA/AjXA3QABAAEAB+kAAATAJJQRwOwAAQABAAfpAAAEwDqAHsD7AAEAAQAH6QAABMEADoHBCgABAAEAB+kAAATHB1MqwRkAAQABAAfpAAAEygwbIQ==",
"answers": [
{
"MNAME": "a.root-servers.net.",
"NAME": ".",
"RDLENGTH": 64,
"RNAME": "nstld.verisign-grs.com.",
"SERIAL": 2012060400,
"TTL": 86400,
"TYPE": "SOA"
}
],
"rt": 2.6600000000000001,
"size": 493
},
"timestamp": 1338813093
}
| Result: |
- "from" -- IP address of the probe as known by controller (string)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "result" -- results of query (array)
Each element is an associative array consisting of:
- "addr" -- target address (string)
- "bsize" -- size of body in octets (int)
- "dnserr" -- [optional] DNS resolution failed (string)
- "err" -- [optional] other failure (string)
- "header" -- [optional] elements are strings. The last string can be empty to indicate the end of enders or end with "[...]" to indicate truncation (array)
- "hsize" -- header size in octets (int)
- "mode" -- "GET4" or "GET6" or "HEAD4" or "HEAD6" or "POST4" or "POST6" (string)
- "res" -- HTTP result code (int)
- "rt" -- time to execute request excluding DNS (float)
- "srcaddr" -- source address used by probe (string)
- "subid" -- [optional] sequence number of this result within a group of results, when the 'all' option is used without the 'combine' option (int)
- "submax" -- [optional] total number of results within a group (int)
- "time" -- [optional] Unix timestamp, when the 'all' option is used with the 'combine' option (int)
- "ver" -- major, minor version of http server (string)
- "timestamp" -- Unix timestamp (int)
- "uri" -- request uri (string)
|
Example result:
{
"from": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"fw": 4450,
"msm_id": 13023,
"prb_id": 9,
"result": [
{
"addr": "2001:67c:2e8:22::c100:68b",
"bsize": 1406,
"hsize": 263,
"mode": "GET6",
"res": 200,
"rt": 10.66,
"srcaddr": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"ver": "1.1"
}
],
"timestamp": 1338814062,
"uri": "http://www.ripe.net/favicon.ico"
}
3.5. SSL GET Cert
| Result: |
- "addr" -- IP address of the destination (string)
- "cert" -- results of query (array)
Each element of the array is a string containing a base 64 encoded certificate. Newlines are replaced with "\n"
- "from" -- IP address of the probe as known by controller (string)
- "msm_id" -- measurement identifier (int)
- "name" -- name of the destination (string)
- "port" -- port name (string)
- "prb_id" -- source probe ID (int)
- "srcaddr" -- source address used by probe (string)
- "timestamp" -- Unix timestamp (int)
|
Example result:
{
"addr": "2a01:4f8:121:30a3::78:16",
"cert": [
"-----BEGIN CERTIFICATE-----\nMIIGMTCCBRmgAwIBAgIQCfO+bTlrT/6of7r+Sw5WTzANBgkqhkiG9w0BAQUFADBm\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSUwIwYDVQQDExxEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBDQS0zMB4XDTEwMTEwMjAwMDAwMFoXDTEyMTEwNTIzNTk1OVowZTELMAkGA1UE\nBhMCTkwxFjAUBgNVBAgTDU5vb3JkLUhvbGxhbmQxEjAQBgNVBAcTCUFtc3RlcmRh\nbTERMA8GA1UEChMIUklQRSBOQ0MxFzAVBgNVBAMTDmF0bGFzLnJpcGUubmV0MIGf\nMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqhOdAts5iMvuw98IDeh1FCw+xfqu5\nUBLXjbdfmH+3EwYhmFpduN9M8s8CnCC0YC5TsWytgzFPevDQ7QTbNPRMYFjtsBtv\nz4OR+mlN3LoAMKXic7mJazEH5/jQG0I06+dOaXQT7JDGZbBAFV78B0B0QqRRJmoY\n1KbvTGtzqBdoUwIDAQABo4IDXjCCA1owHwYDVR0jBBgwFoAUUOpzidsp+xCPnuUB\nINTeeZlIg/cwHQYDVR0OBBYEFLH8APIsyl0RAI8eXaYwqaY11sfTMC0GA1UdEQQm\nMCSCDmF0bGFzLnJpcGUubmV0ghJ3d3cuYXRsYXMucmlwZS5uZXQwewYIKwYBBQUH\nAQEEbzBtMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wRQYI\nKwYBBQUHMAKGOWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEhp\nZ2hBc3N1cmFuY2VDQS0zLmNydDAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIw\nADBlBgNVHR8EXjBcMCygKqAohiZodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vY2Ez\nLTIwMTBoLmNybDAsoCqgKIYmaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL2NhMy0y\nMDEwaC5jcmwwggHGBgNVHSAEggG9MIIBuTCCAbUGC2CGSAGG/WwBAwABMIIBpDA6\nBggrBgEFBQcCARYuaHR0cDovL3d3dy5kaWdpY2VydC5jb20vc3NsLWNwcy1yZXBv\nc2l0b3J5Lmh0bTCCAWQGCCsGAQUFBwICMIIBVh6CAVIAQQBuAHkAIAB1AHMAZQAg\nAG8AZgAgAHQAaABpAHMAIABDAGUAcgB0AGkAZgBpAGMAYQB0AGUAIABjAG8AbgBz\nAHQAaQB0AHUAdABlAHMAIABhAGMAYwBlAHAAdABhAG4AYwBlACAAbwBmACAAdABo\nAGUAIABEAGkAZwBpAEMAZQByAHQAIABDAFAALwBDAFAAUwAgAGEAbgBkACAAdABo\nAGUAIABSAGUAbAB5AGkAbgBnACAAUABhAHIAdAB5ACAAQQBnAHIAZQBlAG0AZQBu\nAHQAIAB3AGgAaQBjAGgAIABsAGkAbQBpAHQAIABsAGkAYQBiAGkAbABpAHQAeQAg\nAGEAbgBkACAAYQByAGUAIABpAG4AYwBvAHIAcABvAHIAYQB0AGUAZAAgAGgAZQBy\nAGUAaQBuACAAYgB5ACAAcgBlAGYAZQByAGUAbgBjAGUALjAdBgNVHSUEFjAUBggr\nBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBABh0uT4bltD5QdFj\nrCSCViuOxPJ4667umtzWFgA/oUYM9D8LkXpPo4A3YPexTf3ssiDzxAhsrFxJRrjh\nC5/j77TvRtKv1OfwXfgeeqluybYMs+LRkjNHNkEA9lsonrZ0gSAIktYneWOVQlCe\nEV20yi0oDCPFnk6rCUNoT/dAhHgUX3Iw2p3Hy/ELst3CvMOjvCpaJVTob4t0rOxS\niOuSC4YAqkP+O0dRoAIGedQ9eqDip6vrqGbK5i1PDo1zh0uOBhvcQ+cRWGnmKv8H\nmUDBFFTB4e81O9wnzRrV0BRaBzkGEe6EcluRNs9VS1wZA/Y/xDggSn8+cOM52vb3\nlQuEV20=\n-----END CERTIFICATE-----",
"-----BEGIN CERTIFICATE-----\nMIIGVTCCBT2gAwIBAgIQCFH5WYFBRcq94CTiEsnCDjANBgkqhkiG9w0BAQUFADBs\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBFViBSb290IENBMB4XDTA3MDQwMzAwMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL\nMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\nLmRpZ2ljZXJ0LmNvbTElMCMGA1UEAxMcRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug\nQ0EtMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9hCikQH17+NDdR\nCPge+yLtYb4LDXBMUGMmdRW5QYiXtvCgFbsIYOBC6AUpEIc2iihlqO8xB3RtNpcv\nKEZmBMcqeSZ6mdWOw21PoF6tvD2Rwll7XjZswFPPAAgyPhBkWBATaccM7pxCUQD5\nBUTuJM56H+2MEb0SqPMV9Bx6MWkBG6fmXcCabH4JnudSREoQOiPkm7YDr6ictFuf\n1EutkozOtREqqjcYjbTCuNhcBoz4/yO9NV7UfD5+gw6RlgWYw7If48hl66l7XaAs\nzPw82W3tzPpLQ4zJ1LilYRyyQLYoEt+5+F/+07LJ7z20Hkt8HEyZNp496+ynaF4d\n32duXvsCAwEAAaOCAvcwggLzMA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w\nggG5MIIBtQYLYIZIAYb9bAEDAAIwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3\nLmRpZ2ljZXJ0LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUH\nAgIwggFWHoIBUgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQBy\nAHQAaQBmAGkAYwBhAHQAZQAgAGMAbwBuAHMAdABpAHQAdQB0AGUAcwAgAGEAYwBj\nAGUAcAB0AGEAbgBjAGUAIABvAGYAIAB0AGgAZQAgAEQAaQBnAGkAQwBlAHIAdAAg\nAEMAUAAvAEMAUABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQ\nAGEAcgB0AHkAIABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBt\nAGkAdAAgAGwAaQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBj\nAG8AcgBwAG8AcgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBl\nAHIAZQBuAGMAZQAuMA8GA1UdEwEB/wQFMAMBAf8wNAYIKwYBBQUHAQEEKDAmMCQG\nCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSBhzCB\nhDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGlnaEFz\nc3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQu\nY29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSMEGDAW\ngBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUBINTe\neZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAF1PhPGoiNOjsrycbeUpSXfh59bcqdg1\nrslx3OXb3J0kIZCmz7cBHJvUV5eR13UWpRLXuT0uiT05aYrWNTf58SHEW0CtWakv\nXzoAKUMncQPkvTAyVab+hA4LmzgZLEN8rEO/dTHlIxxFVbdpCJG1z9fVsV7un5Tk\n1nq5GMO41lJjHBC6iy9tXcwFOPRWBW3vnuzoYTYMFEuFFFoMg08iXFnLjIpx2vrF\nEIRYzwfu45DC9fkpx1ojcflZtGQriLCnNseaIGHr+k61rmsb5OPs4tk8QUmoIKRU\n9ZKNu8BVIASm2LAXFszj0Mi0PeXZhMbT9m5teMl5Q+h6N/9cNUm/ocU=\n-----END CERTIFICATE-----",
"-----BEGIN CERTIFICATE-----\nMIIEQjCCA6ugAwIBAgIEQodApTANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC\nVVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u\nZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc\nKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u\nZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEw\nMDEwNTAwMDBaFw0xNDA3MjYxODE1MTVaMGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQK\nEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNV\nBAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0EwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGzOVz5vvUu+UtLTKm3+WBP8nNJUm2cSrD\n1ZQ0Z6IKHLBfaaZAscS3so/QmKSpQVk609yU1jzbdDikSsxNJYL3SqVTEjju80lt\ncZF+Y7arpl/DpIT4T2JRvvjF7Ns4kuMG5QiRDMQoQVX7y1qJFX5x6DW/TXIJPb46\nOFBbdzEbjbPHJEWap6xtABRaBLe6E+tRCphBQSJOZWGHgUFQpnlcid4ZSlfVLuZd\nHFMsfpjNGgYWpGhz0DQEE1yhcdNafFXbXmThN4cwVgTlEbQpgBLxeTmIogIRfCdm\nt4i3ePLKCqg4qwpkwr9mXZWEwaElHoddGlALIBLMQbtuC1E4uEvLAgMBAAGjggET\nMIIBDzASBgNVHRMBAf8ECDAGAQH/AgEBMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggr\nBgEFBQcDAgYIKwYBBQUHAwQwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdo\ndHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8v\nY3JsLmVudHJ1c3QubmV0L3NlcnZlcjEuY3JsMB0GA1UdDgQWBBSxPsNpA/i/RwHU\nmCYaCALvY2QrwzALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7\nUISX8+1i0BowGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEF\nBQADgYEASA4rbyBiTCiToyQ9WKshz4D4mpeQaiLtWnxHNpnneYR1qySPkgrVYQSu\nw2pcsszZ5ESHb9uPOGL3RDadurxuB8TUjegf0Qtgo7WczmO+7Wfc+Lrebskly1u1\nnXZwC99CcvhPQRFkpdLq/NWvEfQVOGecIKhLd1qRMkIy54Wz3zY=\n-----END CERTIFICATE-----"
],
"from": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"fw": 4450,
"msm_id": 15002,
"name": "atlas.ripe.net",
"port": "https",
"prb_id": 9,
"srcaddr": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"timestamp": 1338811367
}
4. Version 4460
Version 4460 is identified by a value between "4460" and "4539" for
the key fw in the result.
Changes between 4400 and 4460
- The key "addr" in 4400 became "dst_addr" in 4460.
- The key "address" in 4400 became "dst_addr" in 4460.
- The key "mode" in 4400 became "af" and "proto" or "method" in 4460.
- The key "name" in 4400 became "dst_name" in 4460.
- The key "paris-id" in 4400 became "paris_id" in 4460.
- The key "pf" in 4400 became "af" in 4460.
- The key "port" in 4400 became "dst_port" in 4460.
- The key "srcaddr" in 4400 became "src_addr" in 4460.
- The following fields were added: "method" (where applicable),
"ver" (where not already present but applicable), and "type".
4.1. Ping / v6 Ping
View changes since previous version.
| Result: |
- "addr" -- IP address of the destination (deprecated) (string)
- "af" -- address family, 4 or 6 (integer)
- "avg" -- average round-trip time (float)
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "dup" -- number of duplicate packets (int)
- "from" -- IP address of the probe as known by the controller (string)
- "max" -- maximum round-trip time (float)
- "min" -- minimum round-trip time (float)
- "msm_id" -- measurement identifier (int)
- "name" -- name of the destination (deprecated) (string)
- "prb_id" -- source probe ID (int)
- "proto" -- "ICMP" (string)
- "rcvd" -- number of packets received (int)
- "result" -- variable content, depending on type of response (array)
Each element is an associative array consisting of:
- Case: Timeout
- Case: Error
- "error" -- description of error (string)
- Case: Reply
- "rtt" -- round-trip-time in milliseconds (float)
- "ttl" -- [optional] time-to-live reply if different from ttl in first reply (int)
- "dup" -- [optional] signals that the reply is a
duplicate (int)
- "sent" -- number of packets sent (int)
- "size" -- packet size (int)
- "src_addr" -- source address used by probe (string)
- "timestamp" -- Unix timestamp (int)
- "ttl" -- time-to-live field in the first reply (int)
- "type" -- "ping" (string)
|
Example result:
{
"addr": "2001:7fd::1",
"af": 6,
"avg": 6.5760000000000005,
"dst_addr": "2001:7fd::1",
"dst_name": "2001:7fd::1",
"dup": 0,
"from": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"fw": 4460,
"max": 15.282999999999999,
"min": 2.2080000000000002,
"msm_id": 2001,
"name": "k.root-servers.net",
"prb_id": 114,
"proto": "ICMP",
"rcvd": 3,
"result": [
{
"rtt": 2.2370000000000001
},
{
"rtt": 2.2080000000000002
},
{
"rtt": 15.282999999999999
}
],
"sent": 3,
"size": 0,
"src_addr": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"timestamp": 1339665710,
"ttl": 62,
"type": "ping"
}
4.2. Traceroute / v6 Traceroute
View changes since previous version.
| Result: |
- "af" -- address family, 4 or 6 (integer)
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "endtime" -- Unix timestamp for end of measurement (int)
- "from" -- IP address of the probe as know by controller (string)
- "msm_id" -- measurement identifier (int)
- "paris_id" -- variation for the Paris mode of traceroute (int)
- "prb_id" -- source probe ID (int)
- "proto" -- "UDP" or "ICMP" (string)
- "result" -- list of hop elements (array)
Each element is an associative array consisting of:
- "hop" -- hop number (int)
- "error" -- [optional] when an error occurs trying to send a packet. In that case there will not be a result structure. (string)
- "result" -- variable content, depending on type of response (array)
Each element is an associative array consisting of:
- Case: Timeout
- Case: Reply
- "from" -- IPv4 or IPv6 source address in reply (string)
- "err" -- (optional) error ICMP: "N" (network unreachable,), "H" (destination unreachable), "A" (administratively prohibited), "P" (protocol unreachable), "p" (port unreachable) (string)
- "rtt" -- round-trip-time of reply, not present
when the response is late (float)
- "size" -- size of reply (int)
- "ttl" -- time-to-live in reply (int)
- "ittl" -- (optional) time-to-live in packet that triggered the error ICMP. Omitted if equal to 1 (int)
- "late" -- (optional) number of packets a reply is
late, in this case rtt is not present (int)
- "icmpext" -- [optional] information when icmp header is found in reply (object)
- "version" -- RFC4884 version (int)
- "rfc4884" -- "1" if length indication is present, "0" otherwise (int)
- "obj" -- elements of the object (array)
- "class" -- RFC4884 class (int)
- "type" -- RFC4884 type (int)
- "mpls" -- [optional] MPLS data, RFC4950, shown when class is "1" and type is "1" (array)
- "exp" -- for experimental use (int)
- "label" -- mpls label (int)
- "s" -- bottom of stack (int)
- "ttl" -- time to live value (int)
- "size" -- packet size (int)
- "src_addr" -- source address used by probe (string)
- "timestamp" -- Unix timestamp for start of measurement (int)
- "type" -- "traceroute" (string)
|
Example result:
{
"af": 6,
"dst_addr": "2001:7fd::1",
"dst_name": "2001:7fd::1",
"endtime": 1339665496,
"from": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"fw": 4460,
"msm_id": 6001,
"paris_id": 4,
"prb_id": 114,
"proto": "UDP",
"result": [
{
"hop": 1,
"result": [
{
"from": "2001:67c:2e8:13::2",
"rtt": 2.2989999999999999,
"size": 96,
"ttl": 63
},
{
"from": "2001:67c:2e8:13::2",
"rtt": 2.4990000000000001,
"size": 96,
"ttl": 63
},
{
"from": "2001:67c:2e8:13::2",
"rtt": 2.8719999999999999,
"size": 96,
"ttl": 63
}
]
},
{
"hop": 2,
"result": [
{
"from": "2001:7f8:1::a502:5152:1",
"rtt": 2.4009999999999998,
"size": 96,
"ttl": 63
},
{
"from": "2001:7f8:1::a502:5152:1",
"rtt": 2.5409999999999999,
"size": 96,
"ttl": 63
},
{
"from": "2001:7f8:1::a502:5152:1",
"rtt": 2.6360000000000001,
"size": 96,
"ttl": 63
}
]
},
{
"hop": 3,
"result": [
{
"from": "2001:7fd::1",
"rtt": 2.4060000000000001,
"size": 96,
"ttl": 62
},
{
"from": "2001:7fd::1",
"rtt": 2.3300000000000001,
"size": 96,
"ttl": 62
},
{
"from": "2001:7fd::1",
"rtt": 2.4060000000000001,
"size": 96,
"ttl": 62
}
]
}
],
"size": 40,
"src_addr": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"timestamp": 1339665496,
"type": "traceroute"
}
4.3. DNS Lookup
View changes since previous version.
| Result: |
- "af" -- [optional] IP version: "4" or "6" (int)
- "dst_addr" -- [optional] IP address of the destination (string)
- "dst_name" -- [optional] hostname of the destination (string)
- "error" -- [optional] error message (associative array)
- "timeout" -- query timeout (int)
- "getaddrinfo" -- error message (string)
- "from" -- [optional] IP address of the source (string)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "proto" -- "TCP" or "UDP" (string)
- "qbuf" -- [optional] query payload buffer which was sent to the server, UU encoded (string)
See example code for decoding the value
- "result" -- [optional] response from the DNS server (associative array)
- "ANCOUNT" -- answer count, RFC 1035 4.1.1 (int)
- "ARCOUNT" -- additional record count, RFC 1035, 4.1.1 (int)
- "ID" -- query ID, RFC 1035 4.1.1 (int)
- "NSCOUNT" -- name server count (int)
- "QDCOUNT" -- number of queries (int)
- "abuf" -- answer payload buffer from the server, UU encoded (string)
See example code for decoding the value
- "answers" -- first two records from the response decoded by the probe, if they are TXT or SOA; other RR can be decoded from "abuf" (array)
Each element is an associative array consisting of:
- "MNAME" -- domain name, RFC 1035, 3.1.13 (string)
- "NAME" -- domain name. (string)
- "RDATA" -- [type TXT] txt value, (string)
- "RNAME" -- [if type SOA] mailbox, RFC 1035 3.3.13 (string)
- "SERIAL" -- [type SOA] zone serial number, RFC 1035 3.3.13 (int)
- "TTL" -- [type SOA] time to live, RFC 1035 4.1.3 (int)
- "TYPE" -- RR "SOA" or "TXT" (string), RFC 1035
- "rt" -- [optional] response time in milli seconds (float)
- "size" -- [optional] response size (int)
- "src_addr" -- [optional] the source IP address added by the probe (string). (fw >= 4470)
- "subid" -- [optional] sequence number of this result within a group of results, available if the resolution is done by the probe's local resolver
- "submax" -- [optional] total number of results within a group (int)
- "timestamp" -- start time, in Unix timestamp (int)
- "type" -- "dns" (string)
|
| Notes: |
- If a hostname was provided, both the hostname (dst_name)
and the IP address (dst_addr) will be in the response.
- If an IP address was provided, the name field will
not be filled, unless the address which was given differs from the
probe's resolution of the address. For instance, if
"2001:0DB8:0:0::1" was provided, and the probe resolves it to
"2001:0DB8::1", the first value will be returned as the name and
the second as the address.
- The dst_addr field will always be present, except when
there is an error.
|
Example result:
{
"af": 6,
"dst_addr": "2001:7fd::1",
"from": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"fw": 4460,
"msm_id": 11001,
"prb_id": 114,
"proto": "UDP",
"result": {
"ANCOUNT": 1,
"ARCOUNT": 13,
"ID": 14016,
"NSCOUNT": 13,
"QDCOUNT": 1,
"abuf": "NsCEAAABAAEADQANAAAGAAEAAAYAAQABUYAAQAFhDHJvb3Qtc2VydmVycwNuZXQABW5zdGxkDHZlcmlzaWduLWdycwNjb20Ad+2e2AAABwgAAAOEAAk6gAABUYAAAAIAAQAH6QAAAsAcAAACAAEAB+kAAAQBYsAeAAACAAEAB+kAAAQBY8AeAAACAAEAB+kAAAQBZMAeAAACAAEAB+kAAAQBZcAeAAACAAEAB+kAAAQBZsAeAAACAAEAB+kAAAQBZ8AeAAACAAEAB+kAAAQBaMAeAAACAAEAB+kAAAQBacAeAAACAAEAB+kAAAQBasAeAAACAAEAB+kAAAQBa8AeAAACAAEAB+kAAAQBbMAeAAACAAEAB+kAAAQBbcAewBwAAQABAAfpAAAExikABMB0AAEAAQAH6QAABMDkT8nAgwABAAEAB+kAAATAIQQMwJIAAQABAAfpAAAEgAgKWsChAAEAAQAH6QAABMDL5grAsAABAAEAB+kAAATABQXxwL8AAQABAAfpAAAEwHAkBMDOAAEAAQAH6QAABIA/AjXA3QABAAEAB+kAAATAJJQRwOwAAQABAAfpAAAEwDqAHsD7AAEAAQAH6QAABMEADoHBCgABAAEAB+kAAATHB1MqwRkAAQABAAfpAAAEygwbIQ==",
"answers": [
{
"MNAME": "a.root-servers.net.",
"NAME": ".",
"RDLENGTH": 64,
"RNAME": "nstld.verisign-grs.com.",
"SERIAL": 2012061400,
"TTL": 86400,
"TYPE": "SOA"
}
],
"rt": 3.4279999999999999,
"size": 493
},
"timestamp": 1339664565,
"type": "dns"
}
View changes since previous version.
| Result: |
- "from" -- IP address of the probe as known by controller (string)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "result" -- results of query (array)
Each element is an associative array consisting of:
- "af" -- address family, 4 or 6 (integer)
- "bsize" -- size of body in octets (int)
- "dnserr" -- [optional] DNS resolution failed (string)
- "dst_addr" -- target address (string)
- "err" -- [optional] other failure (string)
- "header" -- [optional] elements are strings. The last string can be empty to indicate the end of enders or end with "[...]" to indicate truncation (array)
- "hsize" -- header size in octets (int)
- "method" -- "GET", "HEAD", or "POST" (string)
- "res" -- HTTP result code (int)
- "rt" -- time to execute request excluding DNS (float)
- "src_addr" -- source address used by probe (string)
- "subid" -- [optional] sequence number of this result within a group of results, when the 'all' option is used without the 'combine' option (int)
- "submax" -- [optional] total number of results within a group (int)
- "time" -- [optional] Unix timestamp, when the 'all' option is used with the 'combine' option (int)
- "ver" -- major, minor version of http server (string)
- "timestamp" -- Unix timestamp (int)
- "type" -- "http" (string)
- "uri" -- request uri (string)
|
Example result:
{
"from": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"fw": 4460,
"msm_id": 13023,
"prb_id": 114,
"result": [
{
"af": 6,
"bsize": 1406,
"dst_addr": "2001:67c:2e8:22::c100:68b",
"hsize": 263,
"method": "GET",
"res": 200,
"rt": 10.638999999999999,
"src_addr": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"ver": "1.1"
}
],
"timestamp": 1339665455,
"type": "http",
"uri": "http://www.ripe.net/favicon.ico"
}
4.5. SSL GET Cert
View changes since previous version.
| Result: |
- "af" -- address family, 4 or 6 (integer)
- "cert" -- results of query (array)
Each element of the array is a string containing a base 64 encoded certificate. Newlines are replaced with "\n"
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "dst_port" -- port name (string)
- "from" -- IP address of the probe as known by controller (string)
- "method" -- "SSL" (string)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "src_addr" -- source address used by probe (string)
- "timestamp" -- Unix timestamp (int)
- "type" -- "sslcert" (string)
- "ver" -- (SSL) protocol versioN (string)
|
Example result:
{
"af": 6,
"cert": [
"-----BEGIN CERTIFICATE-----\nMIIGMTCCBRmgAwIBAgIQCfO+bTlrT/6of7r+Sw5WTzANBgkqhkiG9w0BAQUFADBm\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSUwIwYDVQQDExxEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBDQS0zMB4XDTEwMTEwMjAwMDAwMFoXDTEyMTEwNTIzNTk1OVowZTELMAkGA1UE\nBhMCTkwxFjAUBgNVBAgTDU5vb3JkLUhvbGxhbmQxEjAQBgNVBAcTCUFtc3RlcmRh\nbTERMA8GA1UEChMIUklQRSBOQ0MxFzAVBgNVBAMTDmF0bGFzLnJpcGUubmV0MIGf\nMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqhOdAts5iMvuw98IDeh1FCw+xfqu5\nUBLXjbdfmH+3EwYhmFpduN9M8s8CnCC0YC5TsWytgzFPevDQ7QTbNPRMYFjtsBtv\nz4OR+mlN3LoAMKXic7mJazEH5/jQG0I06+dOaXQT7JDGZbBAFV78B0B0QqRRJmoY\n1KbvTGtzqBdoUwIDAQABo4IDXjCCA1owHwYDVR0jBBgwFoAUUOpzidsp+xCPnuUB\nINTeeZlIg/cwHQYDVR0OBBYEFLH8APIsyl0RAI8eXaYwqaY11sfTMC0GA1UdEQQm\nMCSCDmF0bGFzLnJpcGUubmV0ghJ3d3cuYXRsYXMucmlwZS5uZXQwewYIKwYBBQUH\nAQEEbzBtMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wRQYI\nKwYBBQUHMAKGOWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEhp\nZ2hBc3N1cmFuY2VDQS0zLmNydDAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIw\nADBlBgNVHR8EXjBcMCygKqAohiZodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vY2Ez\nLTIwMTBoLmNybDAsoCqgKIYmaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL2NhMy0y\nMDEwaC5jcmwwggHGBgNVHSAEggG9MIIBuTCCAbUGC2CGSAGG/WwBAwABMIIBpDA6\nBggrBgEFBQcCARYuaHR0cDovL3d3dy5kaWdpY2VydC5jb20vc3NsLWNwcy1yZXBv\nc2l0b3J5Lmh0bTCCAWQGCCsGAQUFBwICMIIBVh6CAVIAQQBuAHkAIAB1AHMAZQAg\nAG8AZgAgAHQAaABpAHMAIABDAGUAcgB0AGkAZgBpAGMAYQB0AGUAIABjAG8AbgBz\nAHQAaQB0AHUAdABlAHMAIABhAGMAYwBlAHAAdABhAG4AYwBlACAAbwBmACAAdABo\nAGUAIABEAGkAZwBpAEMAZQByAHQAIABDAFAALwBDAFAAUwAgAGEAbgBkACAAdABo\nAGUAIABSAGUAbAB5AGkAbgBnACAAUABhAHIAdAB5ACAAQQBnAHIAZQBlAG0AZQBu\nAHQAIAB3AGgAaQBjAGgAIABsAGkAbQBpAHQAIABsAGkAYQBiAGkAbABpAHQAeQAg\nAGEAbgBkACAAYQByAGUAIABpAG4AYwBvAHIAcABvAHIAYQB0AGUAZAAgAGgAZQBy\nAGUAaQBuACAAYgB5ACAAcgBlAGYAZQByAGUAbgBjAGUALjAdBgNVHSUEFjAUBggr\nBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBABh0uT4bltD5QdFj\nrCSCViuOxPJ4667umtzWFgA/oUYM9D8LkXpPo4A3YPexTf3ssiDzxAhsrFxJRrjh\nC5/j77TvRtKv1OfwXfgeeqluybYMs+LRkjNHNkEA9lsonrZ0gSAIktYneWOVQlCe\nEV20yi0oDCPFnk6rCUNoT/dAhHgUX3Iw2p3Hy/ELst3CvMOjvCpaJVTob4t0rOxS\niOuSC4YAqkP+O0dRoAIGedQ9eqDip6vrqGbK5i1PDo1zh0uOBhvcQ+cRWGnmKv8H\nmUDBFFTB4e81O9wnzRrV0BRaBzkGEe6EcluRNs9VS1wZA/Y/xDggSn8+cOM52vb3\nlQuEV20=\n-----END CERTIFICATE-----",
"-----BEGIN CERTIFICATE-----\nMIIGVTCCBT2gAwIBAgIQCFH5WYFBRcq94CTiEsnCDjANBgkqhkiG9w0BAQUFADBs\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBFViBSb290IENBMB4XDTA3MDQwMzAwMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL\nMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\nLmRpZ2ljZXJ0LmNvbTElMCMGA1UEAxMcRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug\nQ0EtMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9hCikQH17+NDdR\nCPge+yLtYb4LDXBMUGMmdRW5QYiXtvCgFbsIYOBC6AUpEIc2iihlqO8xB3RtNpcv\nKEZmBMcqeSZ6mdWOw21PoF6tvD2Rwll7XjZswFPPAAgyPhBkWBATaccM7pxCUQD5\nBUTuJM56H+2MEb0SqPMV9Bx6MWkBG6fmXcCabH4JnudSREoQOiPkm7YDr6ictFuf\n1EutkozOtREqqjcYjbTCuNhcBoz4/yO9NV7UfD5+gw6RlgWYw7If48hl66l7XaAs\nzPw82W3tzPpLQ4zJ1LilYRyyQLYoEt+5+F/+07LJ7z20Hkt8HEyZNp496+ynaF4d\n32duXvsCAwEAAaOCAvcwggLzMA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w\nggG5MIIBtQYLYIZIAYb9bAEDAAIwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3\nLmRpZ2ljZXJ0LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUH\nAgIwggFWHoIBUgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQBy\nAHQAaQBmAGkAYwBhAHQAZQAgAGMAbwBuAHMAdABpAHQAdQB0AGUAcwAgAGEAYwBj\nAGUAcAB0AGEAbgBjAGUAIABvAGYAIAB0AGgAZQAgAEQAaQBnAGkAQwBlAHIAdAAg\nAEMAUAAvAEMAUABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQ\nAGEAcgB0AHkAIABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBt\nAGkAdAAgAGwAaQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBj\nAG8AcgBwAG8AcgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBl\nAHIAZQBuAGMAZQAuMA8GA1UdEwEB/wQFMAMBAf8wNAYIKwYBBQUHAQEEKDAmMCQG\nCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSBhzCB\nhDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGlnaEFz\nc3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQu\nY29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSMEGDAW\ngBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUBINTe\neZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAF1PhPGoiNOjsrycbeUpSXfh59bcqdg1\nrslx3OXb3J0kIZCmz7cBHJvUV5eR13UWpRLXuT0uiT05aYrWNTf58SHEW0CtWakv\nXzoAKUMncQPkvTAyVab+hA4LmzgZLEN8rEO/dTHlIxxFVbdpCJG1z9fVsV7un5Tk\n1nq5GMO41lJjHBC6iy9tXcwFOPRWBW3vnuzoYTYMFEuFFFoMg08iXFnLjIpx2vrF\nEIRYzwfu45DC9fkpx1ojcflZtGQriLCnNseaIGHr+k61rmsb5OPs4tk8QUmoIKRU\n9ZKNu8BVIASm2LAXFszj0Mi0PeXZhMbT9m5teMl5Q+h6N/9cNUm/ocU=\n-----END CERTIFICATE-----",
"-----BEGIN CERTIFICATE-----\nMIIEQjCCA6ugAwIBAgIEQodApTANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC\nVVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u\nZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc\nKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u\nZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEw\nMDEwNTAwMDBaFw0xNDA3MjYxODE1MTVaMGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQK\nEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNV\nBAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0EwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGzOVz5vvUu+UtLTKm3+WBP8nNJUm2cSrD\n1ZQ0Z6IKHLBfaaZAscS3so/QmKSpQVk609yU1jzbdDikSsxNJYL3SqVTEjju80lt\ncZF+Y7arpl/DpIT4T2JRvvjF7Ns4kuMG5QiRDMQoQVX7y1qJFX5x6DW/TXIJPb46\nOFBbdzEbjbPHJEWap6xtABRaBLe6E+tRCphBQSJOZWGHgUFQpnlcid4ZSlfVLuZd\nHFMsfpjNGgYWpGhz0DQEE1yhcdNafFXbXmThN4cwVgTlEbQpgBLxeTmIogIRfCdm\nt4i3ePLKCqg4qwpkwr9mXZWEwaElHoddGlALIBLMQbtuC1E4uEvLAgMBAAGjggET\nMIIBDzASBgNVHRMBAf8ECDAGAQH/AgEBMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggr\nBgEFBQcDAgYIKwYBBQUHAwQwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdo\ndHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8v\nY3JsLmVudHJ1c3QubmV0L3NlcnZlcjEuY3JsMB0GA1UdDgQWBBSxPsNpA/i/RwHU\nmCYaCALvY2QrwzALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7\nUISX8+1i0BowGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEF\nBQADgYEASA4rbyBiTCiToyQ9WKshz4D4mpeQaiLtWnxHNpnneYR1qySPkgrVYQSu\nw2pcsszZ5ESHb9uPOGL3RDadurxuB8TUjegf0Qtgo7WczmO+7Wfc+Lrebskly1u1\nnXZwC99CcvhPQRFkpdLq/NWvEfQVOGecIKhLd1qRMkIy54Wz3zY=\n-----END CERTIFICATE-----"
],
"dst_addr": "2a01:4f8:121:30a3::78:16",
"dst_name": "atlas.ripe.net",
"dst_port": "https",
"from": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"fw": 4460,
"method": "SSL",
"msm_id": 15002,
"prb_id": 114,
"src_addr": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"timestamp": 1339632166,
"type": "sslcert",
"ver": "3.0"
}
5. Version 4540
Version 4540 is identified by a value between "4540" and "4569" for
the key fw in the result.
Changes between 4460 and 4540
- Additional key "lts" in ping.
- Additional keys "readtiming", "ttc", "ttfb", and "ttr" in HTTP.
- Additional keys "rt" and "ttc" in SSL GET Cert.
5.1. Ping / v6 Ping
View changes since previous version.
| Result: |
- "addr" -- IP address of the destination (deprecated) (string)
- "af" -- address family, 4 or 6 (integer)
- "avg" -- average round-trip time (float)
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "dup" -- number of duplicate packets (int)
- "from" -- IP address of the probe as known by the controller (string)
- "lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (int)
- "max" -- maximum round-trip time (float)
- "min" -- minimum round-trip time (float)
- "msm_id" -- measurement identifier (int)
- "name" -- name of the destination (deprecated) (string)
- "prb_id" -- source probe ID (int)
- "proto" -- "ICMP" (string)
- "rcvd" -- number of packets received (int)
- "result" -- variable content, depending on type of response (array)
Each element is an associative array consisting of:
- Case: Timeout
- Case: Error
- "error" -- description of error (string)
- Case: Reply
- "rtt" -- round-trip-time in milliseconds (float)
- "ttl" -- [optional] time-to-live reply if different from ttl in first reply (int)
- "dup" -- [optional] signals that the reply is a
duplicate (int)
- "sent" -- number of packets sent (int)
- "size" -- packet size (int)
- "src_addr" -- source address used by probe (string)
- "timestamp" -- Unix timestamp (int)
- "ttl" -- time-to-live field in the first reply (int)
- "type" -- "ping" (string)
|
Example result:
{
"addr": "2001:7fd::1",
"af": 6,
"avg": 2.2576666666666667,
"dst_addr": "2001:7fd::1",
"dst_name": "2001:7fd::1",
"dup": 0,
"from": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"fw": 4540,
"lts": 39,
"max": 2.4119999999999999,
"min": 2.0030000000000001,
"msm_id": 2001,
"name": "k.root-servers.net",
"prb_id": 9,
"proto": "ICMP",
"rcvd": 3,
"result": [
{
"rtt": 2.4119999999999999
},
{
"rtt": 2.0030000000000001,
"srcaddr": "2001:67c:2e8:13:220:4aff:fec6:cc9d"
},
{
"rtt": 2.3580000000000001,
"srcaddr": "2001:67c:2e8:13:220:4aff:fec6:cc9d"
}
],
"sent": 3,
"size": 0,
"src_addr": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"timestamp": 1374756583,
"ttl": 62,
"type": "ping"
}
5.2. Traceroute / v6 Traceroute
View changes since previous version.
| Result: |
- "af" -- address family, 4 or 6 (integer)
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "endtime" -- Unix timestamp for end of measurement (int)
- "from" -- IP address of the probe as know by controller (string)
- "msm_id" -- measurement identifier (int)
- "paris_id" -- variation for the Paris mode of traceroute (int)
- "prb_id" -- source probe ID (int)
- "proto" -- "UDP" or "ICMP" (string)
- "result" -- list of hop elements (array)
Each element is an associative array consisting of:
- "hop" -- hop number (int)
- "error" -- [optional] when an error occurs trying to send a packet. In that case there will not be a result structure. (string)
- "result" -- variable content, depending on type of response (array)
Each element is an associative array consisting of:
- Case: Timeout
- Case: Reply
- "err" -- (optional) error ICMP: "N" (network unreachable,), "H" (destination unreachable), "A" (administratively prohibited), "P" (protocol unreachable), "p" (port unreachable) (string)
- "from" -- IPv4 or IPv6 source address in reply (string)
- "ittl" -- (optional) time-to-live in packet that triggered the error ICMP. Omitted if equal to 1 (int)
- "late" -- (optional) number of packets a reply is
late, in this case rtt is not present (int)
- "mtu" -- (optional) path MTU from a packet too
big ICMP (int)
- "rtt" -- round-trip-time of reply, not present
when the response is late (float)
- "size" -- size of reply (int)
- "ttl" -- time-to-live in reply (int)
- "icmpext" -- [optional] information when icmp header is found in reply (object)
- "version" -- RFC4884 version (int)
- "rfc4884" -- "1" if length indication is present, "0" otherwise (int)
- "obj" -- elements of the object (array)
- "class" -- RFC4884 class (int)
- "type" -- RFC4884 type (int)
- "mpls" -- [optional] MPLS data, RFC4950, shown when class is "1" and type is "1" (array)
- "exp" -- for experimental use (int)
- "label" -- mpls label (int)
- "s" -- bottom of stack (int)
- "ttl" -- time to live value (int)
- "size" -- packet size (int)
- "src_addr" -- source address used by probe (string)
- "timestamp" -- Unix timestamp for start of measurement (int)
- "type" -- "traceroute" (string)
|
Example result:
{
"af": 6,
"dst_addr": "2001:7fd::1",
"dst_name": "2001:7fd::1",
"endtime": 1339665496,
"from": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"fw": 4460,
"msm_id": 6001,
"paris_id": 4,
"prb_id": 114,
"proto": "UDP",
"result": [
{
"hop": 1,
"result": [
{
"from": "2001:67c:2e8:13::2",
"rtt": 2.2989999999999999,
"size": 96,
"ttl": 63
},
{
"from": "2001:67c:2e8:13::2",
"rtt": 2.4990000000000001,
"size": 96,
"ttl": 63
},
{
"from": "2001:67c:2e8:13::2",
"rtt": 2.8719999999999999,
"size": 96,
"ttl": 63
}
]
},
{
"hop": 2,
"result": [
{
"from": "2001:7f8:1::a502:5152:1",
"rtt": 2.4009999999999998,
"size": 96,
"ttl": 63
},
{
"from": "2001:7f8:1::a502:5152:1",
"rtt": 2.5409999999999999,
"size": 96,
"ttl": 63
},
{
"from": "2001:7f8:1::a502:5152:1",
"rtt": 2.6360000000000001,
"size": 96,
"ttl": 63
}
]
},
{
"hop": 3,
"result": [
{
"from": "2001:7fd::1",
"rtt": 2.4060000000000001,
"size": 96,
"ttl": 62
},
{
"from": "2001:7fd::1",
"rtt": 2.3300000000000001,
"size": 96,
"ttl": 62
},
{
"from": "2001:7fd::1",
"rtt": 2.4060000000000001,
"size": 96,
"ttl": 62
}
]
}
],
"size": 40,
"src_addr": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"timestamp": 1339665496,
"type": "traceroute"
}
5.3. DNS Lookup
View changes since previous version.
| Result: |
- "af" -- [optional] IP version: "4" or "6" (int)
- "dst_addr" -- [optional] IP address of the destination (string)
- "dst_name" -- [optional] hostname of the destination (string)
- "error" -- [optional] error message (associative array)
- "timeout" -- query timeout (int)
- "getaddrinfo" -- error message (string)
- "from" -- [optional] IP address of the source (string)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "proto" -- "TCP" or "UDP" (string)
- "qbuf" -- [optional] query payload buffer which was sent to the server, UU encoded (string)
See example code for decoding the value
- "result" -- [optional] response from the DNS server (associative array)
- "ANCOUNT" -- answer count, RFC 1035 4.1.1 (int)
- "ARCOUNT" -- additional record count, RFC 1035, 4.1.1 (int)
- "ID" -- query ID, RFC 1035 4.1.1 (int)
- "NSCOUNT" -- name server count (int)
- "QDCOUNT" -- number of queries (int)
- "abuf" -- answer payload buffer from the server, UU encoded (string)
See example code for decoding the value
- "answers" -- first two records from the response decoded by the probe, if they are TXT or SOA; other RR can be decoded from "abuf" (array)
Each element is an associative array consisting of:
- "MNAME" -- domain name, RFC 1035, 3.1.13 (string)
- "NAME" -- domain name. (string)
- "RDATA" -- [type TXT] txt value, (string)
- "RNAME" -- [if type SOA] mailbox, RFC 1035 3.3.13 (string)
- "SERIAL" -- [type SOA] zone serial number, RFC 1035 3.3.13 (int)
- "TTL" -- [type SOA] time to live, RFC 1035 4.1.3 (int)
- "TYPE" -- RR "SOA" or "TXT" (string), RFC 1035
- "rt" -- [optional] response time in milli seconds (float)
- "size" -- [optional] response size (int)
- "src_addr" -- [optional] the source IP address added by the probe (string).
- "subid" -- [optional] sequence number of this result within a group of results, available if the resolution is done by the probe's local resolver
- "submax" -- [optional] total number of results within a group (int)
- "timestamp" -- start time, in Unix timestamp (int)
- "type" -- "dns" (string)
|
| Notes: |
- If a hostname was provided, both the hostname (dst_name)
and the IP address (dst_addr) will be in the response.
- If an IP address was provided, the name field will
not be filled, unless the address which was given differs from the
probe's resolution of the address. For instance, if
"2001:0DB8:0:0::1" was provided, and the probe resolves it to
"2001:0DB8::1", the first value will be returned as the name and
the second as the address.
- The dst_addr field will always be present, except when
there is an error.
|
Example result:
{
"af": 6,
"dst_addr": "2001:7fd::1",
"from": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"fw": 4460,
"msm_id": 11001,
"prb_id": 114,
"proto": "UDP",
"result": {
"ANCOUNT": 1,
"ARCOUNT": 13,
"ID": 14016,
"NSCOUNT": 13,
"QDCOUNT": 1,
"abuf": "NsCEAAABAAEADQANAAAGAAEAAAYAAQABUYAAQAFhDHJvb3Qtc2VydmVycwNuZXQABW5zdGxkDHZlcmlzaWduLWdycwNjb20Ad+2e2AAABwgAAAOEAAk6gAABUYAAAAIAAQAH6QAAAsAcAAACAAEAB+kAAAQBYsAeAAACAAEAB+kAAAQBY8AeAAACAAEAB+kAAAQBZMAeAAACAAEAB+kAAAQBZcAeAAACAAEAB+kAAAQBZsAeAAACAAEAB+kAAAQBZ8AeAAACAAEAB+kAAAQBaMAeAAACAAEAB+kAAAQBacAeAAACAAEAB+kAAAQBasAeAAACAAEAB+kAAAQBa8AeAAACAAEAB+kAAAQBbMAeAAACAAEAB+kAAAQBbcAewBwAAQABAAfpAAAExikABMB0AAEAAQAH6QAABMDkT8nAgwABAAEAB+kAAATAIQQMwJIAAQABAAfpAAAEgAgKWsChAAEAAQAH6QAABMDL5grAsAABAAEAB+kAAATABQXxwL8AAQABAAfpAAAEwHAkBMDOAAEAAQAH6QAABIA/AjXA3QABAAEAB+kAAATAJJQRwOwAAQABAAfpAAAEwDqAHsD7AAEAAQAH6QAABMEADoHBCgABAAEAB+kAAATHB1MqwRkAAQABAAfpAAAEygwbIQ==",
"answers": [
{
"MNAME": "a.root-servers.net.",
"NAME": ".",
"RDLENGTH": 64,
"RNAME": "nstld.verisign-grs.com.",
"SERIAL": 2012061400,
"TTL": 86400,
"TYPE": "SOA"
}
],
"rt": 3.4279999999999999,
"size": 493
},
"timestamp": 1339664565,
"type": "dns"
}
View changes since previous version.
| Result: |
- "from" -- IP address of the probe as known by controller (string)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "result" -- results of query (array)
Each element is an associative array consisting of:
- "af" -- address family, 4 or 6 (integer)
- "bsize" -- size of body in octets (int)
- "dnserr" -- [optional] DNS resolution failed (string)
- "dst_addr" -- target address (string)
- "err" -- [optional] other failure (string)
- "header" -- [optional] elements are strings. The last string can be empty to indicate the end of enders or end with "[...]" to indicate truncation (array)
- "hsize" -- header size in octets (int)
- "method" -- "GET", "HEAD", or "POST" (string)
- "readtiming" -- [optional] timing results for reply
data (array)
Each element is an associative array
consisting of:
- "t" -- time since starting to connect when data is
received (in milli seconds) (float)
- "o" -- offset in stream of reply data (int)
- "res" -- HTTP result code (int)
- "rt" -- time to execute request excluding DNS (float)
- "src_addr" -- source address used by probe (string)
- "subid" -- [optional] sequence number of this result within a group of results, when the 'all' option is used without the 'combine' option (int)
- "submax" -- [optional] total number of results within a group (int)
- "time" -- [optional] Unix timestamp, when the 'all' option is used with the 'combine' option (int)
- "ttc" -- [optional] time to connect to the target (in milli
seconds) (float)
- "ttfb" -- [optional] time to first response byte
received by measurent code after starting to connect
(in milli seconds) (float)
- "ttr" -- [optional] time to resolve the DNS name
(in milli seconds) (float)
- "ver" -- major, minor version of http server (string)
- "timestamp" -- Unix timestamp (int)
- "type" -- "http" (string)
- "uri" -- request uri (string)
|
Example result:
{
"from": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"msm_id": 1013948,
"fw": 4540,
"timestamp": 1374759270,
"uri": "http://www.ripe.net/",
"prb_id": 9,
"result": [
{
"rt": 51.857999999999997,
"src_addr": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"hsize": 279,
"af": 6,
"bsize": 39851,
"res": 200,
"dst_addr": "2001:67c:2e8:22::c100:68b",
"readtiming": [
{
"t": 28.552,
"o": "0"
},
{
"t": 31.466000000000001,
"o": "4096"
},
{
"t": 33.752000000000002,
"o": "8192"
},
{
"t": 36.012,
"o": "12288"
},
{
"t": 38.866,
"o": "16384"
},
{
"t": 42.146000000000001,
"o": "20480"
},
{
"t": 44.302,
"o": "24576"
},
{
"t": 46.579999999999998,
"o": "28672"
},
{
"t": 48.886000000000003,
"o": "32768"
},
{
"t": 50.896999999999998,
"o": "36864"
}
],
"ttr": 3.2080000000000002,
"ttc": 3.1840000000000002,
"ver": "1.1",
"ttfb": 28.417999999999999,
"method": "GET"
}
],
"type": "http"
}
5.5. SSL GET Cert
View changes since previous version.
| Result: |
- "af" -- address family, 4 or 6 (integer)
- "cert" -- results of query (array)
Each element of the array is a string containing a base 64 encoded certificate. Newlines are replaced with "\n"
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "dst_port" -- port name (string)
- "from" -- IP address of the probe as known by controller (string)
- "method" -- "SSL" (string)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "rt" -- [optional] response time in milli seconds from
starting to connect to receving the certificates (float)
- "src_addr" -- source address used by probe (string)
- "ttc" -- [optional] time in milli seconds that it took to
connect (over TCP) to the target (float)
- "timestamp" -- Unix timestamp (int)
- "type" -- "sslcert" (string)
- "ver" -- (SSL) protocol versioN (string)
|
Example result:
{
"af": 6,
"cert": [
"-----BEGIN
CERTIFICATE-----\nMIIGqjCCBZKgAwIBAgIQBNu6PYaCJaYpd2g1kzNSJTANBgkqhkiG9w0BAQUFADBm\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSUwIwYDVQQDExxEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBDQS0zMB4XDTEzMDMxODAwMDAwMFoXDTE0MDYxMDEyMDAwMFowbjELMAkGA1UE\nBhMCTkwxFjAUBgNVBAgTDU5vb3JkLUhvbGxhbmQxEjAQBgNVBAcTCUFtc3RlcmRh\nbTERMA8GA1UEChMIUklQRSBOQ0MxCzAJBgNVBAsTAklUMRMwEQYDVQQDDAoqLnJp\ncGUubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6d0G7rz55lcy\n1gxB6p5eMwwz2Pra2vF7wf3+IclV5RhTAErZmq7yhDCWwRYbgl0g2mHoCxWUd2bO\nRn9bFZO+3c3b5IWzU9kjcEALOumdIvKa1Gw0EPIaJgJGPIYYO7YpNtpxyL4o+ENL\nNxplATdIjVTvGpb6oiM5Cf7umBReODnSDmUDpFLCwoHrPzOlQMStBW96oZoTXDW4\nWPkTgN+JoeV0Di03fwrNGMPY9ePzLEtiinfTXaEgvme4uajiOdB5cf9kIXms141q\nvFaAnC5EIXW7RSwD+wEAbEtMYS1hzfMsrI5WRnJATdwSt9mXe8NrmsnZLbPxl03D\n127U86FdZwIDAQABo4IDSjCCA0YwHwYDVR0jBBgwFoAUUOpzidsp+xCPnuUBINTe\neZlIg/cwHQYDVR0OBBYEFGhAxyPew9BsnnEbDKExdS7m9jlIMB8GA1UdEQQYMBaC\nCioucmlwZS5uZXSCCHJpcGUubmV0MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAU\nBggrBgEFBQcDAQYIKwYBBQUHAwIwYQYDVR0fBFowWDAqoCigJoYkaHR0cDovL2Ny\nbDMuZGlnaWNlcnQuY29tL2NhMy1nMjAuY3JsMCqgKKAmhiRodHRwOi8vY3JsNC5k\naWdpY2VydC5jb20vY2EzLWcyMC5jcmwwggHEBgNVHSAEggG7MIIBtzCCAbMGCWCG\nSAGG/WwBATCCAaQwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cuZGlnaWNlcnQuY29t\nL3NzbC1jcHMtcmVwb3NpdG9yeS5odG0wggFkBggrBgEFBQcCAjCCAVYeggFSAEEA\nbgB5ACAAdQBzAGUAIABvAGYAIAB0AGgAaQBzACAAQwBlAHIAdABpAGYAaQBjAGEA\ndABlACAAYwBvAG4AcwB0AGkAdAB1AHQAZQBzACAAYQBjAGMAZQBwAHQAYQBuAGMA\nZQAgAG8AZgAgAHQAaABlACAARABpAGcAaQBDAGUAcgB0ACAAQwBQAC8AQwBQAFMA\nIABhAG4AZAAgAHQAaABlACAAUgBlAGwAeQBpAG4AZwAgAFAAYQByAHQAeQAgAEEA\nZwByAGUAZQBtAGUAbgB0ACAAdwBoAGkAYwBoACAAbABpAG0AaQB0ACAAbABpAGEA\nYgBpAGwAaQB0AHkAIABhAG4AZAAgAGEAcgBlACAAaQBuAGMAbwByAHAAbwByAGEA\ndABlAGQAIABoAGUAcgBlAGkAbgAgAGIAeQAgAHIAZQBmAGUAcgBlAG4AYwBlAC4w\newYIKwYBBQUHAQEEbzBtMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy\ndC5jb20wRQYIKwYBBQUHMAKGOWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9E\naWdpQ2VydEhpZ2hBc3N1cmFuY2VDQS0zLmNydDAMBgNVHRMBAf8EAjAAMA0GCSqG\nSIb3DQEBBQUAA4IBAQB46sTrH1CPFA9nWSHH7zyysBuA0G62ey1ps5GNTP3TEmyp\n+XCrzp13IoVuxFCT39b/XfbztkpGpIwqeIhIxBEH/jdMeBw6QXonbCrK4bBVY1Lj\nwEiV4/Ev4Y1uho9FC9DRHOmTr5X4TDpAfiuF+P/h62WAL9XE12luZOAaef/Afxap\nZ2u+DZHbckDmDZLrMl9/b0XvYJYE7s11SQiR1Bz8kI1rvAodpOeTcn4pp3b70IAq\nk1XB+floX9aodmfFQm+hgO/QrpbBuqvsjYhnXGnAGhxAYnyqN2ruD0s+oWBTEWLP\nGPzXQ8m49Ipx20t4UKEXWsNHfMYfnyeodoTpA2mU\n-----END
CERTIFICATE-----",
"-----BEGIN
CERTIFICATE-----\nMIIGWDCCBUCgAwIBAgIQCl8RTQNbF5EX0u/UA4w/OzANBgkqhkiG9w0BAQUFADBs\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBFViBSb290IENBMB4XDTA4MDQwMjEyMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL\nMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\nLmRpZ2ljZXJ0LmNvbTElMCMGA1UEAxMcRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug\nQ0EtMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9hCikQH17+NDdR\nCPge+yLtYb4LDXBMUGMmdRW5QYiXtvCgFbsIYOBC6AUpEIc2iihlqO8xB3RtNpcv\nKEZmBMcqeSZ6mdWOw21PoF6tvD2Rwll7XjZswFPPAAgyPhBkWBATaccM7pxCUQD5\nBUTuJM56H+2MEb0SqPMV9Bx6MWkBG6fmXcCabH4JnudSREoQOiPkm7YDr6ictFuf\n1EutkozOtREqqjcYjbTCuNhcBoz4/yO9NV7UfD5+gw6RlgWYw7If48hl66l7XaAs\nzPw82W3tzPpLQ4zJ1LilYRyyQLYoEt+5+F/+07LJ7z20Hkt8HEyZNp496+ynaF4d\n32duXvsCAwEAAaOCAvowggL2MA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w\nggG5MIIBtQYLYIZIAYb9bAEDAAIwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3\nLmRpZ2ljZXJ0LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUH\nAgIwggFWHoIBUgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQBy\nAHQAaQBmAGkAYwBhAHQAZQAgAGMAbwBuAHMAdABpAHQAdQB0AGUAcwAgAGEAYwBj\nAGUAcAB0AGEAbgBjAGUAIABvAGYAIAB0AGgAZQAgAEQAaQBnAGkAQwBlAHIAdAAg\nAEMAUAAvAEMAUABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQ\nAGEAcgB0AHkAIABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBt\nAGkAdAAgAGwAaQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBj\nAG8AcgBwAG8AcgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBl\nAHIAZQBuAGMAZQAuMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYIKwYBBQUHAQEEKDAm\nMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSB\nhzCBhDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGln\naEFzc3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNl\ncnQuY29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSME\nGDAWgBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUB\nINTeeZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAB7ipUiebNtTOA/vphoqrOIDQ+2a\nvD6OdRvw/S4iWawTwGHi5/rpmc2HCXVUKL9GYNy+USyS8xuRfDEIcOI3ucFbqL2j\nCwD7GhX9A61YasXHJJlIR0YxHpLvtF9ONMeQvzHB+LGEhtCcAarfilYGzjrpDq6X\ndF3XcZpCdF/ejUN83ulV7WkAywXgemFhM9EZTfkI7qA5xSU1tyvED7Ld8aW3DiTE\nJiiNeXf1L/BXunwH1OH8zVowV36GEEfdMR/X/KLCvzB8XSSq6PmuX2p0ws5rs0bY\nIb4p1I5eFdZCSucyb6Sxa1GDWL4/bcf72gMhy2oWGU4K8K2Eyl2Us1p292E=\n-----END
CERTIFICATE-----",
"-----BEGIN
CERTIFICATE-----\nMIIEQjCCA6ugAwIBAgIEQodApTANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC\nVVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u\nZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc\nKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u\nZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEw\nMDEwNTAwMDBaFw0xNDA3MjYxODE1MTVaMGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQK\nEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNV\nBAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0EwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGzOVz5vvUu+UtLTKm3+WBP8nNJUm2cSrD\n1ZQ0Z6IKHLBfaaZAscS3so/QmKSpQVk609yU1jzbdDikSsxNJYL3SqVTEjju80lt\ncZF+Y7arpl/DpIT4T2JRvvjF7Ns4kuMG5QiRDMQoQVX7y1qJFX5x6DW/TXIJPb46\nOFBbdzEbjbPHJEWap6xtABRaBLe6E+tRCphBQSJOZWGHgUFQpnlcid4ZSlfVLuZd\nHFMsfpjNGgYWpGhz0DQEE1yhcdNafFXbXmThN4cwVgTlEbQpgBLxeTmIogIRfCdm\nt4i3ePLKCqg4qwpkwr9mXZWEwaElHoddGlALIBLMQbtuC1E4uEvLAgMBAAGjggET\nMIIBDzASBgNVHRMBAf8ECDAGAQH/AgEBMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggr\nBgEFBQcDAgYIKwYBBQUHAwQwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdo\ndHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8v\nY3JsLmVudHJ1c3QubmV0L3NlcnZlcjEuY3JsMB0GA1UdDgQWBBSxPsNpA/i/RwHU\nmCYaCALvY2QrwzALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7\nUISX8+1i0BowGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEF\nBQADgYEASA4rbyBiTCiToyQ9WKshz4D4mpeQaiLtWnxHNpnneYR1qySPkgrVYQSu\nw2pcsszZ5ESHb9uPOGL3RDadurxuB8TUjegf0Qtgo7WczmO+7Wfc+Lrebskly1u1\nnXZwC99CcvhPQRFkpdLq/NWvEfQVOGecIKhLd1qRMkIy54Wz3zY=\n-----END
CERTIFICATE-----"
],
"dst_addr": "2001:67c:2e8:22::c100:68b",
"dst_name": "www.ripe.net",
"dst_port": "443",
"from": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"fw": 4540,
"method": "SSL",
"msm_id": 15001,
"prb_id": 9,
"rt": 25.738,
"src_addr": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"timestamp": 1374753699,
"ttc": 3.867,
"type": "sslcert",
"ver": "3.0"
}
6. Version 4570
Version 4570 is identified by a value between "4570" and "4609" for
the key fw in the result.
Changes between 4540 and 4570
- Size field in ping and traceroute made consistent
- Addr field is gone
6.1. Ping / v6 Ping
View changes since previous version.
| Result: |
- "af" -- address family, 4 or 6 (integer)
- "avg" -- average round-trip time (float)
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "dup" -- number of duplicate packets (int)
- "from" -- IP address of the probe as known by the controller (string)
- "lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (int)
- "max" -- maximum round-trip time (float)
- "min" -- minimum round-trip time (float)
- "msm_id" -- measurement identifier (int)
- "name" -- name of the destination (deprecated) (string)
- "prb_id" -- source probe ID (int)
- "proto" -- "ICMP" (string)
- "rcvd" -- number of packets received (int)
- "result" -- variable content, depending on type of response (array)
Each element is an associative array consisting of:
- Case: Timeout
- Case: Error
- "error" -- description of error (string)
- Case: Reply
- "rtt" -- round-trip-time in milliseconds (float)
- "src_Addr" -- [optional] source address if different
from the source address in first reply (string)
- "ttl" -- [optional] time-to-live reply if different from ttl in first reply (int)
- "dup" -- [optional] signals that the reply is a
duplicate (int)
- "sent" -- number of packets sent (int)
- "size" -- packet size (data part, not including IP and ICMP
header) (int)
- "src_addr" -- source address used by probe (missing due to a
bug)(string)
- "timestamp" -- Unix timestamp (int)
- "ttl" -- time-to-live field in the first reply (missing due
to a bug)(int)
- "type" -- "ping" (string)
|
Example result:
{
"af":6,
"avg":2.640333333333333,
"dst_addr":"2001:7fd::1",
"dst_name":"2001:7fd::1",
"dup":0,
"from":"2001:67c:2e8:13:220:4aff:fec6:cc9d",
"fw":4570,
"lts":69,
"max":2.6539999999999999,
"min":2.625,
"msm_id":2001,
"prb_id":9,
"proto":"ICMP",
"rcvd":3,
"result": [
{"rtt":2.6539999999999999},
{"rtt":2.6419999999999999},
{"rtt":2.625}
],
"sent":3,
"size":12,
"step":240,
"timestamp":1386590507,
"type":"ping"
}
6.2. Traceroute / v6 Traceroute
View changes since previous version.
| Result: |
- "af" -- address family, 4 or 6 (integer)
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "endtime" -- Unix timestamp for end of measurement (int)
- "from" -- IP address of the probe as know by controller (string)
- "msm_id" -- measurement identifier (int)
- "paris_id" -- variation for the Paris mode of traceroute (int)
- "prb_id" -- source probe ID (int)
- "proto" -- "UDP" or "ICMP" (or "TCP", fw >= 4600) (string)
- "result" -- list of hop elements (array)
Each element is an associative array consisting of:
- "hop" -- hop number (int)
- "error" -- [optional] when an error occurs trying to send a packet. In that case there will not be a result structure. (string)
- "result" -- variable content, depending on type of response (array)
Each element is an associative array consisting of:
- Case: Timeout
- Case: Reply
- "err" -- (optional) error ICMP: "N" (network unreachable,), "H" (destination unreachable), "A" (administratively prohibited), "P" (protocol unreachable), "p" (port unreachable) (string)
- "from" -- IPv4 or IPv6 source address in reply (string)
- "ittl" -- (optional) time-to-live in packet that triggered the error ICMP. Omitted if equal to 1 (int)
- "late" -- (optional) number of packets a reply is
late, in this case rtt is not present (int)
- "mtu" -- (optional) path MTU from a packet too
big ICMP (int)
- "rtt" -- round-trip-time of reply, not present
when the response is late (float)
- "size" -- size of reply (int)
- "ttl" -- time-to-live in reply (int)
- "flags" -- (optional) TCP flags in the reply
packet, for TCP traceroute, concatenated, in the order
'F' (FIN), 'S' (SYN), 'R' (RST), 'P' (PSH), 'A' (ACK),
'U' (URG) (fw >= 4600) (string)
- "icmpext" -- [optional] information when icmp header is found in reply (object)
- "version" -- RFC4884 version (int)
- "rfc4884" -- "1" if length indication is present, "0" otherwise (int)
- "obj" -- elements of the object (array)
- "class" -- RFC4884 class (int)
- "type" -- RFC4884 type (int)
- "mpls" -- [optional] MPLS data, RFC4950, shown when class is "1" and type is "1" (array)
- "exp" -- for experimental use (int)
- "label" -- mpls label (int)
- "s" -- bottom of stack (int)
- "ttl" -- time to live value (int)
- "size" -- packet size (int)
- "src_addr" -- source address used by probe (string)
- "timestamp" -- Unix timestamp for start of measurement (int)
- "type" -- "traceroute" (string)
|
Example result:
{
"af":6,
"dst_addr":"2001:7fd::1",
"dst_name":"2001:7fd::1",
"endtime":1386596919,
"from":"2001:67c:2e8:13:220:4aff:fec6:cc9d",
"fw":4570,
"msm_id":6001,
"paris_id":4,
"prb_id":9,
"proto":"UDP",
"result": [
{
"hop":1,
"result": [
{
"from":"2001:67c:2e8:13::2",
"rtt":4.7960000000000003,
"size":88,
"ttl":64
},
{
"from":"2001:67c:2e8:13::2",
"rtt":3.4380000000000002,
"size":88,
"ttl":64
},
{
"from":"2001:67c:2e8:13::2",
"rtt":3.149,
"size":88,
"ttl":64
}
]
},
{
"hop":2,
"result": [
{"x":"*"},
{
"from":"2001:7f8:1::a502:5152:1",
"rtt":3.1800000000000002,
"size":88,
"ttl":63
},
{
"from":"2001:7f8:1::a502:5152:1",
"rtt":3.3849999999999998,
"size":88,
"ttl":63
}
]
},
{
"hop":3,
"result": [
{
"from":"2001:7fd::1",
"rtt":3.359,
"size":88,
"ttl":62
},
{"x":"*"},
{"x":"*"}
]
}
],
"size":40,
"src_addr":"2001:67c:2e8:13:220:4aff:fec6:cc9d",
"timestamp":1386596906,
"type":"traceroute"
}
6.3. DNS Lookup
View changes since previous version.
| Result: |
- "af" -- [optional] IP version: "4" or "6" (int)
- "dst_addr" -- [optional] IP address of the destination (string)
- "dst_name" -- [optional] hostname of the destination (string)
- "error" -- [optional] error message (associative array)
- "timeout" -- query timeout (int)
- "getaddrinfo" -- error message (string)
- "from" -- [optional] IP address of the source (string)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "proto" -- "TCP" or "UDP" (string)
- "qbuf" -- [optional] query payload buffer which was sent to the server, UU encoded (string)
See example code for decoding the value
- "result" -- [optional] response from the DNS server (associative array)
- "ANCOUNT" -- answer count, RFC 1035 4.1.1 (int)
- "ARCOUNT" -- additional record count, RFC 1035, 4.1.1 (int)
- "ID" -- query ID, RFC 1035 4.1.1 (int)
- "NSCOUNT" -- name server count (int)
- "QDCOUNT" -- number of queries (int)
- "abuf" -- answer payload buffer from the server, UU encoded (string)
See example code for decoding the value
- "answers" -- first two records from the response decoded by the probe, if they are TXT or SOA; other RR can be decoded from "abuf" (array)
Each element is an associative array consisting of:
- "MNAME" -- domain name, RFC 1035, 3.1.13 (string)
- "NAME" -- domain name. (string)
- "RDATA" -- [type TXT] txt value, (string)
- "RNAME" -- [if type SOA] mailbox, RFC 1035 3.3.13 (string)
- "SERIAL" -- [type SOA] zone serial number, RFC 1035 3.3.13 (int)
- "TTL" -- [type SOA] time to live, RFC 1035 4.1.3 (int)
- "TYPE" -- RR "SOA" or "TXT" (string), RFC 1035
- "rt" -- [optional] response time in milli seconds (float)
- "size" -- [optional] response size (int)
- "src_addr" -- [optional] the source IP address added by the probe (string).
- "subid" -- [optional] sequence number of this result within a group of results, available if the resolution is done by the probe's local resolver
- "submax" -- [optional] total number of results within a group (int)
- "retry" -- [optional] retry count (int)
- "timestamp" -- start time, in Unix timestamp (int)
- "type" -- "dns" (string)
|
| Notes: |
- If a hostname was provided, both the hostname (dst_name)
and the IP address (dst_addr) will be in the response.
- If an IP address was provided, the name field will
not be filled, unless the address which was given differs from the
probe's resolution of the address. For instance, if
"2001:0DB8:0:0::1" was provided, and the probe resolves it to
"2001:0DB8::1", the first value will be returned as the name and
the second as the address.
- The dst_addr field will always be present, except when
there is an error.
|
Example result:
{
"af": 6,
"dst_addr": "2001:7fd::1",
"from": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"fw": 4460,
"msm_id": 11001,
"prb_id": 114,
"proto": "UDP",
"result": {
"ANCOUNT": 1,
"ARCOUNT": 13,
"ID": 14016,
"NSCOUNT": 13,
"QDCOUNT": 1,
"abuf": "NsCEAAABAAEADQANAAAGAAEAAAYAAQABUYAAQAFhDHJvb3Qtc2VydmVycwNuZXQABW5zdGxkDHZlcmlzaWduLWdycwNjb20Ad+2e2AAABwgAAAOEAAk6gAABUYAAAAIAAQAH6QAAAsAcAAACAAEAB+kAAAQBYsAeAAACAAEAB+kAAAQBY8AeAAACAAEAB+kAAAQBZMAeAAACAAEAB+kAAAQBZcAeAAACAAEAB+kAAAQBZsAeAAACAAEAB+kAAAQBZ8AeAAACAAEAB+kAAAQBaMAeAAACAAEAB+kAAAQBacAeAAACAAEAB+kAAAQBasAeAAACAAEAB+kAAAQBa8AeAAACAAEAB+kAAAQBbMAeAAACAAEAB+kAAAQBbcAewBwAAQABAAfpAAAExikABMB0AAEAAQAH6QAABMDkT8nAgwABAAEAB+kAAATAIQQMwJIAAQABAAfpAAAEgAgKWsChAAEAAQAH6QAABMDL5grAsAABAAEAB+kAAATABQXxwL8AAQABAAfpAAAEwHAkBMDOAAEAAQAH6QAABIA/AjXA3QABAAEAB+kAAATAJJQRwOwAAQABAAfpAAAEwDqAHsD7AAEAAQAH6QAABMEADoHBCgABAAEAB+kAAATHB1MqwRkAAQABAAfpAAAEygwbIQ==",
"answers": [
{
"MNAME": "a.root-servers.net.",
"NAME": ".",
"RDLENGTH": 64,
"RNAME": "nstld.verisign-grs.com.",
"SERIAL": 2012061400,
"TTL": 86400,
"TYPE": "SOA"
}
],
"rt": 3.4279999999999999,
"size": 493
},
"timestamp": 1339664565,
"type": "dns"
}
6.4. HTTP
View changes since previous version.
| Result: |
- "from" -- IP address of the probe as known by controller (string)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "result" -- results of query (array)
Each element is an associative array consisting of:
- "af" -- address family, 4 or 6 (integer)
- "bsize" -- size of body in octets (int)
- "dnserr" -- [optional] DNS resolution failed (string)
- "dst_addr" -- target address (string)
- "err" -- [optional] other failure (string)
- "header" -- [optional] elements are strings. The last string can be empty to indicate the end of enders or end with "[...]" to indicate truncation (array)
- "hsize" -- header size in octets (int)
- "method" -- "GET", "HEAD", or "POST" (string)
- "readtiming" -- [optional] timing results for reply
data (array)
Each element is an associative array
consisting of:
- "t" -- time since starting to connect when data is
received (in milli seconds) (float)
- "o" -- offset in stream of reply data (int)
- "res" -- HTTP result code (int)
- "rt" -- time to execute request excluding DNS (float)
- "src_addr" -- source address used by probe (string)
- "subid" -- [optional] sequence number of this result within a group of results, when the 'all' option is used without the 'combine' option (int)
- "submax" -- [optional] total number of results within a group (int)
- "time" -- [optional] Unix timestamp, when the 'all' option is used with the 'combine' option (int)
- "ttc" -- [optional] time to connect to the target (in milli
seconds) (float)
- "ttfb" -- [optional] time to first response byte
received by measurent code after starting to connect
(in milli seconds) (float)
- "ttr" -- [optional] time to resolve the DNS name
(in milli seconds) (float)
- "ver" -- major, minor version of http server (string)
- "timestamp" -- Unix timestamp (int)
- "type" -- "http" (string)
- "uri" -- request uri (string)
|
Example result:
{
"from": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"msm_id": 1013948,
"fw": 4540,
"timestamp": 1374759270,
"uri": "http://www.ripe.net/",
"prb_id": 9,
"result": [
{
"rt": 51.857999999999997,
"src_addr": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"hsize": 279,
"af": 6,
"bsize": 39851,
"res": 200,
"dst_addr": "2001:67c:2e8:22::c100:68b",
"readtiming": [
{
"t": 28.552,
"o": "0"
},
{
"t": 31.466000000000001,
"o": "4096"
},
{
"t": 33.752000000000002,
"o": "8192"
},
{
"t": 36.012,
"o": "12288"
},
{
"t": 38.866,
"o": "16384"
},
{
"t": 42.146000000000001,
"o": "20480"
},
{
"t": 44.302,
"o": "24576"
},
{
"t": 46.579999999999998,
"o": "28672"
},
{
"t": 48.886000000000003,
"o": "32768"
},
{
"t": 50.896999999999998,
"o": "36864"
}
],
"ttr": 3.2080000000000002,
"ttc": 3.1840000000000002,
"ver": "1.1",
"ttfb": 28.417999999999999,
"method": "GET"
}
],
"type": "http"
}
6.5. SSL GET Cert
View changes since previous version.
| Result: |
- "af" -- address family, 4 or 6 (integer)
- "cert" -- results of query (array)
Each element of the array is a string containing a base 64 encoded certificate. Newlines are replaced with "\n"
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "dst_port" -- port name (string)
- "from" -- IP address of the probe as known by controller (string)
- "method" -- "SSL" (string)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "rt" -- [optional] response time in milli seconds from
starting to connect to receving the certificates (float)
- "src_addr" -- source address used by probe (string)
- "ttc" -- [optional] time in milli seconds that it took to
connect (over TCP) to the target (float)
- "timestamp" -- Unix timestamp (int)
- "type" -- "sslcert" (string)
- "ver" -- (SSL) protocol versioN (string)
|
Example result:
{
"af": 6,
"cert": [
"-----BEGIN
CERTIFICATE-----\nMIIGqjCCBZKgAwIBAgIQBNu6PYaCJaYpd2g1kzNSJTANBgkqhkiG9w0BAQUFADBm\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSUwIwYDVQQDExxEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBDQS0zMB4XDTEzMDMxODAwMDAwMFoXDTE0MDYxMDEyMDAwMFowbjELMAkGA1UE\nBhMCTkwxFjAUBgNVBAgTDU5vb3JkLUhvbGxhbmQxEjAQBgNVBAcTCUFtc3RlcmRh\nbTERMA8GA1UEChMIUklQRSBOQ0MxCzAJBgNVBAsTAklUMRMwEQYDVQQDDAoqLnJp\ncGUubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6d0G7rz55lcy\n1gxB6p5eMwwz2Pra2vF7wf3+IclV5RhTAErZmq7yhDCWwRYbgl0g2mHoCxWUd2bO\nRn9bFZO+3c3b5IWzU9kjcEALOumdIvKa1Gw0EPIaJgJGPIYYO7YpNtpxyL4o+ENL\nNxplATdIjVTvGpb6oiM5Cf7umBReODnSDmUDpFLCwoHrPzOlQMStBW96oZoTXDW4\nWPkTgN+JoeV0Di03fwrNGMPY9ePzLEtiinfTXaEgvme4uajiOdB5cf9kIXms141q\nvFaAnC5EIXW7RSwD+wEAbEtMYS1hzfMsrI5WRnJATdwSt9mXe8NrmsnZLbPxl03D\n127U86FdZwIDAQABo4IDSjCCA0YwHwYDVR0jBBgwFoAUUOpzidsp+xCPnuUBINTe\neZlIg/cwHQYDVR0OBBYEFGhAxyPew9BsnnEbDKExdS7m9jlIMB8GA1UdEQQYMBaC\nCioucmlwZS5uZXSCCHJpcGUubmV0MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAU\nBggrBgEFBQcDAQYIKwYBBQUHAwIwYQYDVR0fBFowWDAqoCigJoYkaHR0cDovL2Ny\nbDMuZGlnaWNlcnQuY29tL2NhMy1nMjAuY3JsMCqgKKAmhiRodHRwOi8vY3JsNC5k\naWdpY2VydC5jb20vY2EzLWcyMC5jcmwwggHEBgNVHSAEggG7MIIBtzCCAbMGCWCG\nSAGG/WwBATCCAaQwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cuZGlnaWNlcnQuY29t\nL3NzbC1jcHMtcmVwb3NpdG9yeS5odG0wggFkBggrBgEFBQcCAjCCAVYeggFSAEEA\nbgB5ACAAdQBzAGUAIABvAGYAIAB0AGgAaQBzACAAQwBlAHIAdABpAGYAaQBjAGEA\ndABlACAAYwBvAG4AcwB0AGkAdAB1AHQAZQBzACAAYQBjAGMAZQBwAHQAYQBuAGMA\nZQAgAG8AZgAgAHQAaABlACAARABpAGcAaQBDAGUAcgB0ACAAQwBQAC8AQwBQAFMA\nIABhAG4AZAAgAHQAaABlACAAUgBlAGwAeQBpAG4AZwAgAFAAYQByAHQAeQAgAEEA\nZwByAGUAZQBtAGUAbgB0ACAAdwBoAGkAYwBoACAAbABpAG0AaQB0ACAAbABpAGEA\nYgBpAGwAaQB0AHkAIABhAG4AZAAgAGEAcgBlACAAaQBuAGMAbwByAHAAbwByAGEA\ndABlAGQAIABoAGUAcgBlAGkAbgAgAGIAeQAgAHIAZQBmAGUAcgBlAG4AYwBlAC4w\newYIKwYBBQUHAQEEbzBtMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy\ndC5jb20wRQYIKwYBBQUHMAKGOWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9E\naWdpQ2VydEhpZ2hBc3N1cmFuY2VDQS0zLmNydDAMBgNVHRMBAf8EAjAAMA0GCSqG\nSIb3DQEBBQUAA4IBAQB46sTrH1CPFA9nWSHH7zyysBuA0G62ey1ps5GNTP3TEmyp\n+XCrzp13IoVuxFCT39b/XfbztkpGpIwqeIhIxBEH/jdMeBw6QXonbCrK4bBVY1Lj\nwEiV4/Ev4Y1uho9FC9DRHOmTr5X4TDpAfiuF+P/h62WAL9XE12luZOAaef/Afxap\nZ2u+DZHbckDmDZLrMl9/b0XvYJYE7s11SQiR1Bz8kI1rvAodpOeTcn4pp3b70IAq\nk1XB+floX9aodmfFQm+hgO/QrpbBuqvsjYhnXGnAGhxAYnyqN2ruD0s+oWBTEWLP\nGPzXQ8m49Ipx20t4UKEXWsNHfMYfnyeodoTpA2mU\n-----END
CERTIFICATE-----",
"-----BEGIN
CERTIFICATE-----\nMIIGWDCCBUCgAwIBAgIQCl8RTQNbF5EX0u/UA4w/OzANBgkqhkiG9w0BAQUFADBs\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBFViBSb290IENBMB4XDTA4MDQwMjEyMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL\nMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\nLmRpZ2ljZXJ0LmNvbTElMCMGA1UEAxMcRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug\nQ0EtMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9hCikQH17+NDdR\nCPge+yLtYb4LDXBMUGMmdRW5QYiXtvCgFbsIYOBC6AUpEIc2iihlqO8xB3RtNpcv\nKEZmBMcqeSZ6mdWOw21PoF6tvD2Rwll7XjZswFPPAAgyPhBkWBATaccM7pxCUQD5\nBUTuJM56H+2MEb0SqPMV9Bx6MWkBG6fmXcCabH4JnudSREoQOiPkm7YDr6ictFuf\n1EutkozOtREqqjcYjbTCuNhcBoz4/yO9NV7UfD5+gw6RlgWYw7If48hl66l7XaAs\nzPw82W3tzPpLQ4zJ1LilYRyyQLYoEt+5+F/+07LJ7z20Hkt8HEyZNp496+ynaF4d\n32duXvsCAwEAAaOCAvowggL2MA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w\nggG5MIIBtQYLYIZIAYb9bAEDAAIwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3\nLmRpZ2ljZXJ0LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUH\nAgIwggFWHoIBUgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQBy\nAHQAaQBmAGkAYwBhAHQAZQAgAGMAbwBuAHMAdABpAHQAdQB0AGUAcwAgAGEAYwBj\nAGUAcAB0AGEAbgBjAGUAIABvAGYAIAB0AGgAZQAgAEQAaQBnAGkAQwBlAHIAdAAg\nAEMAUAAvAEMAUABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQ\nAGEAcgB0AHkAIABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBt\nAGkAdAAgAGwAaQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBj\nAG8AcgBwAG8AcgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBl\nAHIAZQBuAGMAZQAuMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYIKwYBBQUHAQEEKDAm\nMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSB\nhzCBhDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGln\naEFzc3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNl\ncnQuY29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSME\nGDAWgBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUB\nINTeeZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAB7ipUiebNtTOA/vphoqrOIDQ+2a\nvD6OdRvw/S4iWawTwGHi5/rpmc2HCXVUKL9GYNy+USyS8xuRfDEIcOI3ucFbqL2j\nCwD7GhX9A61YasXHJJlIR0YxHpLvtF9ONMeQvzHB+LGEhtCcAarfilYGzjrpDq6X\ndF3XcZpCdF/ejUN83ulV7WkAywXgemFhM9EZTfkI7qA5xSU1tyvED7Ld8aW3DiTE\nJiiNeXf1L/BXunwH1OH8zVowV36GEEfdMR/X/KLCvzB8XSSq6PmuX2p0ws5rs0bY\nIb4p1I5eFdZCSucyb6Sxa1GDWL4/bcf72gMhy2oWGU4K8K2Eyl2Us1p292E=\n-----END
CERTIFICATE-----",
"-----BEGIN
CERTIFICATE-----\nMIIEQjCCA6ugAwIBAgIEQodApTANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC\nVVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u\nZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc\nKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u\nZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEw\nMDEwNTAwMDBaFw0xNDA3MjYxODE1MTVaMGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQK\nEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNV\nBAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0EwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGzOVz5vvUu+UtLTKm3+WBP8nNJUm2cSrD\n1ZQ0Z6IKHLBfaaZAscS3so/QmKSpQVk609yU1jzbdDikSsxNJYL3SqVTEjju80lt\ncZF+Y7arpl/DpIT4T2JRvvjF7Ns4kuMG5QiRDMQoQVX7y1qJFX5x6DW/TXIJPb46\nOFBbdzEbjbPHJEWap6xtABRaBLe6E+tRCphBQSJOZWGHgUFQpnlcid4ZSlfVLuZd\nHFMsfpjNGgYWpGhz0DQEE1yhcdNafFXbXmThN4cwVgTlEbQpgBLxeTmIogIRfCdm\nt4i3ePLKCqg4qwpkwr9mXZWEwaElHoddGlALIBLMQbtuC1E4uEvLAgMBAAGjggET\nMIIBDzASBgNVHRMBAf8ECDAGAQH/AgEBMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggr\nBgEFBQcDAgYIKwYBBQUHAwQwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdo\ndHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8v\nY3JsLmVudHJ1c3QubmV0L3NlcnZlcjEuY3JsMB0GA1UdDgQWBBSxPsNpA/i/RwHU\nmCYaCALvY2QrwzALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7\nUISX8+1i0BowGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEF\nBQADgYEASA4rbyBiTCiToyQ9WKshz4D4mpeQaiLtWnxHNpnneYR1qySPkgrVYQSu\nw2pcsszZ5ESHb9uPOGL3RDadurxuB8TUjegf0Qtgo7WczmO+7Wfc+Lrebskly1u1\nnXZwC99CcvhPQRFkpdLq/NWvEfQVOGecIKhLd1qRMkIy54Wz3zY=\n-----END
CERTIFICATE-----"
],
"dst_addr": "2001:67c:2e8:22::c100:68b",
"dst_name": "www.ripe.net",
"dst_port": "443",
"from": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"fw": 4540,
"method": "SSL",
"msm_id": 15001,
"prb_id": 9,
"rt": 25.738,
"src_addr": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"timestamp": 1374753699,
"ttc": 3.867,
"type": "sslcert",
"ver": "3.0"
}
7. Version 4610
Version 4610 is identified by a value between "4610" and "4749" for
the key fw in the result.
Changes between 4570 and 4610
- Additional key "resultset" in DNS
- for TCP traceroute, "flags" field in the result and "TCP" in "proto"
(actually from fw >= 4600)
Changes from 4650
- "Lts" in all measurements
Changes from 4710
- RDATA field in DNS measuremets is now a list of strings
- Escape sequence for DNS measurements is now \ddd (three decimal digits)
7.1. Ping / v6 Ping
View changes since previous version.
| A measurement result is a JSON object with the following fields: |
- "af" -- address family, 4 or 6 (integer)
- "avg" -- average round-trip time (float)
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "dup" -- number of duplicate packets (int)
- "from" -- IP address of the probe as known by the controller (string)
- "lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (int)
- "max" -- maximum round-trip time (float)
- "min" -- minimum round-trip time (float)
- "msm_id" -- measurement identifier (int)
- "name" -- name of the destination (deprecated) (string)
- "prb_id" -- source probe ID (int)
- "proto" -- "ICMP" (string)
- "rcvd" -- number of packets received (int)
- "result" -- variable content, depending on type of response (array of objects)
objects have the following fields:
- Case: Timeout
- Case: Error
- "error" -- description of error (string)
- Case: Reply
- "rtt" -- round-trip-time in milliseconds (float)
- "src_Addr" -- [optional] source address if different
from the source address in first reply (string)
- "ttl" -- [optional] time-to-live reply if different from ttl in first reply (int)
- "dup" -- [optional] signals that the reply is a
duplicate (int)
- "sent" -- number of packets sent (int)
- "size" -- packet size (data part, not including IP and ICMP
header) (int)
- "src_addr" -- source address used by probe (missing due to a
bug)(string)
- "timestamp" -- Unix timestamp (int)
- "ttl" -- time-to-live field in the first reply (missing due
to a bug)(int)
- "type" -- "ping" (string)
|
Example result:
{
"af":6,
"avg":2.640333333333333,
"dst_addr":"2001:7fd::1",
"dst_name":"2001:7fd::1",
"dup":0,
"from":"2001:67c:2e8:13:220:4aff:fec6:cc9d",
"fw":4570,
"lts":69,
"max":2.6539999999999999,
"min":2.625,
"msm_id":2001,
"prb_id":9,
"proto":"ICMP",
"rcvd":3,
"result": [
{"rtt":2.6539999999999999},
{"rtt":2.6419999999999999},
{"rtt":2.625}
],
"sent":3,
"size":12,
"step":240,
"timestamp":1386590507,
"type":"ping"
}
7.2. Traceroute / v6 Traceroute
View changes since previous version.
| A measurement result is a JSON object with the following fields: |
- "af" -- address family, 4 or 6 (integer)
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "endtime" -- Unix timestamp for end of measurement (int)
- "from" -- IP address of the probe as know by controller (string)
- "lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (from 4650) (int)
- "msm_id" -- measurement identifier (int)
- "paris_id" -- variation for the Paris mode of traceroute (int)
- "prb_id" -- source probe ID (int)
- "proto" -- "UDP", "ICMP", or "TCP" (string)
- "result" -- list of hop elements (array of objects)
objects have the following fields:
- "hop" -- hop number (int)
- "error" -- [optional] when an error occurs trying to send a packet. In that case there will not be a result structure. (string)
- "result" -- variable content, depending on type of response (array of objects)
objects have the following fields:
- Case: Timeout
- Case: Reply
- "err" -- (optional) error ICMP: "N" (network
unreachable,), "H" (destination unreachable), "A"
(administratively prohibited), "P" (protocol unreachable), "p"
(port unreachable) "h" (beyond scope, from fw 4650) (string)
Unrecognized error codes are represented as integers
- "from" -- IPv4 or IPv6 source address in reply (string)
- "ittl" -- (optional) time-to-live in packet that triggered the error ICMP. Omitted if equal to 1 (int)
- "edst" -- (optional) destination address in the packet that triggered the error ICMP if different from the target of the measurement (string)
- "late" -- (optional) number of packets a reply is
late, in this case rtt is not present (int)
- "mtu" -- (optional) path MTU from a packet too
big ICMP (int)
- "rtt" -- round-trip-time of reply, not present
when the response is late (float)
- "size" -- size of reply (int)
- "ttl" -- time-to-live in reply (int)
- "flags" -- (optional) TCP flags in the reply
packet, for TCP traceroute, concatenated, in the order
'F' (FIN), 'S' (SYN), 'R' (RST), 'P' (PSH), 'A' (ACK),
'U' (URG) (string)
- "dstoptsize" -- (optional) size of destination
options header (IPv6) (int)
- "hbhoptsize" -- (optional) size of hop-by-hop
options header (IPv6) (int)
- "icmpext" -- [optional] information when icmp header is found in reply (object with the following fields:)
- "version" -- RFC4884 version (int)
- "rfc4884" -- "1" if length indication is present, "0" otherwise (int)
- "obj" -- elements of the object (array of objects)
objects have the following fields:
- "class" -- RFC4884 class (int)
- "type" -- RFC4884 type (int)
- "mpls" -- [optional] MPLS data, RFC4950, shown when class is "1" and type is "1" (array of objects)
objects have the following fields:
- "exp" -- for experimental use (int)
- "label" -- mpls label (int)
- "s" -- bottom of stack (int)
- "ttl" -- time to live value (int)
- "size" -- packet size (int)
- "src_addr" -- source address used by probe (string)
- "timestamp" -- Unix timestamp for start of measurement (int)
- "type" -- "traceroute" (string)
|
Example result:
{
"af":6,
"dst_addr":"2001:7fd::1",
"dst_name":"2001:7fd::1",
"endtime":1386596919,
"from":"2001:67c:2e8:13:220:4aff:fec6:cc9d",
"fw":4570,
"msm_id":6001,
"paris_id":4,
"prb_id":9,
"proto":"UDP",
"result": [
{
"hop":1,
"result": [
{
"from":"2001:67c:2e8:13::2",
"rtt":4.7960000000000003,
"size":88,
"ttl":64
},
{
"from":"2001:67c:2e8:13::2",
"rtt":3.4380000000000002,
"size":88,
"ttl":64
},
{
"from":"2001:67c:2e8:13::2",
"rtt":3.149,
"size":88,
"ttl":64
}
]
},
{
"hop":2,
"result": [
{"x":"*"},
{
"from":"2001:7f8:1::a502:5152:1",
"rtt":3.1800000000000002,
"size":88,
"ttl":63
},
{
"from":"2001:7f8:1::a502:5152:1",
"rtt":3.3849999999999998,
"size":88,
"ttl":63
}
]
},
{
"hop":3,
"result": [
{
"from":"2001:7fd::1",
"rtt":3.359,
"size":88,
"ttl":62
},
{"x":"*"},
{"x":"*"}
]
}
],
"size":40,
"src_addr":"2001:67c:2e8:13:220:4aff:fec6:cc9d",
"timestamp":1386596906,
"type":"traceroute"
}
7.3. DNS Lookup
View changes since previous version.
| A measurement result is a JSON object with the following fields: |
- "af" -- [optional] IP version: "4" or "6" (int)
- "dst_addr" -- [optional] IP address of the destination (string)
- "dst_name" -- [optional] hostname of the destination (string)
- "error" -- [optional] error message (object with the following fields:)
- "timeout" -- query timeout (int)
- "getaddrinfo" -- error message (string)
- "from" -- [optional] IP address of the source (string)
- "lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (from 4650) (int)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "proto" -- "TCP" or "UDP" (string)
- "qbuf" -- [optional] query payload buffer which was sent to the server, UU encoded (string)
See example code for decoding the value
- "result" -- [optional] response from the DNS server (object with the following fields:)
- "ANCOUNT" -- answer count, RFC 1035 4.1.1 (int)
- "ARCOUNT" -- additional record count, RFC 1035, 4.1.1 (int)
- "ID" -- query ID, RFC 1035 4.1.1 (int)
- "NSCOUNT" -- name server count (int)
- "QDCOUNT" -- number of queries (int)
- "abuf" -- answer payload buffer from the server, UU encoded (string)
See example code for decoding the value
- "answers" -- first two records from the response decoded by the probe, if they are TXT or SOA; other RR can be decoded from "abuf" (array of objects)
objects have the following fields:
- "MNAME" -- domain name, RFC 1035, 3.1.13 (string)
- "NAME" -- domain name. (string)
- "RDATA" -- [type TXT] txt value (from 4710, list of strings, before it was a single string)
- "RNAME" -- [if type SOA] mailbox, RFC 1035 3.3.13 (string)
- "SERIAL" -- [type SOA] zone serial number, RFC 1035 3.3.13 (int)
- "TTL" -- [type SOA] time to live, RFC 1035 4.1.3 (int)
- "TYPE" -- RR "SOA" or "TXT" (string), RFC 1035
- "rt" -- [optional] response time in milli seconds (float)
- "size" -- [optional] response size (int)
- "src_addr" -- [optional] the source IP address added by the probe (string).
- "subid" -- [optional] sequence number of this result within a group of results, available if the resolution is done by the probe's local resolver
- "submax" -- [optional] total number of results within a group (int)
- resultset - [optional] an array of objects containing all the
fields of a DNS result object, except for the fields: fw, from, msm_id,
prb_id, and type. Available for
queries sent to each local resolver.
- "retry" -- [optional] retry count (int)
- "timestamp" -- start time, in Unix timestamp (int)
- "type" -- "dns" (string)
|
| Notes: |
- If a hostname was provided, both the hostname (dst_name)
and the IP address (dst_addr) will be in the response.
- If an IP address was provided, the name field will
not be filled, unless the address which was given differs from the
probe's resolution of the address. For instance, if
"2001:0DB8:0:0::1" was provided, and the probe resolves it to
"2001:0DB8::1", the first value will be returned as the name and
the second as the address.
- The dst_addr field will always be present, except when
there is an error.
|
Example result:
{
"af": 6,
"dst_addr": "2001:7fd::1",
"from": "2001:67c:2e8:13:220:4aff:fec6:cd06",
"fw": 4460,
"msm_id": 11001,
"prb_id": 114,
"proto": "UDP",
"result": {
"ANCOUNT": 1,
"ARCOUNT": 13,
"ID": 14016,
"NSCOUNT": 13,
"QDCOUNT": 1,
"abuf": "NsCEAAABAAEADQANAAAGAAEAAAYAAQABUYAAQAFhDHJvb3Qtc2VydmVycwNuZXQABW5zdGxkDHZlcmlzaWduLWdycwNjb20Ad+2e2AAABwgAAAOEAAk6gAABUYAAAAIAAQAH6QAAAsAcAAACAAEAB+kAAAQBYsAeAAACAAEAB+kAAAQBY8AeAAACAAEAB+kAAAQBZMAeAAACAAEAB+kAAAQBZcAeAAACAAEAB+kAAAQBZsAeAAACAAEAB+kAAAQBZ8AeAAACAAEAB+kAAAQBaMAeAAACAAEAB+kAAAQBacAeAAACAAEAB+kAAAQBasAeAAACAAEAB+kAAAQBa8AeAAACAAEAB+kAAAQBbMAeAAACAAEAB+kAAAQBbcAewBwAAQABAAfpAAAExikABMB0AAEAAQAH6QAABMDkT8nAgwABAAEAB+kAAATAIQQMwJIAAQABAAfpAAAEgAgKWsChAAEAAQAH6QAABMDL5grAsAABAAEAB+kAAATABQXxwL8AAQABAAfpAAAEwHAkBMDOAAEAAQAH6QAABIA/AjXA3QABAAEAB+kAAATAJJQRwOwAAQABAAfpAAAEwDqAHsD7AAEAAQAH6QAABMEADoHBCgABAAEAB+kAAATHB1MqwRkAAQABAAfpAAAEygwbIQ==",
"answers": [
{
"MNAME": "a.root-servers.net.",
"NAME": ".",
"RDLENGTH": 64,
"RNAME": "nstld.verisign-grs.com.",
"SERIAL": 2012061400,
"TTL": 86400,
"TYPE": "SOA"
}
],
"rt": 3.4279999999999999,
"size": 493
},
"timestamp": 1339664565,
"type": "dns"
}
Example with resultset:
{
"from": "193.0.10.135",
"fw": 4610,
"msm_id": 1004049,
"msm_name": "Tdig",
"prb_id": 9,
"resultset": [
{
"af": 4,
"dst_addr": "193.0.19.101",
"proto": "UDP",
"result": {
"ANCOUNT": 2,
"ARCOUNT": 1,
"ID": 31604,
"NSCOUNT": 0,
"QDCOUNT": 1,
"abuf": "e3SBoAABAAIAAAABA3d3dwRyaXBlA25ldAAAAQABwAwAAQABAAA9dwAEwQAGi8AMAC4AAQAAPXcAnAABBQMAAFRgUz7fqVMXRJlypgRyaXBlA25ldABjtIscm9iFKQJ7XqvACunZM/dSi/NGJ20WNaBXqxiP6/MgxyKs93dl5W6cqdUavqODdx9PK10iBt/aIpX/qo7UcY+hWPisOXRayrZl2HYsw4sK+4i5JoL7n2cjpsjuaC89IBKNR1Wl66clq7zrC+3YtGadruHkhwD7h8DJxI1kkQAAKRAAAACAAAAA",
"rt": 9.319,
"size": 225
},
"src_addr": "193.0.10.135",
"subid": 1,
"submax": 2,
"time": 1394064205
},
{
"af": 4,
"dst_addr": "193.0.19.102",
"proto": "UDP",
"result": {
"ANCOUNT": 2,
"ARCOUNT": 1,
"ID": 22376,
"NSCOUNT": 0,
"QDCOUNT": 1,
"abuf": "V2iBoAABAAIAAAABA3d3dwRyaXBlA25ldAAAAQABwAwAAQABAAA+2QAEwQAGi8AMAC4AAQAAPtkAnAABBQMAAFRgUz7fqVMXRJlypgRyaXBlA25ldABjtIscm9iFKQJ7XqvACunZM/dSi/NGJ20WNaBXqxiP6/MgxyKs93dl5W6cqdUavqODdx9PK10iBt/aIpX/qo7UcY+hWPisOXRayrZl2HYsw4sK+4i5JoL7n2cjpsjuaC89IBKNR1Wl66clq7zrC+3YtGadruHkhwD7h8DJxI1kkQAAKRAAAACAAAAA",
"rt": 10.111,
"size": 225
},
"src_addr": "193.0.10.135",
"subid": 2,
"submax": 2,
"time": 1394064206
}
],
"timestamp": 1394064205,
"type": "dns"
}
7.4. HTTP
View changes since previous version.
| A measurement result is a JSON object with the following fields: |
- "from" -- IP address of the probe as known by controller (string)
- "lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (from 4650) (int)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "result" -- results of query (array of objects)
objects have the following fields:
- "af" -- address family, 4 or 6 (integer)
- "bsize" -- size of body in octets (int)
- "dnserr" -- [optional] DNS resolution failed (string)
- "dst_addr" -- target address (string)
- "err" -- [optional] other failure (string)
- "header" -- [optional] elements are strings. The last string can be empty to indicate the end of enders or end with "[...]" to indicate truncation (array)
- "hsize" -- header size in octets (int)
- "method" -- "GET", "HEAD", or "POST" (string)
- "readtiming" -- [optional] timing results for reply
data (array of objects)
objects have the following fields:
- "t" -- time since starting to connect when data is
received (in milli seconds) (float)
- "o" -- offset in stream of reply data (string)
Due to a bug in the code this is currently a string. It will be changed to an integer in a future version.
- "res" -- HTTP result code (int)
- "rt" -- time to execute request excluding DNS (float)
- "src_addr" -- source address used by probe (string)
- "subid" -- [optional] sequence number of this result within a group of results, when the 'all' option is used without the 'combine' option (int)
- "submax" -- [optional] total number of results within a group (int)
- "time" -- [optional] Unix timestamp, when the 'all' option is used with the 'combine' option (int)
- "ttc" -- [optional] time to connect to the target (in milli
seconds) (float)
- "ttfb" -- [optional] time to first response byte
received by measurent code after starting to connect
(in milli seconds) (float)
- "ttr" -- [optional] time to resolve the DNS name
(in milli seconds) (float)
- "ver" -- major, minor version of http server (string)
- "timestamp" -- Unix timestamp (int)
- "type" -- "http" (string)
- "uri" -- request uri (string)
|
Example result:
{
"from": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"msm_id": 1013948,
"fw": 4540,
"timestamp": 1374759270,
"uri": "http://www.ripe.net/",
"prb_id": 9,
"result": [
{
"rt": 51.857999999999997,
"src_addr": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"hsize": 279,
"af": 6,
"bsize": 39851,
"res": 200,
"dst_addr": "2001:67c:2e8:22::c100:68b",
"readtiming": [
{
"t": 28.552,
"o": "0"
},
{
"t": 31.466000000000001,
"o": "4096"
},
{
"t": 33.752000000000002,
"o": "8192"
},
{
"t": 36.012,
"o": "12288"
},
{
"t": 38.866,
"o": "16384"
},
{
"t": 42.146000000000001,
"o": "20480"
},
{
"t": 44.302,
"o": "24576"
},
{
"t": 46.579999999999998,
"o": "28672"
},
{
"t": 48.886000000000003,
"o": "32768"
},
{
"t": 50.896999999999998,
"o": "36864"
}
],
"ttr": 3.2080000000000002,
"ttc": 3.1840000000000002,
"ver": "1.1",
"ttfb": 28.417999999999999,
"method": "GET"
}
],
"type": "http"
}
7.5. NTP
(first introduced in firmware 4660)
| A measurement result is a JSON object with the following fields: |
- "af" -- address family, 4 or 6 (integer)
- "dst_name" -- name of the destination (string)
- "dst_port" -- port name (string)
- "from" -- IP address of the probe as known by controller (string)
- "li" -- leap indicator, values "no", "61", "59", or "unknown" (string)
- "lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (int)
- "mode" -- "server" (string)
- "msm_id" -- measurement identifier (int)
- "poll" -- poll interval in seconds (float)
- "prb_id" -- source probe ID (int)
- "precision" -- precision of the server's clock in seconds (float)
- "proto" -- "UDP" (string)
- "ref-id" -- server's reference clock (string)
- "ref-ts" -- server's reference timestamp in NTP seconds (float)
- "result" -- results of query (array of objects)
objects have the following fields:
- "final-ts" -- NTP time the response from the server is received (float)
- "offset" -- clock offset between client and server in seconds (float)
- "origin-ts" -- NTP time the request was sent (float)
- "receive-ts" -- NTP time the server received the request (float)
- "rtt" -- round trip time between client and server in seconds (float)
- "transmit-ts" -- NTP time the server sent the response (float)
- "root-delay" -- round-trip delay from server to stratum 0 time source in seconds (float)
- "root-dispersion" -- total dispersion to stratum 0 time source in seconds (float)
- "src_addr" -- source address used by probe (string)
- "stratum" -- distance in hops from server to primary time source (int)
- "timestamp" -- Unix timestamp (int)
- "type" -- "ntp" (string)
- "version" -- NTP protocol version (int)
|
Example result:
{
"af":4,
"dst_addr":"193.0.0.229",
"dst_name":"193.0.0.229",
"from":"193.0.10.127",
"fw":4661,
"group_id":1020238,
"li":"no",
"lts":35,
"mode":"server",
"msm_id":1020238,
"msm_name":"Ntp",
"poll":1,
"prb_id":100,
"precision":0.0000019074,
"proto":"UDP",
"ref-id":"GPS",
"ref-ts":3627199554.7434468269,
"result":[
{
"final-ts":3627199583.5645947456,
"offset":-0.026271,
"origin-ts":3627199583.5634074211,
"receive-ts":3627199583.5902590752,
"rtt":0.001161,
"transmit-ts":3627199583.5902853012
},
{
"final-ts":3627199583.5661029816,
"offset":-0.026314,
"origin-ts":3627199583.5650439262,
"receive-ts":3627199583.59187603,
"rtt":0.001035,
"transmit-ts":3627199583.5918998718
},
{
"final-ts":3627199583.5675640106,
"offset":-0.026291,
"origin-ts":3627199583.5665426254,
"receive-ts":3627199583.5933327675,
"rtt":0.000998,
"transmit-ts":3627199583.5933551788
}],
"root-delay":0,
"root-dispersion":0.00137329,
"src_addr":"193.0.10.127",
"stratum":1,
"timestamp":1418210783,
"type":"ntp",
"version":4
}
7.6. SSL GET Cert
View changes since previous version.
| A measurement result is a JSON object with the following fields: |
- "af" -- address family, 4 or 6 (integer)
- "alert" -- [optional] error sent by server (see RFC 5246, Section 7.2) (from firmware 4720) (object with the following fields:)
- "level" -- AlertLevel (integer)
- "description" -- AlertDescription (integer)
- "cert" -- [optional] results of query, not present if "alert" is present (array of strings)
Each string contains a base 64 encoded certificate. Newlines are replaced with "\n"
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "dst_port" -- port name (string)
- "from" -- IP address of the probe as known by controller (string)
-
"lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (from 4650) (int)
- "method" -- "SSL" (string)
- "msm_id" -- measurement identifier (int)
- "prb_id" -- source probe ID (int)
- "rt" -- [optional] response time in milli seconds from
starting to connect to receving the certificates (float)
- "src_addr" -- source address used by probe (string)
- "ttc" -- [optional] time in milli seconds that it took to
connect (over TCP) to the target (float)
- "timestamp" -- Unix timestamp (int)
- "type" -- "sslcert" (string)
- "ver" -- (SSL) protocol version (string)
|
Example result:
{
"af": 6,
"cert": [
"-----BEGIN
CERTIFICATE-----\nMIIGqjCCBZKgAwIBAgIQBNu6PYaCJaYpd2g1kzNSJTANBgkqhkiG9w0BAQUFADBm\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSUwIwYDVQQDExxEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBDQS0zMB4XDTEzMDMxODAwMDAwMFoXDTE0MDYxMDEyMDAwMFowbjELMAkGA1UE\nBhMCTkwxFjAUBgNVBAgTDU5vb3JkLUhvbGxhbmQxEjAQBgNVBAcTCUFtc3RlcmRh\nbTERMA8GA1UEChMIUklQRSBOQ0MxCzAJBgNVBAsTAklUMRMwEQYDVQQDDAoqLnJp\ncGUubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6d0G7rz55lcy\n1gxB6p5eMwwz2Pra2vF7wf3+IclV5RhTAErZmq7yhDCWwRYbgl0g2mHoCxWUd2bO\nRn9bFZO+3c3b5IWzU9kjcEALOumdIvKa1Gw0EPIaJgJGPIYYO7YpNtpxyL4o+ENL\nNxplATdIjVTvGpb6oiM5Cf7umBReODnSDmUDpFLCwoHrPzOlQMStBW96oZoTXDW4\nWPkTgN+JoeV0Di03fwrNGMPY9ePzLEtiinfTXaEgvme4uajiOdB5cf9kIXms141q\nvFaAnC5EIXW7RSwD+wEAbEtMYS1hzfMsrI5WRnJATdwSt9mXe8NrmsnZLbPxl03D\n127U86FdZwIDAQABo4IDSjCCA0YwHwYDVR0jBBgwFoAUUOpzidsp+xCPnuUBINTe\neZlIg/cwHQYDVR0OBBYEFGhAxyPew9BsnnEbDKExdS7m9jlIMB8GA1UdEQQYMBaC\nCioucmlwZS5uZXSCCHJpcGUubmV0MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAU\nBggrBgEFBQcDAQYIKwYBBQUHAwIwYQYDVR0fBFowWDAqoCigJoYkaHR0cDovL2Ny\nbDMuZGlnaWNlcnQuY29tL2NhMy1nMjAuY3JsMCqgKKAmhiRodHRwOi8vY3JsNC5k\naWdpY2VydC5jb20vY2EzLWcyMC5jcmwwggHEBgNVHSAEggG7MIIBtzCCAbMGCWCG\nSAGG/WwBATCCAaQwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cuZGlnaWNlcnQuY29t\nL3NzbC1jcHMtcmVwb3NpdG9yeS5odG0wggFkBggrBgEFBQcCAjCCAVYeggFSAEEA\nbgB5ACAAdQBzAGUAIABvAGYAIAB0AGgAaQBzACAAQwBlAHIAdABpAGYAaQBjAGEA\ndABlACAAYwBvAG4AcwB0AGkAdAB1AHQAZQBzACAAYQBjAGMAZQBwAHQAYQBuAGMA\nZQAgAG8AZgAgAHQAaABlACAARABpAGcAaQBDAGUAcgB0ACAAQwBQAC8AQwBQAFMA\nIABhAG4AZAAgAHQAaABlACAAUgBlAGwAeQBpAG4AZwAgAFAAYQByAHQAeQAgAEEA\nZwByAGUAZQBtAGUAbgB0ACAAdwBoAGkAYwBoACAAbABpAG0AaQB0ACAAbABpAGEA\nYgBpAGwAaQB0AHkAIABhAG4AZAAgAGEAcgBlACAAaQBuAGMAbwByAHAAbwByAGEA\ndABlAGQAIABoAGUAcgBlAGkAbgAgAGIAeQAgAHIAZQBmAGUAcgBlAG4AYwBlAC4w\newYIKwYBBQUHAQEEbzBtMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy\ndC5jb20wRQYIKwYBBQUHMAKGOWh0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9E\naWdpQ2VydEhpZ2hBc3N1cmFuY2VDQS0zLmNydDAMBgNVHRMBAf8EAjAAMA0GCSqG\nSIb3DQEBBQUAA4IBAQB46sTrH1CPFA9nWSHH7zyysBuA0G62ey1ps5GNTP3TEmyp\n+XCrzp13IoVuxFCT39b/XfbztkpGpIwqeIhIxBEH/jdMeBw6QXonbCrK4bBVY1Lj\nwEiV4/Ev4Y1uho9FC9DRHOmTr5X4TDpAfiuF+P/h62WAL9XE12luZOAaef/Afxap\nZ2u+DZHbckDmDZLrMl9/b0XvYJYE7s11SQiR1Bz8kI1rvAodpOeTcn4pp3b70IAq\nk1XB+floX9aodmfFQm+hgO/QrpbBuqvsjYhnXGnAGhxAYnyqN2ruD0s+oWBTEWLP\nGPzXQ8m49Ipx20t4UKEXWsNHfMYfnyeodoTpA2mU\n-----END
CERTIFICATE-----",
"-----BEGIN
CERTIFICATE-----\nMIIGWDCCBUCgAwIBAgIQCl8RTQNbF5EX0u/UA4w/OzANBgkqhkiG9w0BAQUFADBs\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBFViBSb290IENBMB4XDTA4MDQwMjEyMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL\nMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\nLmRpZ2ljZXJ0LmNvbTElMCMGA1UEAxMcRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug\nQ0EtMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9hCikQH17+NDdR\nCPge+yLtYb4LDXBMUGMmdRW5QYiXtvCgFbsIYOBC6AUpEIc2iihlqO8xB3RtNpcv\nKEZmBMcqeSZ6mdWOw21PoF6tvD2Rwll7XjZswFPPAAgyPhBkWBATaccM7pxCUQD5\nBUTuJM56H+2MEb0SqPMV9Bx6MWkBG6fmXcCabH4JnudSREoQOiPkm7YDr6ictFuf\n1EutkozOtREqqjcYjbTCuNhcBoz4/yO9NV7UfD5+gw6RlgWYw7If48hl66l7XaAs\nzPw82W3tzPpLQ4zJ1LilYRyyQLYoEt+5+F/+07LJ7z20Hkt8HEyZNp496+ynaF4d\n32duXvsCAwEAAaOCAvowggL2MA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w\nggG5MIIBtQYLYIZIAYb9bAEDAAIwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3\nLmRpZ2ljZXJ0LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUH\nAgIwggFWHoIBUgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQBy\nAHQAaQBmAGkAYwBhAHQAZQAgAGMAbwBuAHMAdABpAHQAdQB0AGUAcwAgAGEAYwBj\nAGUAcAB0AGEAbgBjAGUAIABvAGYAIAB0AGgAZQAgAEQAaQBnAGkAQwBlAHIAdAAg\nAEMAUAAvAEMAUABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQ\nAGEAcgB0AHkAIABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBt\nAGkAdAAgAGwAaQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBj\nAG8AcgBwAG8AcgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBl\nAHIAZQBuAGMAZQAuMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYIKwYBBQUHAQEEKDAm\nMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSB\nhzCBhDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGln\naEFzc3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNl\ncnQuY29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSME\nGDAWgBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUB\nINTeeZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAB7ipUiebNtTOA/vphoqrOIDQ+2a\nvD6OdRvw/S4iWawTwGHi5/rpmc2HCXVUKL9GYNy+USyS8xuRfDEIcOI3ucFbqL2j\nCwD7GhX9A61YasXHJJlIR0YxHpLvtF9ONMeQvzHB+LGEhtCcAarfilYGzjrpDq6X\ndF3XcZpCdF/ejUN83ulV7WkAywXgemFhM9EZTfkI7qA5xSU1tyvED7Ld8aW3DiTE\nJiiNeXf1L/BXunwH1OH8zVowV36GEEfdMR/X/KLCvzB8XSSq6PmuX2p0ws5rs0bY\nIb4p1I5eFdZCSucyb6Sxa1GDWL4/bcf72gMhy2oWGU4K8K2Eyl2Us1p292E=\n-----END
CERTIFICATE-----",
"-----BEGIN
CERTIFICATE-----\nMIIEQjCCA6ugAwIBAgIEQodApTANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC\nVVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u\nZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc\nKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u\nZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEw\nMDEwNTAwMDBaFw0xNDA3MjYxODE1MTVaMGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQK\nEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNV\nBAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0EwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGzOVz5vvUu+UtLTKm3+WBP8nNJUm2cSrD\n1ZQ0Z6IKHLBfaaZAscS3so/QmKSpQVk609yU1jzbdDikSsxNJYL3SqVTEjju80lt\ncZF+Y7arpl/DpIT4T2JRvvjF7Ns4kuMG5QiRDMQoQVX7y1qJFX5x6DW/TXIJPb46\nOFBbdzEbjbPHJEWap6xtABRaBLe6E+tRCphBQSJOZWGHgUFQpnlcid4ZSlfVLuZd\nHFMsfpjNGgYWpGhz0DQEE1yhcdNafFXbXmThN4cwVgTlEbQpgBLxeTmIogIRfCdm\nt4i3ePLKCqg4qwpkwr9mXZWEwaElHoddGlALIBLMQbtuC1E4uEvLAgMBAAGjggET\nMIIBDzASBgNVHRMBAf8ECDAGAQH/AgEBMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggr\nBgEFBQcDAgYIKwYBBQUHAwQwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdo\ndHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8v\nY3JsLmVudHJ1c3QubmV0L3NlcnZlcjEuY3JsMB0GA1UdDgQWBBSxPsNpA/i/RwHU\nmCYaCALvY2QrwzALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7\nUISX8+1i0BowGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEF\nBQADgYEASA4rbyBiTCiToyQ9WKshz4D4mpeQaiLtWnxHNpnneYR1qySPkgrVYQSu\nw2pcsszZ5ESHb9uPOGL3RDadurxuB8TUjegf0Qtgo7WczmO+7Wfc+Lrebskly1u1\nnXZwC99CcvhPQRFkpdLq/NWvEfQVOGecIKhLd1qRMkIy54Wz3zY=\n-----END
CERTIFICATE-----"
],
"dst_addr": "2001:67c:2e8:22::c100:68b",
"dst_name": "www.ripe.net",
"dst_port": "443",
"from": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"fw": 4540,
"method": "SSL",
"msm_id": 15001,
"prb_id": 9,
"rt": 25.738,
"src_addr": "2001:67c:2e8:13:220:4aff:fec6:cc9d",
"timestamp": 1374753699,
"ttc": 3.867,
"type": "sslcert",
"ver": "3.0"
}
8. Version 4750
Version 4750 is identified by a value of "4750" or greater for
the key fw in the result.
Changes from 4755
- Measurements have 'bundle' if they are part of a wifi measurement group.
Changes from 4790
- The 'o' field in readtiming in http results is now an integer instead of a string
Changes from 4900
- A 'ttr' field to record how long name resolution took
- Sslgetcert reports in 'server_cipher' which cipher was selected by the server
Changes from 4940
- A 'itos' and 'tos' fields to record the type-of-service (IPv6 traffic class) field
8.1. Ping / v6 Ping
View changes since previous version.
| A measurement result is a JSON object with the following fields: |
- "af" -- address family, 4 or 6 (integer)
- "avg" -- average round-trip time (float)
- "bundle" -- [optional] instance ID for a collection of related measurement results (int)
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "dup" -- number of duplicate packets (int)
- "from" -- IP address of the probe as known by the controller (string)
- "group_id" -- [optional] If the measurement belongs to a group of measurements, the identifier of the group (int)
- "lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (int)
- "max" -- maximum round-trip time (float)
- "min" -- minimum round-trip time (float)
- "msm_id" -- measurement identifier (int)
- "msm_name" -- measurement type "Ping" (string)
- "prb_id" -- source probe ID (int)
- "proto" -- "ICMP" (string)
- "rcvd" -- number of packets received (int)
- "result" -- variable content, depending on type of response (array of objects)
objects have the following fields:
- Case: Timeout
- Case: Error
- "error" -- description of error (string)
- Case: Reply
- "rtt" -- round-trip-time in milliseconds (float)
- "src_Addr" -- [optional] source address if different
from the source address in first reply (string)
- "ttl" -- [optional] time-to-live reply if different from ttl in first reply (int)
- "dup" -- [optional] signals that the reply is a
duplicate (int)
- "sent" -- number of packets sent (int)
- "size" -- packet size (data part, not including IP and ICMP
header) (int)
- "src_addr" -- source address used by probe (string)
- "timestamp" -- Unix timestamp (int)
- "ttl" -- time-to-live field in the first reply (missing due
to a bug)(int)
- "ttr" -- time to resolve dst_name in milliseconds (from version 4900) (float)
- "type" -- "ping" (string)
|
Example result:
{
"af":6,
"avg":11.0863386667,
"dst_addr":"2001:7fd::1",
"dst_name":"2001:7fd::1",
"dup":0,
"from":"2001:67c:2e8:ffe2:220:4aff:fec6:cc9d",
"fw":4790,
"lts":36,
"max":11.128323,
"min":11.045379,
"msm_id":2001,
"msm_name":"Ping",
"prb_id":9,
"proto":"ICMP",
"rcvd":3,
"result":
[
{ "rtt":11.085314 },
{ "rtt":11.045379 },
{ "rtt":11.128323 }
],
"sent":3,
"size":20,
"src_addr":"2001:67c:2e8:ffe2:220:4aff:fec6:cc9d",
"timestamp":1503360160,
"ttl":59,
"type":"ping"
}
8.2. Traceroute / v6 Traceroute
View changes since previous version.
| A measurement result is a JSON object with the following fields: |
- "af" -- address family, 4 or 6 (integer)
- "bundle" -- [optional] instance ID for a collection of related measurement results (int)
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "endtime" -- Unix timestamp for end of measurement (int)
- "from" -- IP address of the probe as know by controller (string)
- "group_id" -- [optional] If the measurement belongs to a group of measurements, the identifier of the group (int)
- "lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (int)
- "msm_id" -- measurement identifier (int)
- "msm_name" -- measurement type "Traceroute" (string)
- "paris_id" -- variation for the Paris mode of traceroute (int)
- "prb_id" -- source probe ID (int)
- "proto" -- "UDP", "ICMP", or "TCP" (string)
- "result" -- list of hop elements (array of objects)
objects have the following fields:
- "hop" -- hop number (int)
- "error" -- [optional] when an error occurs trying to send a packet. In that case there will not be a result structure. (string)
- "result" -- variable content, depending on type of response (array of objects)
objects have the following fields:
- Case: Timeout
- Case: Reply
- "err" -- (optional) error ICMP: "N" (network
unreachable,), "H" (destination unreachable), "A"
(administratively prohibited), "P" (protocol unreachable), "p"
(port unreachable) "h" (string)
Unrecognized error codes are represented as integers
- "from" -- IPv4 or IPv6 source address in reply (string)
- "itos" -- (optional) type-of-service (IPv6 traffic class) in the packet that triggered the error ICMP. Omitted if zero and the TOS/Traffic Class field is not set in outgoing packets (int) (from version 4940)
- "ittl" -- (optional) time-to-live in the packet that triggered the error ICMP. Omitted if equal to 1 (int)
- "edst" -- (optional) destination address in the packet that triggered the error ICMP if different from the target of the measurement (string)
- "late" -- (optional) number of packets a reply is
late, in this case rtt is not present (int)
- "mtu" -- (optional) path MTU from a packet too
big ICMP (int)
- "rtt" -- round-trip-time of reply, not present
when the response is late (float)
- "size" -- size of reply (int)
- "ttl" -- time-to-live in reply (int)
- "flags" -- (optional) TCP flags in the reply
packet, for TCP traceroute, concatenated, in the order
'F' (FIN), 'S' (SYN), 'R' (RST), 'P' (PSH), 'A' (ACK),
'U' (URG) (string)
- "dstoptsize" -- (optional) size of destination
options header (IPv6) (int)
- "hbhoptsize" -- (optional) size of hop-by-hop
options header (IPv6) (int)
- "icmpext" -- [optional] information when icmp header is found in reply (object with the following fields:)
- "version" -- RFC4884 version (int)
- "rfc4884" -- "1" if length indication is present, "0" otherwise (int)
- "obj" -- elements of the object (array of objects).
objects have the following fields:
- "class" -- RFC4884 class (int)
- "type" -- RFC4884 type (int)
- "mpls" -- [optional] MPLS data, RFC4950, shown when class is "1" and type is "1" (array of objects)
objects have the following fields:
- "exp" -- for experimental use (int)
- "label" -- mpls label (int)
- "s" -- bottom of stack (int)
- "ttl" -- time to live value (int)
- "size" -- packet size (int)
- "src_addr" -- source address used by probe (string)
- "timestamp" -- Unix timestamp for start of measurement (int)
- "tos" -- (optional) type-of-service (IPv6 traffic class) in the reply packet. Omitted if zero and the TOS/Traffic Class field is not set in outgoing packets (int) (from version 4940)
- "ttr" -- time to resolve dst_name in milliseconds (from version 4900) (float)
- "type" -- "traceroute" (string)
|
Example result:
{
"af":6,
"dst_addr":"2001:7fd::1",
"dst_name":"2001:7fd::1",
"endtime":1503360225,
"from":"2001:67c:2e8:ffe2:220:4aff:fec6:cc9d",
"fw":4790,
"lts":45,
"msm_id":6001,
"msm_name":"Traceroute",
"paris_id":6,
"prb_id":9,
"proto":"UDP",
"result":
[ {
"hop":1,
"result":
[ {
"from":"2001:67c:2e8:ffe2::1",
"rtt":2.127,
"size":88,
"ttl":64
},
{
"from":"2001:67c:2e8:ffe2::1",
"rtt":1.821,
"size":88,
"ttl":64
},
{
"from":"2001:67c:2e8:ffe2::1",
"rtt":1.796,
"size":88,
"ttl":64
}
]
},
{
"hop":2,
"result":
[
{ "x":"*" },
{ "x":"*" },
{ "x":"*" }
]
},
{
"hop":3,
"result":
[ {
"from":"2001:67c:2e8:101::1:2",
"rtt":2.908,
"size":88,
"ttl":62
},
{
"from":"2001:67c:2e8:101::1:2",
"rtt":2.417,
"size":88,
"ttl":62
},
{
"from":"2001:67c:2e8:101::1:2",
"rtt":2.511,
"size":88,
"ttl":62
}
]
},
{
"hop":4,
"result":
[ {
"from":"2001:7f8:1::a500:1257:1",
"rtt":2.706,
"size":88,
"ttl":61
},
{
"from":"2001:7f8:1::a500:1257:1",
"rtt":2.623,
"size":88,
"ttl":61
},
{
"from":"2001:7f8:1::a500:1257:1",
"rtt":2.93,
"size":88,
"ttl":61
}
]
},
{
"hop":5,
"result":
[
{ "x":"*" },
{ "x":"*" },
{ "x":"*" }
]
},
{
"hop":6,
"result":
[ {
"from":"2a00:800:0:1::7a:2",
"rtt":10.2,
"size":88,
"ttl":59
},
{
"from":"2a00:800:0:1::7a:2",
"rtt":10.174,
"size":88,
"ttl":59
},
{
"from":"2a00:800:0:1::7a:2",
"rtt":10.161,
"size":88,
"ttl":59
}
]
},
{
"hop":7,
"result":
[ {
"from":"2001:7f8:4::6240:1",
"rtt":10.785,
"size":88,
"ttl":60
},
{
"from":"2001:7f8:4::6240:1",
"rtt":10.75,
"size":88,
"ttl":60
},
{
"from":"2001:7f8:4::6240:1",
"rtt":29.901,
"size":88,
"ttl":60
}
]
},
{
"hop":8,
"result":
[ {
"err":"A",
"from":"2001:7fd::1",
"rtt":10.605,
"size":88,
"ttl":59
},
{
"err":"A",
"from":"2001:7fd::1",
"rtt":11.056,
"size":88,
"ttl":59
},
{
"err":"A",
"from":"2001:7fd::1",
"rtt":10.999,
"size":88,
"ttl":59
}
]
}
],
"size":40,
"src_addr":"2001:67c:2e8:ffe2:220:4aff:fec6:cc9d",
"timestamp":1503360201,
"type":"traceroute"
}
8.3. DNS Lookup
View changes since previous version.
| A measurement result is a JSON object with the following fields: |
- "af" -- [optional] IP version: "4" or "6" (int)
- "bundle" -- [optional] instance ID for a collection of related measurement results (int)
- "dst_addr" -- [optional] IP address of the destination (string)
- "dst_name" -- [optional] hostname of the destination (string)
- "error" -- [optional] error message (object with the following fields:)
- "timeout" -- query timeout (int)
- "getaddrinfo" -- error message (string)
- "from" -- [optional] IP address of the source (string)
- "group_id" -- [optional] If the measurement belongs to a group of measurements, the identifier of the group (int)
- "lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (int)
- "msm_id" -- measurement identifier (int)
- "msm_name" -- measurement type "Tdig" (string)
- "prb_id" -- source probe ID (int)
- "proto" -- "TCP" or "UDP" (string)
- "qbuf" -- [optional] query payload buffer which was sent to the server, base64 encoded (string)
See example code for decoding the value
- "result" -- [optional] response from the DNS server (object with the following fields:)
- "ANCOUNT" -- answer count, RFC 1035 4.1.1 (int)
- "ARCOUNT" -- additional record count, RFC 1035, 4.1.1 (int)
- "ID" -- query ID, RFC 1035 4.1.1 (int)
- "NSCOUNT" -- name server count (int)
- "QDCOUNT" -- number of queries (int)
- "abuf" -- answer payload buffer from the server, base64 encoded (string)
See example code for decoding the value
- "answers" -- first two records from the response decoded by the probe, if they are TXT or SOA; other RR can be decoded from "abuf" (array of objects)
objects have the following fields:
- "MNAME" -- domain name, RFC 1035, 3.1.13 (string)
- "NAME" -- domain name. (string)
- "RDATA" -- [type TXT] txt value (list of strings)
- "RNAME" -- [if type SOA] mailbox, RFC 1035 3.3.13 (string)
- "SERIAL" -- [type SOA] zone serial number, RFC 1035 3.3.13 (int)
- "TTL" -- [type SOA] time to live, RFC 1035 4.1.3 (int)
- "TYPE" -- RR "SOA" or "TXT" (string), RFC 1035
- "rt" -- [optional] response time in milli seconds (float)
- "size" -- [optional] response size (int)
- resultset - [optional] an array of objects containing all the
fields of a DNS result object, except for the fields: fw, from, msm_id,
prb_id, and type. Available for
queries sent to each local resolver.
- "retry" -- [optional] retry count (int)
- "src_addr" -- [optional] the source IP address added by the probe (string).
- "subid" -- [optional] sequence number of this result within a group of results, available if the resolution is done by the probe's local resolver (int)
- "submax" -- [optional] total number of results within a group (int)
- "timestamp" -- start time, in Unix timestamp (int)
- "type" -- "dns" (string)
|
| Notes: |
- If a hostname was provided, both the hostname (dst_name)
and the IP address (dst_addr) will be in the response.
- If an IP address was provided, the name field will
not be filled, unless the address which was given differs from the
probe's resolution of the address. For instance, if
"2001:0DB8:0:0::1" was provided, and the probe resolves it to
"2001:0DB8::1", the first value will be returned as the name and
the second as the address.
- The dst_addr field will always be present, except when
there is an error.
|
Example result:
{
"af":6,
"dst_addr":"2001:7fd::1",
"from":"2001:67c:2e8:ffe2:220:4aff:fec6:cc9d",
"fw":4790,
"lts":38,
"msm_id":11001,
"msm_name":"Tdig",
"prb_id":9,
"proto":"UDP",
"result":
{
"ANCOUNT":1,
"ARCOUNT":8,
"ID":20790,
"NSCOUNT":13,
"QDCOUNT":1,
"abuf":"UTaEAAABAAEADQAIAAAGAAEAAAYAAQABUYAAQAFhDHJvb3Qtc2VydmVycwNuZXQABW5zdGxkDHZlcmlzaWduLWdycwNjb20AeDo7WQAABwgAAAOEAAk6gAABUYAAAAIAAQAH6QAAAsAcAAACAAEAB+kAAAQBYsAeAAACAAEAB+kAAAQBY8AeAAACAAEAB+kAAAQBZMAeAAACAAEAB+kAAAQBZcAeAAACAAEAB+kAAAQBZsAeAAACAAEAB+kAAAQBZ8AeAAACAAEAB+kAAAQBaMAeAAACAAEAB+kAAAQBacAeAAACAAEAB+kAAAQBasAeAAACAAEAB+kAAAQBa8AeAAACAAEAB+kAAAQBbMAeAAACAAEAB+kAAAQBbcAewBwAHAABAAfpAAAQIAEFA7o+AAAAAAAAAAIAMMB0ABwAAQAH6QAAECABBQACAAAAAAAAAAAAAAvAgwAcAAEAB+kAABAgAQUAAAIAAAAAAAAAAAAMwJIAHAABAAfpAAAQIAEFAAAtAAAAAAAAAAAADcChABwAAQAH6QAAECABBQAAqAAAAAAAAAAAAA7AsAAcAAEAB+kAABAgAQUAAC8AAAAAAAAAAAAPwL8AHAABAAfpAAAQIAEFAAASAAAAAAAAAAANDcDOABwAAQAH6QAAECABBQAAAQAAAAAAAAAAAFM=",
"answers":
[ {
"MNAME":"a.root-servers.net.",
"NAME":".",
"RNAME":"nstld.verisign-grs.com.",
"SERIAL":2017082201,
"TTL":86400,
"TYPE":"SOA"
}
],
"rt":6.715,
"size":509
},
"src_addr":"2001:67c:2e8:ffe2:220:4aff:fec6:cc9d",
"timestamp":1503447622,
"type":"dns"
}
Example with resultset:
{
"from":"193.0.0.78",
"fw":4790,
"group_id":1688543,
"lts":36,
"msm_id":1688543,
"msm_name":"Tdig",
"prb_id":9,
"resultset":
[ {
"af":4,
"dst_addr":"193.0.19.102",
"lts":36,
"proto":"UDP",
"result":
{
"ANCOUNT":1,
"ARCOUNT":0,
"ID":12040,
"NSCOUNT":0,
"QDCOUNT":1,
"abuf":"LwiBgAABAAEAAAAAA3d3dwRyaXBlA25ldAAAAQABwAwAAQABAAASCAAEwQAGiw==",
"rt":6.828,
"size":46
},
"src_addr":"10.2.0.10",
"subid":1,
"submax":2,
"time":1503447741
},
{
"af":4,
"dst_addr":"193.0.19.101",
"lts":37,
"proto":"UDP",
"result":
{
"ANCOUNT":1,
"ARCOUNT":0,
"ID":29001,
"NSCOUNT":0,
"QDCOUNT":1,
"abuf":"cUmBgAABAAEAAAAAA3d3dwRyaXBlA25ldAAAAQABwAwAAQABAAAobwAEwQAGiw==",
"rt":6.765,
"size":46
},
"src_addr":"10.2.0.10",
"subid":2,
"submax":2,
"time":1503447742
}
],
"timestamp":1503447741,
"type":"dns"
}
8.4. HTTP
View changes since previous version.
| A measurement result is a JSON object with the following fields: |
- "bundle" -- [optional] instance ID for a collection of related measurement results (int)
- "from" -- IP address of the probe as known by controller (string)
- "group_id" -- [optional] If the measurement belongs to a group of measurements, the identifier of the group (int)
- "lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (int)
- "msm_id" -- measurement identifier (int)
- "msm_name" -- measurement type "HTTPGet" (string)
- "prb_id" -- source probe ID (int)
- "result" -- results of query (array of objects)
objects have the following fields:
- "af" -- address family, 4 or 6 (integer)
- "bsize" -- size of body in octets (int)
- "dnserr" -- [optional] DNS resolution failed (string)
- "dst_addr" -- target address (string)
- "err" -- [optional] other failure (string)
- "header" -- [optional] elements are strings. The last string can be empty to indicate the end of enders or end with "[...]" to indicate truncation (array of strings)
- "hsize" -- header size in octets (int)
- "method" -- "GET", "HEAD", or "POST" (string)
- "readtiming" -- [optional] timing results for reply
data (array of objects)
objects have the following fields:
- "o" -- offset in stream of reply data (int, was string before 4790)
- "t" -- time since starting to connect when data is
received (in milli seconds) (float)
- "res" -- HTTP result code (int)
- "rt" -- time to execute request excluding DNS (float)
- "src_addr" -- source address used by probe (string)
- "subid" -- [optional] sequence number of this result within a group of results, when the 'all' option is used without the 'combine' option (int)
- "submax" -- [optional] total number of results within a group (int)
- "time" -- [optional] Unix timestamp, when the 'all' option is used with the 'combine' option (int)
- "ttc" -- [optional] time to connect to the target (in milli
seconds) (float)
- "ttfb" -- [optional] time to first response byte
received by measurent code after starting to connect
(in milli seconds) (float)
- "ttr" -- [optional] time to resolve the DNS name
(in milli seconds) (float)
- "ver" -- major, minor version of http server (string)
- "timestamp" -- Unix timestamp (int)
- "type" -- "http" (string)
- "uri" -- request uri (string)
|
Example result:
{
"from":"2001:67c:2e8:ffe2:220:4aff:fec6:cc9d",
"fw":4790,
"group_id":9250352,
"lts":112,
"msm_id":9250352,
"msm_name":"HTTPGet",
"prb_id":9,
"result":
[ {
"af":6,
"bsize":1134,
"dst_addr":"2001:67c:2e8:11::c100:136b",
"header":
[
"Server: nginx/1.10.2",
"Date: Wed,
23 Aug 2017 11:46:55 GMT",
"Content-Type: text/html",
"Transfer-Encoding: chunked",
"Connection: close",
""
],
"hsize":131,
"method":"GET",
"readtiming":
[ {
"o":0,
"t":32.455686
}
],
"res":200,
"rt":36.556807,
"src_addr":"2001:67c:2e8:ffe2:220:4aff:fec6:cc9d",
"ttc":26.076677,
"ttfb":32.31591,
"ttr":0.430849,
"ver":"1.1"
}
],
"timestamp":1503488816,
"type":"http",
"uri":"http://nl-ams-as3333.anchors.atlas.ripe.net:80/1024"
}
8.5. NTP
| A measurement result is a JSON object with the following fields: |
- "af" -- address family, 4 or 6 (integer)
- "bundle" -- [optional] instance ID for a collection of related measurement results (int)
- "dst_name" -- name of the destination (string)
- "dst_port" -- port name (string)
- "from" -- IP address of the probe as known by controller (string)
- "group_id" -- [optional] If the measurement belongs to a group of measurements, the identifier of the group (int)
- "li" -- leap indicator, values "no", "61", "59", or "unknown" (string)
- "lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (int)
- "mode" -- "server" (string)
- "msm_id" -- measurement identifier (int)
- "msm_name" -- measurement type "Ntp" (string)
- "poll" -- poll interval in seconds (float)
- "prb_id" -- source probe ID (int)
- "precision" -- precision of the server's clock in seconds (float)
- "proto" -- "UDP" (string)
- "ref-id" -- server's reference clock (string)
- "ref-ts" -- server's reference timestamp in NTP seconds (float)
- "result" -- results of query (array of objects)
objects have the following fields:
- "final-ts" -- NTP time the response from the server is received (float)
- "offset" -- clock offset between client and server in seconds (float)
- "origin-ts" -- NTP time the request was sent (float)
- "receive-ts" -- NTP time the server received the request (float)
- "rtt" -- round trip time between client and server in seconds (float)
- "transmit-ts" -- NTP time the server sent the response (float)
- "root-delay" -- round-trip delay from server to stratum 0 time source in seconds (float)
- "root-dispersion" -- total dispersion to stratum 0 time source in seconds (float)
- "src_addr" -- source address used by probe (string)
- "stratum" -- distance in hops from server to primary time source (int)
- "timestamp" -- Unix timestamp (int)
- "ttr" -- time to resolve dst_name in milliseconds (from version 4900) (float)
- "type" -- "ntp" (string)
- "version" -- NTP protocol version (int)
|
Example result:
{
"af":6,
"dst_addr":"2001:bc8:24c7:300::123",
"dst_name":"2.pool.ntp.org",
"from":"2001:67c:2e8:ffe2:220:4aff:fec6:cc9d",
"fw":4790,
"group_id":2048609,
"li":"no",
"lts":47,
"mode":"server",
"msm_id":2048609,
"msm_name":"Ntp",
"poll":8,
"prb_id":9,
"precision":1.192E-7,
"proto":"UDP",
"ref-id":"c14fed0e",
"ref-ts":3712434647.7366428375,
"result":
[ {
"final-ts":3712436069.4462752342,
"offset":-0.809977,
"origin-ts":3712436069.4429988861,
"receive-ts":3712436070.2545785904,
"rtt":0.003206,
"transmit-ts":3712436070.2546486855
},
{
"final-ts":3712436069.4519329071,
"offset":-0.809862,
"origin-ts":3712436069.4494876862,
"receive-ts":3712436070.2605471611,
"rtt":0.002394,
"transmit-ts":3712436070.2605981827
},
{
"final-ts":3712436069.4576249123,
"offset":-0.809849,
"origin-ts":3712436069.4552330971,
"receive-ts":3712436070.2662582397,
"rtt":0.002352,
"transmit-ts":3712436070.2662987709
}
],
"root-delay":0.00871277,
"root-dispersion":0.0375824,
"src_addr":"2001:67c:2e8:ffe2:220:4aff:fec6:cc9d",
"stratum":2,
"timestamp":1503447269,
"type":"ntp",
"version":4
}
8.6. SSL GET Cert
View changes since previous version.
| A measurement result is a JSON object with the following fields: |
- "af" -- address family, 4 or 6 (integer)
- "alert" -- [optional] error sent by server (see RFC 5246, Section 7.2), object with the following fields:
- "level" -- AlertLevel (integer)
- "description" -- AlertDescription (integer)
- "bundle" -- [optional] instance ID for a collection of related measurement results (int)
- "cert" -- [optional] results of query, not present if "alert" is present (array of strings)
Each element of the array is a string containing a base 64 encoded certificate. Newlines are replaced with "\n"
- "dst_addr" -- IP address of the destination (string)
- "dst_name" -- name of the destination (string)
- "dst_port" -- port name (string)
- "from" -- IP address of the probe as known by controller (string)
- "group_id" -- [optional] If the measurement belongs to a group of measurements, the identifier of the group (int)
-
"lts" -- last time synchronised. How long ago (in seconds)
the clock of the probe was found to be in sync with that of a
controller. The value -1 is used to indicate that the probe does not
know whether it is in sync (int)
- "method" -- "SSL" or "TLS" (string)
- "msm_id" -- measurement identifier (int)
- "msm_name" -- measurement type "SSLCert" (string)
- "prb_id" -- source probe ID (int)
- "rt" -- [optional] response time in milli seconds from
starting to connect to receving the certificates (float)
- "server_cipher" -- [optional] cipher selected by server as a hexadecimal number (from version 4900) (string)
- "src_addr" -- source address used by probe (string)
- "ttc" -- [optional] time in milli seconds that it took to
connect (over TCP) to the target (float)
- "timestamp" -- Unix timestamp (int)
- "ttr" -- time to resolve dst_name in milliseconds (from version 4900) (float)
- "type" -- "sslcert" (string)
- "ver" -- (SSL/TLS) protocol version (string)
|
Example result:
{
"af":6,
"cert":
[
"-----BEGIN CERTIFICATE-----\nMIIGMjCCBRqgAwIBAgIQD8TjNXAZtd7GHX4fwUPe9jANBgkqhkiG9w0BAQsFADBw\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMS8wLQYDVQQDEyZEaWdpQ2VydCBTSEEyIEhpZ2ggQXNz\ndXJhbmNlIFNlcnZlciBDQTAeFw0xNzA3MjUwMDAwMDBaFw0xODEwMTIxMjAwMDBa\nMEkxCzAJBgNVBAYTAk5MMRIwEAYDVQQHEwlBbXN0ZXJkYW0xETAPBgNVBAoTCFJJ\nUEUgTkNDMRMwEQYDVQQDDAoqLnJpcGUubmV0MIICIjANBgkqhkiG9w0BAQEFAAOC\nAg8AMIICCgKCAgEArtORS6Luc+bU1dBK2pR4axFhzhlG48QBgO149UzSpRiPQh3s\nSH+6GoQQafmYjRYlkmybN92sOed/wfaWq8/vvxFmZ/K5yyOhnDs46z079AXAqnY4\ne1dgALbIM4ITskoT0zo/+OZTCZsKfSn7az0S04DU/OWictRI4ilUPAONX02aksB7\nJddzAvK07V15YQ2HrtG48tJ/DbKWuTqWmkuPuSx3QBECyxWuHsdxwEaWlVgXZk3H\n3hbOswszBnNIywPqGQdQ4ApPi0gXnWaSudzP92Al1RElHxGnuYfcFHSTQXC54JT7\nkbjQjI9Vj0Qa4z/IYBNH57iUHqwOpEftYr5m4SOea400ghnHxL0J87LHBwpTMbqk\nNK3h9KM1jf4URBlveeMydStdeHz9KVUFOnRx0M2eYwi6HAchnRQkNcobMbhNuZhh\n+Qp+G+O8T0JY1ciEPf+UNS3EEDNl+NAe57sJl+CU3u0lYhRUAZQJpYP6ExpjW9Qa\nFUkPRqGx4VMaBWzB6cAVhENmt5d/ZSglmUK0SwW67hpyUN0GJd81Ed7vXwU2reLL\n7f+ix1pMbHlEmC338sv5j+9JZz7MvAW0E/axZwQY1YSqxQzEoyE8wCCHH6PKV/z2\n2v9JPc2PJBWjvGtPNUDYS4paDszCeHmyhIoquDDgrU1EUV8877fv8ZgZAGMCAwEA\nAaOCAe0wggHpMB8GA1UdIwQYMBaAFFFo/5CvAgd1PMzZZWRiohK4WXI7MB0GA1Ud\nDgQWBBRgjLhcTWaOUAtxhZZ1Hkl4x7SibzAfBgNVHREEGDAWggoqLnJpcGUubmV0\ngghyaXBlLm5ldDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG\nCCsGAQUFBwMCMHUGA1UdHwRuMGwwNKAyoDCGLmh0dHA6Ly9jcmwzLmRpZ2ljZXJ0\nLmNvbS9zaGEyLWhhLXNlcnZlci1nMS5jcmwwNKAyoDCGLmh0dHA6Ly9jcmw0LmRp\nZ2ljZXJ0LmNvbS9zaGEyLWhhLXNlcnZlci1nMS5jcmwwTAYDVR0gBEUwQzA3Bglg\nhkgBhv1sAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29t\nL0NQUzAIBgZngQwBAgIwgYMGCCsGAQUFBwEBBHcwdTAkBggrBgEFBQcwAYYYaHR0\ncDovL29jc3AuZGlnaWNlcnQuY29tME0GCCsGAQUFBzAChkFodHRwOi8vY2FjZXJ0\ncy5kaWdpY2VydC5jb20vRGlnaUNlcnRTSEEySGlnaEFzc3VyYW5jZVNlcnZlckNB\nLmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQBhGz3DS/C/7Yim\nwhSQobJvqt2Wrr5oVk5pM1i7vh+Lr/ecaEg3qRL/TlXqA7OIgCzuQnYNBBNaS/Px\nXWOrQJt2c0zEAdJlvBa/OZzntbaB3DlsI/HdN9k7J2yyiKpzlKoktxbWGZ+p62/G\n0F4VdOzQoI+2A9NbyvW5RzMx1c6BuIDJGJHDRvnSqry5+1E9cJtoAfTQexLwJu6x\nlNMuJO+u/Lrz4DTwKvAyX+j3W810L8QISvNiyUJuG5JgXW6vCkL+TOhKHEJqFwVJ\n4FNef/bewoBHy8AasJmIziRhs/jmgchlykX2R+Mktj7AkBr5Gj2Oy7xTg+LeTWjW\nstR8lihH\n-----END CERTIFICATE-----",
"-----BEGIN CERTIFICATE-----\nMIIEsTCCA5mgAwIBAgIQBOHnpNxc8vNtwCtCuF0VnzANBgkqhkiG9w0BAQsFADBs\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBFViBSb290IENBMB4XDTEzMTAyMjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowcDEL\nMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\nLmRpZ2ljZXJ0LmNvbTEvMC0GA1UEAxMmRGlnaUNlcnQgU0hBMiBIaWdoIEFzc3Vy\nYW5jZSBTZXJ2ZXIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2\n4C/CJAbIbQRf1+8KZAayfSImZRauQkCbztyfn3YHPsMwVYcZuU+UDlqUH1VWtMIC\nKq/QmO4LQNfE0DtyyBSe75CxEamu0si4QzrZCwvV1ZX1QK/IHe1NnF9Xt4ZQaJn1\nitrSxwUfqJfJ3KSxgoQtxq2lnMcZgqaFD15EWCo3j/018QsIJzJa9buLnqS9UdAn\n4t07QjOjBSjEuyjMmqwrIw14xnvmXnG3Sj4I+4G3FhahnSMSTeXXkgisdaScus0X\nsh5ENWV/UyU50RwKmmMbGZJ0aAo3wsJSSMs5WqK24V3B3aAguCGikyZvFEohQcft\nbZvySC/zA/WiaJJTL17jAgMBAAGjggFJMIIBRTASBgNVHRMBAf8ECDAGAQH/AgEA\nMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw\nNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy\ndC5jb20wSwYDVR0fBEQwQjBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQuY29t\nL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDA9BgNVHSAENjA0MDIG\nBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQ\nUzAdBgNVHQ4EFgQUUWj/kK8CB3U8zNllZGKiErhZcjswHwYDVR0jBBgwFoAUsT7D\naQP4v0cB1JgmGggC72NkK8MwDQYJKoZIhvcNAQELBQADggEBABiKlYkD5m3fXPwd\naOpKj4PWUS+Na0QWnqxj9dJubISZi6qBcYRb7TROsLd5kinMLYBq8I4g4Xmk/gNH\nE+r1hspZcX30BJZr01lYPf7TMSVcGDiEo+afgv2MW5gxTs14nhr9hctJqvIni5ly\n/D6q1UEL2tU2ob8cbkdJf17ZSHwD2f2LSaCYJkJA69aSEaRkCldUxPUd1gJea6zu\nxICaEnL6VpPX/78whQYwvwt/Tv9XBZ0k7YXDK/umdaisLRbvfXknsuvCnQsH6qqF\n0wGjIChBWUMo0oHjqvbsezt3tkBigAVBRQHvFwY+3sAzm2fTYS5yh+Rp/BIAV0Ae\ncPUeybQ=\n-----END CERTIFICATE-----"
],
"dst_addr":"2001:67c:2e8:22::c100:68b",
"dst_name":"www.ripe.net",
"dst_port":"443",
"from":"2001:67c:2e8:ffe2:220:4aff:fec6:cc9d",
"fw":4790,
"lts":58,
"method":"TLS",
"msm_id":15001,
"msm_name":"SSLCert",
"prb_id":9,
"rt":22.177541,
"src_addr":"2001:67c:2e8:ffe2:220:4aff:fec6:cc9d",
"timestamp":1503448834,
"ttc":4.284673,
"type":"sslcert",
"ver":"1.2"
}
8.7. Wifi measurement
(first introduced in firmware 4755)
| A measurement result is a JSON object with the following fields: |
- "bssid_list" -- array of objects with the following fields:
- "auth" -- authentication options (string)
- "bssid" -- MAC address of base station (string)
- "freq" -- channel frequency in MHz (string)
- "ssid" -- SSID (string)
- "strength" -- signal strength (dB)
- "bundle" -- [optional] instance ID for a collection of related measurement results (int)
- "error" -- reason for failure (string)
- "fw" -- probe's firmware version (string)
- "from" -- IP address of the probe as known by controller (string)
- "group_id" -- [optional] If the measurement belongs to a group of measurements, the identifier of the group (int)
- "msm_id" -- measurement identifier (int)
- "msm_name" -- "Wifi" (string)
- "prb_id" -- probe identifier (int)
- "timestamp" -- Unix timestamp (int)
- "type" -- "wifi" (string)
- "wpa_supplicant" -- object with the following fields:
- "EAP TLS cipher" -- (string)
- "EAP state" -- (string)
- "EAP-TTLSv0 Phase2 method" -- (string)
- "EAP-PEAPv0 Phase2 method" -- (string)
- "Supplicant PAE state" -- (string)
- "address" -- local MAC address (string)
- "bssid" -- MAC address of base station (string)
- "connect-time" -- time in seconds spend trying to connect (integer)
- "group_cipher" -- multicast cipher (string)
- "id" -- (string)
- "key_mgmt" -- key management protocol (string)
- "mode" -- (string)
- "pairwise_cipher" -- point-to-point cipher (string)
- "selectedMethod" -- (string)
- "ssid" -- SSID (string)
- "suppPortStatus" -- (string)
- "wpa_state" -- final state (string)
|
Example result:
{
"bssid_list":
[ {
"auth":"[WPA2-EAP-CCMP][ESS]",
"bssid":"c4:13:e2:09:3e:d4",
"freq":"2412",
"ssid":"eduroam",
"strength":-64
}
],
"bundle":1503318167,
"from":"2001:67c:2e8:110:fad1:11ff:fea9:dd68",
"fw":4792,
"group_id":1030445,
"msm_id":1030445,
"msm_name":"WiFi",
"prb_id":82,
"stored_timestamp":1503318180,
"timestamp":1503318167,
"type":"wifi",
"wpa_supplicant":
{
"EAP TLS cipher":"AES-128-SHA",
"EAP state":"SUCCESS",
"EAP-TTLSv0 Phase2 method":"EAP-MD5",
"Supplicant PAE state":"AUTHENTICATED",
"address":"fa:d1:11:a9:dd:68",
"bssid":"c4:13:e2:09:3e:d4",
"connect-time":"2",
"group_cipher":"CCMP",
"id":"0",
"key_mgmt":"WPA2/IEEE 802.1X/EAP",
"mode":"station",
"pairwise_cipher":"CCMP",
"selectedMethod":"21 (EAP-TTLS)",
"ssid":"eduroam",
"suppPortStatus":"Authorized",
"wpa_state":"COMPLETED"
}
}