Skip to content

Version 4750

Version 4750 is identified by a value between "4750" and "4999" for the key fw in the result.

Changes between 4610 and 4749

  • "Lts" in all measurements
  • RDATA field in DNS measuremets is now a list of strings
  • Escape sequence for DNS measurements is now \ddd (three decimal digits)

Version 4750 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
      • "x" -- "*" (string)
    • 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:

json
{
  "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"
}

Version 4750 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)
  • "destination_ip_responded" -- whether the last hop matches the destination address (boolean)
  • "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
        • "x" -- "*" (string)
      • 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:

json
{
  "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"
}

Version 4750 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:

json
{
  "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:

json
{
  "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"
}

Version 4750 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:

json
{
  "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"
}

Version 4750 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:

json
{
  "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
}

Version 4750 TLS (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:

json
{
  "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"
}

Version 4750 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:

json
{
  "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"
  }
}