mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-06-17 00:07:37 +02:00
160 lines
3.5 KiB
Markdown
160 lines
3.5 KiB
Markdown
[Home](https://kellyjonbrazil.github.io/jc/)
|
|
<a id="jc.parsers.tracepath"></a>
|
|
|
|
# jc.parsers.tracepath
|
|
|
|
jc - JSON Convert `tracepath` command output parser
|
|
|
|
Supports `tracepath` and `tracepath6` output.
|
|
|
|
Usage (cli):
|
|
|
|
$ tracepath 1.2.3.4 | jc --tracepath
|
|
|
|
or
|
|
|
|
$ jc tracepath 1.2.3.4
|
|
|
|
Usage (module):
|
|
|
|
import jc
|
|
result = jc.parse('tracepath', tracepath_command_output)
|
|
|
|
Schema:
|
|
|
|
{
|
|
"pmtu": integer,
|
|
"forward_hops": integer,
|
|
"return_hops": integer,
|
|
"hops": [
|
|
{
|
|
"ttl": integer,
|
|
"guess": boolean,
|
|
"host": string,
|
|
"reply_ms": float,
|
|
"pmtu": integer,
|
|
"asymmetric_difference": integer,
|
|
"reached": boolean
|
|
}
|
|
]
|
|
}
|
|
|
|
Examples:
|
|
|
|
$ tracepath6 3ffe:2400:0:109::2 | jc --tracepath -p
|
|
{
|
|
"pmtu": 1480,
|
|
"forward_hops": 2,
|
|
"return_hops": 2,
|
|
"hops": [
|
|
{
|
|
"ttl": 1,
|
|
"guess": true,
|
|
"host": "[LOCALHOST]",
|
|
"reply_ms": null,
|
|
"pmtu": 1500,
|
|
"asymmetric_difference": null,
|
|
"reached": false
|
|
},
|
|
{
|
|
"ttl": 1,
|
|
"guess": false,
|
|
"host": "dust.inr.ac.ru",
|
|
"reply_ms": 0.411,
|
|
"pmtu": null,
|
|
"asymmetric_difference": null,
|
|
"reached": false
|
|
},
|
|
{
|
|
"ttl": 2,
|
|
"guess": false,
|
|
"host": "dust.inr.ac.ru",
|
|
"reply_ms": 0.39,
|
|
"pmtu": 1480,
|
|
"asymmetric_difference": 1,
|
|
"reached": false
|
|
},
|
|
{
|
|
"ttl": 2,
|
|
"guess": false,
|
|
"host": "3ffe:2400:0:109::2",
|
|
"reply_ms": 463.514,
|
|
"pmtu": null,
|
|
"asymmetric_difference": null,
|
|
"reached": true
|
|
}
|
|
]
|
|
}
|
|
|
|
$ tracepath6 3ffe:2400:0:109::2 | jc --tracepath -p -r
|
|
{
|
|
"pmtu": "1480",
|
|
"forward_hops": "2",
|
|
"return_hops": "2",
|
|
"hops": [
|
|
{
|
|
"ttl": "1",
|
|
"guess": true,
|
|
"host": "[LOCALHOST]",
|
|
"reply_ms": null,
|
|
"pmtu": "1500",
|
|
"asymmetric_difference": null,
|
|
"reached": false
|
|
},
|
|
{
|
|
"ttl": "1",
|
|
"guess": false,
|
|
"host": "dust.inr.ac.ru",
|
|
"reply_ms": "0.411",
|
|
"pmtu": null,
|
|
"asymmetric_difference": null,
|
|
"reached": false
|
|
},
|
|
{
|
|
"ttl": "2",
|
|
"guess": false,
|
|
"host": "dust.inr.ac.ru",
|
|
"reply_ms": "0.390",
|
|
"pmtu": "1480",
|
|
"asymmetric_difference": "1",
|
|
"reached": false
|
|
},
|
|
{
|
|
"ttl": "2",
|
|
"guess": false,
|
|
"host": "3ffe:2400:0:109::2",
|
|
"reply_ms": "463.514",
|
|
"pmtu": null,
|
|
"asymmetric_difference": null,
|
|
"reached": true
|
|
}
|
|
]
|
|
}
|
|
|
|
<a id="jc.parsers.tracepath.parse"></a>
|
|
|
|
### parse
|
|
|
|
```python
|
|
def parse(data, raw=False, quiet=False)
|
|
```
|
|
|
|
Main text parsing function
|
|
|
|
Parameters:
|
|
|
|
data: (string) text data to parse
|
|
raw: (boolean) unprocessed output if True
|
|
quiet: (boolean) suppress warning messages if True
|
|
|
|
Returns:
|
|
|
|
Dictionary. Raw or processed structured data.
|
|
|
|
### Parser Information
|
|
Compatibility: linux
|
|
|
|
Source: [`jc/parsers/tracepath.py`](https://github.com/kellyjonbrazil/jc/blob/master/jc/parsers/tracepath.py)
|
|
|
|
Version 1.4 by Kelly Brazil (kellyjonbrazil@gmail.com)
|