mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2026-04-07 17:57:03 +02:00
* test: split out test fixtures for long ipv6 traceroute for consistency * refactor(jc/parsers/traceroute): remove duplicate ParseError class * refactor(jc/parsers/traceroute): pre-process data in _loads() for easy-to-reuse * refactor(jc/parsers/traceroute): split hop serialization into separate function to reuse * refactor(jc/parsers/traceroute): simplify numeric conversion and make it reusable for traceroute_s * fix(jc/parsers/traceroute): stricter regex to match traceroute headers only * feat(jc/parsers/traceroute_s): v1.0 implementation * fix(jc/parsers/traceroute): revert "_" prefix in function and class names * fixup! fix(jc/parsers/traceroute): revert "_" prefix in function and class names * chore(jc/parsers/traceroute): update the author information
172 lines
3.1 KiB
JSON
172 lines
3.1 KiB
JSON
[
|
|
{
|
|
"type": "header",
|
|
"destination_ip": "64.13.192.208",
|
|
"destination_name": "example.com",
|
|
"max_hops": 64,
|
|
"data_bytes": 40
|
|
},
|
|
{
|
|
"type": "hop",
|
|
"hop": 1,
|
|
"probes": [
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "72.10.62.1",
|
|
"name": "72.10.62.1",
|
|
"rtt": 1.0
|
|
},
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "72.10.62.1",
|
|
"name": "72.10.62.1",
|
|
"rtt": 0.739
|
|
},
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "72.10.62.1",
|
|
"name": "72.10.62.1",
|
|
"rtt": 0.702
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "hop",
|
|
"hop": 2,
|
|
"probes": [
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "10.101.248.1",
|
|
"name": "10.101.248.1",
|
|
"rtt": 0.683
|
|
},
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "10.101.248.1",
|
|
"name": "10.101.248.1",
|
|
"rtt": 0.385
|
|
},
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "10.101.248.1",
|
|
"name": "10.101.248.1",
|
|
"rtt": 0.315
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "hop",
|
|
"hop": 3,
|
|
"probes": [
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "10.104.65.161",
|
|
"name": "10.104.65.161",
|
|
"rtt": 0.791
|
|
},
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "10.104.65.161",
|
|
"name": "10.104.65.161",
|
|
"rtt": 0.703
|
|
},
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "10.104.65.161",
|
|
"name": "10.104.65.161",
|
|
"rtt": 0.686
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "hop",
|
|
"hop": 4,
|
|
"probes": [
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "10.104.0.1",
|
|
"name": "10.104.0.1",
|
|
"rtt": 1.43
|
|
},
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "10.104.0.1",
|
|
"name": "10.104.0.1",
|
|
"rtt": 1.31
|
|
},
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "10.104.0.1",
|
|
"name": "10.104.0.1",
|
|
"rtt": 1.063
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "hop",
|
|
"hop": 5,
|
|
"probes": [
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "10.0.10.33",
|
|
"name": "10.0.10.33",
|
|
"rtt": 2.652
|
|
},
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "10.0.10.33",
|
|
"name": "10.0.10.33",
|
|
"rtt": 2.26
|
|
},
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "10.0.10.33",
|
|
"name": "10.0.10.33",
|
|
"rtt": 5.353
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "hop",
|
|
"hop": 6,
|
|
"probes": [
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "64.13.192.208",
|
|
"name": "www.example.com",
|
|
"rtt": 3.384
|
|
},
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "64.13.192.208",
|
|
"name": "www.example.com",
|
|
"rtt": 8.001
|
|
},
|
|
{
|
|
"annotation": null,
|
|
"asn": null,
|
|
"ip": "64.13.192.208",
|
|
"name": "www.example.com",
|
|
"rtt": 2.439
|
|
}
|
|
]
|
|
}
|
|
]
|