mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2026-04-03 17:44:07 +02:00
Compare commits
144 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
339238ab36 | ||
|
|
032cda8b3d | ||
|
|
6badd3fb1e | ||
|
|
724d825745 | ||
|
|
ff1e32ad2e | ||
|
|
a5f97febd3 | ||
|
|
5baa6cc865 | ||
|
|
7a4f30b843 | ||
|
|
b2c385dc4f | ||
|
|
5d5da8d33f | ||
|
|
e604571578 | ||
|
|
f9dacc3f95 | ||
|
|
6086920332 | ||
|
|
f52f3163bc | ||
|
|
d18ff73e88 | ||
|
|
1e5d602cae | ||
|
|
12912521ec | ||
|
|
842ea3a94b | ||
|
|
a8560dbc15 | ||
|
|
a65e27540a | ||
|
|
c3c5ed11e6 | ||
|
|
ce24149335 | ||
|
|
0314ca8c48 | ||
|
|
ebd8ee49a9 | ||
|
|
38d10c9781 | ||
|
|
360106c24d | ||
|
|
ca470a5d02 | ||
|
|
57f66e6b1d | ||
|
|
e774f67924 | ||
|
|
ac10e576c1 | ||
|
|
bcae0a99cd | ||
|
|
c73c2ff879 | ||
|
|
c39b1a3356 | ||
|
|
125dc2d9e0 | ||
|
|
b7d4ddc7ce | ||
|
|
f5e546c6fa | ||
|
|
928e39cd10 | ||
|
|
d0b7ea68a0 | ||
|
|
8444690133 | ||
|
|
c03c42d767 | ||
|
|
ab67688a00 | ||
|
|
5dcb7166da | ||
|
|
14697b86d7 | ||
|
|
4f4b6276d4 | ||
|
|
7bc497e129 | ||
|
|
68a37a6a5a | ||
|
|
6f5cd1d7c5 | ||
|
|
126b1b121c | ||
|
|
2341e456a0 | ||
|
|
72d80e95bb | ||
|
|
f5ec82440c | ||
|
|
c8e526ead3 | ||
|
|
066adfb764 | ||
|
|
5b444d4717 | ||
|
|
69c95adc8d | ||
|
|
2b0e0d8f5c | ||
|
|
778d1bacbf | ||
|
|
7e1b041016 | ||
|
|
313b9b329c | ||
|
|
6830062256 | ||
|
|
323072c982 | ||
|
|
8719d96bdd | ||
|
|
dd5d318ab5 | ||
|
|
d6dc7f5e65 | ||
|
|
c203664eb5 | ||
|
|
19ecf1fa19 | ||
|
|
b8deb0426c | ||
|
|
3b8371f020 | ||
|
|
20bb1cdf39 | ||
|
|
301daa48d0 | ||
|
|
8421ec8803 | ||
|
|
74211eb012 | ||
|
|
60bd42f298 | ||
|
|
14bdd74526 | ||
|
|
fb0f3eda04 | ||
|
|
91ee6e6701 | ||
|
|
51f4e6927c | ||
|
|
94988d8667 | ||
|
|
fe36f5a98c | ||
|
|
f9eb18b927 | ||
|
|
cc60f36748 | ||
|
|
604ade791f | ||
|
|
690ac52a91 | ||
|
|
34ed772775 | ||
|
|
d5ab95571f | ||
|
|
ffb3a0ee5f | ||
|
|
94b12b57aa | ||
|
|
6d149e8457 | ||
|
|
1ad89c90d8 | ||
|
|
fb71c7b020 | ||
|
|
28ed17ad3b | ||
|
|
0c2a4e2bf7 | ||
|
|
62bec30de2 | ||
|
|
3fced77e4e | ||
|
|
a09d1d8b76 | ||
|
|
8f4243fbd8 | ||
|
|
47aaf20549 | ||
|
|
0c5289ea50 | ||
|
|
3e53323514 | ||
|
|
a5ee9861b9 | ||
|
|
feb8ca7654 | ||
|
|
a7abe4473b | ||
|
|
780b9b61de | ||
|
|
19ace36ffa | ||
|
|
5fff8afc9f | ||
|
|
4ad230c927 | ||
|
|
dd98eb1ec8 | ||
|
|
c6baf42e72 | ||
|
|
e2bac97d56 | ||
|
|
d112ee94d0 | ||
|
|
27b21b2faf | ||
|
|
8c96d5cd20 | ||
|
|
c29ed3fd69 | ||
|
|
cedf603f12 | ||
|
|
279161c36f | ||
|
|
ce0b43d919 | ||
|
|
ddafa5bf06 | ||
|
|
bc7116c31b | ||
|
|
53b7092721 | ||
|
|
beb9174b1b | ||
|
|
aea41ed341 | ||
|
|
d789494cb1 | ||
|
|
608e7b4cff | ||
|
|
4ee199c02a | ||
|
|
fbf47d4085 | ||
|
|
5a238e4b42 | ||
|
|
f852b8246a | ||
|
|
88140d929a | ||
|
|
45f7268240 | ||
|
|
3a3c8e4d4a | ||
|
|
c1ac183a04 | ||
|
|
18bb779ee5 | ||
|
|
8b6612fe79 | ||
|
|
fde0bc8534 | ||
|
|
e661a78939 | ||
|
|
847e346602 | ||
|
|
b969751688 | ||
|
|
ad6f2ba03a | ||
|
|
63c6a5edc0 | ||
|
|
9f4cf9dd5e | ||
|
|
51331b6dc0 | ||
|
|
efb6761033 | ||
|
|
6a4f737a0f | ||
|
|
be6864b778 |
@@ -1,5 +1,26 @@
|
||||
jc changelog
|
||||
|
||||
20200727 v1.13.1
|
||||
- Add route -6 tests
|
||||
|
||||
20200727 v1.13.0
|
||||
- Add ping and ping6 command parser tested on linux, macos, and freebsd
|
||||
- Add traceroute and traceroute6 command parser tested on linux, macos, and freebsd
|
||||
- Add tracepath command parser tested on linux
|
||||
- Update ini parser to support files only containing key/value pairs
|
||||
- Update uname parser exception with a hint to use "uname -a"
|
||||
- Update route parser to support IPv6 tables
|
||||
|
||||
20200711 v1.12.1
|
||||
- Fix tests when using older version of pygments library
|
||||
|
||||
20200710 v1.12.0
|
||||
- Add sysctl command parser tested on linux, macOS, and freebsd
|
||||
- Update the cli code to allow older versions of the pygments library (2.3.0) for debian packaging
|
||||
- Code cleanup on the cli
|
||||
- Add tests for the cli
|
||||
- Vendorize cgitb as tracebackplus for verbose debug messages
|
||||
|
||||
20200625 v1.11.8
|
||||
- Add verbose debug option using -dd argument
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ pydocmd simple jc.parsers.mount+ > ../docs/parsers/mount.md
|
||||
pydocmd simple jc.parsers.netstat+ > ../docs/parsers/netstat.md
|
||||
pydocmd simple jc.parsers.ntpq+ > ../docs/parsers/ntpq.md
|
||||
pydocmd simple jc.parsers.passwd+ > ../docs/parsers/passwd.md
|
||||
pydocmd simple jc.parsers.ping+ > ../docs/parsers/ping.md
|
||||
pydocmd simple jc.parsers.pip_list+ > ../docs/parsers/pip_list.md
|
||||
pydocmd simple jc.parsers.pip_show+ > ../docs/parsers/pip_show.md
|
||||
pydocmd simple jc.parsers.ps+ > ../docs/parsers/ps.md
|
||||
@@ -44,11 +45,14 @@ pydocmd simple jc.parsers.route+ > ../docs/parsers/route.md
|
||||
pydocmd simple jc.parsers.shadow+ > ../docs/parsers/shadow.md
|
||||
pydocmd simple jc.parsers.ss+ > ../docs/parsers/ss.md
|
||||
pydocmd simple jc.parsers.stat+ > ../docs/parsers/stat.md
|
||||
pydocmd simple jc.parsers.sysctl+ > ../docs/parsers/sysctl.md
|
||||
pydocmd simple jc.parsers.systemctl+ > ../docs/parsers/systemctl.md
|
||||
pydocmd simple jc.parsers.systemctl_lj+ > ../docs/parsers/systemctl_lj.md
|
||||
pydocmd simple jc.parsers.systemctl_ls+ > ../docs/parsers/systemctl_ls.md
|
||||
pydocmd simple jc.parsers.systemctl_luf+ > ../docs/parsers/systemctl_luf.md
|
||||
pydocmd simple jc.parsers.timedatectl+ > ../docs/parsers/timedatectl.md
|
||||
pydocmd simple jc.parsers.tracepath+ > ../docs/parsers/tracepath.md
|
||||
pydocmd simple jc.parsers.traceroute+ > ../docs/parsers/traceroute.md
|
||||
pydocmd simple jc.parsers.uname+ > ../docs/parsers/uname.md
|
||||
pydocmd simple jc.parsers.uptime+ > ../docs/parsers/uptime.md
|
||||
pydocmd simple jc.parsers.w+ > ../docs/parsers/w.md
|
||||
|
||||
@@ -3,7 +3,9 @@ jc - JSON CLI output utility INI Parser
|
||||
|
||||
Usage:
|
||||
|
||||
specify --ini as the first argument if the piped input is coming from an INI file
|
||||
Specify --ini as the first argument if the piped input is coming from an INI file or any
|
||||
simple key/value pair file. Delimiter can be '=' or ':'. Missing values are supported.
|
||||
Comment prefix can be '#' or ';'. Comments must be on their own line.
|
||||
|
||||
Compatibility:
|
||||
|
||||
@@ -61,11 +63,14 @@ Parameters:
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary representing an ini document:
|
||||
Dictionary representing an ini or simple key/value pair document:
|
||||
|
||||
{
|
||||
ini document converted to a dictionary
|
||||
see configparser standard library documentation for more details
|
||||
ini or key/value document converted to a dictionary - see configparser standard
|
||||
library documentation for more details.
|
||||
|
||||
Note: Values starting and ending with quotation marks will have the marks removed.
|
||||
If you would like to keep the quotation marks, use the -r or raw=True argument.
|
||||
}
|
||||
|
||||
## parse
|
||||
|
||||
171
docs/parsers/ping.md
Normal file
171
docs/parsers/ping.md
Normal file
@@ -0,0 +1,171 @@
|
||||
# jc.parsers.ping
|
||||
jc - JSON CLI output utility ping Parser
|
||||
|
||||
Usage:
|
||||
|
||||
specify --ping as the first argument if the piped input is coming from ping
|
||||
|
||||
Note: Use the ping -c (count) option, otherwise data will not be piped to jc.
|
||||
|
||||
Compatibility:
|
||||
|
||||
'linux', 'darwin', 'freebsd'
|
||||
|
||||
Examples:
|
||||
|
||||
$ ping -c 3 -p ff cnn.com | jc --ping -p
|
||||
{
|
||||
"destination_ip": "151.101.1.67",
|
||||
"data_bytes": 56,
|
||||
"pattern": "0xff",
|
||||
"destination": "cnn.com",
|
||||
"packets_transmitted": 3,
|
||||
"packets_received": 3,
|
||||
"packet_loss_percent": 0.0,
|
||||
"duplicates": 0,
|
||||
"round_trip_ms_min": 28.015,
|
||||
"round_trip_ms_avg": 32.848,
|
||||
"round_trip_ms_max": 39.376,
|
||||
"round_trip_ms_stddev": 4.79,
|
||||
"responses": [
|
||||
{
|
||||
"type": "reply",
|
||||
"bytes": 64,
|
||||
"response_ip": "151.101.1.67",
|
||||
"icmp_seq": 0,
|
||||
"ttl": 59,
|
||||
"time_ms": 28.015,
|
||||
"duplicate": false
|
||||
},
|
||||
{
|
||||
"type": "reply",
|
||||
"bytes": 64,
|
||||
"response_ip": "151.101.1.67",
|
||||
"icmp_seq": 1,
|
||||
"ttl": 59,
|
||||
"time_ms": 39.376,
|
||||
"duplicate": false
|
||||
},
|
||||
{
|
||||
"type": "reply",
|
||||
"bytes": 64,
|
||||
"response_ip": "151.101.1.67",
|
||||
"icmp_seq": 2,
|
||||
"ttl": 59,
|
||||
"time_ms": 31.153,
|
||||
"duplicate": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
$ ping -c 3 -p ff cnn.com | jc --ping -p -r
|
||||
{
|
||||
"destination_ip": "151.101.129.67",
|
||||
"data_bytes": "56",
|
||||
"pattern": "0xff",
|
||||
"destination": "cnn.com",
|
||||
"packets_transmitted": "3",
|
||||
"packets_received": "3",
|
||||
"packet_loss_percent": "0.0",
|
||||
"duplicates": "0",
|
||||
"round_trip_ms_min": "25.078",
|
||||
"round_trip_ms_avg": "29.543",
|
||||
"round_trip_ms_max": "32.553",
|
||||
"round_trip_ms_stddev": "3.221",
|
||||
"responses": [
|
||||
{
|
||||
"type": "reply",
|
||||
"bytes": "64",
|
||||
"response_ip": "151.101.129.67",
|
||||
"icmp_seq": "0",
|
||||
"ttl": "59",
|
||||
"time_ms": "25.078",
|
||||
"duplicate": false
|
||||
},
|
||||
{
|
||||
"type": "reply",
|
||||
"bytes": "64",
|
||||
"response_ip": "151.101.129.67",
|
||||
"icmp_seq": "1",
|
||||
"ttl": "59",
|
||||
"time_ms": "30.999",
|
||||
"duplicate": false
|
||||
},
|
||||
{
|
||||
"type": "reply",
|
||||
"bytes": "64",
|
||||
"response_ip": "151.101.129.67",
|
||||
"icmp_seq": "2",
|
||||
"ttl": "59",
|
||||
"time_ms": "32.553",
|
||||
"duplicate": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
## info
|
||||
```python
|
||||
info(self, /, *args, **kwargs)
|
||||
```
|
||||
|
||||
## process
|
||||
```python
|
||||
process(proc_data)
|
||||
```
|
||||
|
||||
Final processing to conform to the schema.
|
||||
|
||||
Parameters:
|
||||
|
||||
proc_data: (dictionary) raw structured data to process
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Structured data with the following schema:
|
||||
|
||||
{
|
||||
"source_ip": string,
|
||||
"destination_ip": string,
|
||||
"data_bytes": integer,
|
||||
"pattern": string, (null if not set)
|
||||
"destination": string,
|
||||
"packets_transmitted": integer,
|
||||
"packets_received": integer,
|
||||
"packet_loss_percent": float,
|
||||
"duplicates": integer,
|
||||
"round_trip_ms_min": float,
|
||||
"round_trip_ms_avg": float,
|
||||
"round_trip_ms_max": float,
|
||||
"round_trip_ms_stddev": float,
|
||||
"responses": [
|
||||
{
|
||||
"type": string, ('reply' or 'timeout')
|
||||
"timestamp": float,
|
||||
"bytes": integer,
|
||||
"response_ip": string,
|
||||
"icmp_seq": integer,
|
||||
"ttl": integer,
|
||||
"time_ms": float,
|
||||
"duplicate": boolean
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
## parse
|
||||
```python
|
||||
parse(data, raw=False, quiet=False)
|
||||
```
|
||||
|
||||
Main text parsing function
|
||||
|
||||
Parameters:
|
||||
|
||||
data: (string) text data to parse
|
||||
raw: (boolean) output preprocessed JSON if True
|
||||
quiet: (boolean) suppress warning messages if True
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Raw or processed structured data.
|
||||
|
||||
84
docs/parsers/sysctl.md
Normal file
84
docs/parsers/sysctl.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# jc.parsers.sysctl
|
||||
jc - JSON CLI output utility sysctl -a Parser
|
||||
|
||||
Usage:
|
||||
|
||||
specify --sysctl as the first argument if the piped input is coming from sysctl -a
|
||||
|
||||
Note: since sysctl output is not easily parsable only a very simple key/value object
|
||||
will be output. An attempt is made to convert obvious integers and floats. If no
|
||||
conversion is desired, use the -r (raw) option.
|
||||
|
||||
Compatibility:
|
||||
|
||||
'linux', 'darwin', 'freebsd'
|
||||
|
||||
Examples:
|
||||
|
||||
$ sysctl | jc --sysctl -p
|
||||
{
|
||||
"user.cs_path": "/usr/bin:/bin:/usr/sbin:/sbin",
|
||||
"user.bc_base_max": 99,
|
||||
"user.bc_dim_max": 2048,
|
||||
"user.bc_scale_max": 99,
|
||||
"user.bc_string_max": 1000,
|
||||
"user.coll_weights_max": 2,
|
||||
"user.expr_nest_max": 32
|
||||
...
|
||||
}
|
||||
|
||||
$ sysctl | jc --sysctl -p -r
|
||||
{
|
||||
"user.cs_path": "/usr/bin:/bin:/usr/sbin:/sbin",
|
||||
"user.bc_base_max": "99",
|
||||
"user.bc_dim_max": "2048",
|
||||
"user.bc_scale_max": "99",
|
||||
"user.bc_string_max": "1000",
|
||||
"user.coll_weights_max": "2",
|
||||
"user.expr_nest_max": "32",
|
||||
...
|
||||
}
|
||||
|
||||
## info
|
||||
```python
|
||||
info(self, /, *args, **kwargs)
|
||||
```
|
||||
|
||||
## process
|
||||
```python
|
||||
process(proc_data)
|
||||
```
|
||||
|
||||
Final processing to conform to the schema.
|
||||
|
||||
Parameters:
|
||||
|
||||
proc_data: (dictionary) raw structured data to process
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Structured data with the following schema:
|
||||
|
||||
{
|
||||
"foo": string/integer/float, # best guess based on value
|
||||
"bar": string/integer/float,
|
||||
"baz": string/integer/float
|
||||
}
|
||||
|
||||
## parse
|
||||
```python
|
||||
parse(data, raw=False, quiet=False)
|
||||
```
|
||||
|
||||
Main text parsing function
|
||||
|
||||
Parameters:
|
||||
|
||||
data: (string) text data to parse
|
||||
raw: (boolean) output preprocessed JSON if True
|
||||
quiet: (boolean) suppress warning messages if True
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Raw or processed structured data.
|
||||
|
||||
158
docs/parsers/tracepath.md
Normal file
158
docs/parsers/tracepath.md
Normal file
@@ -0,0 +1,158 @@
|
||||
# jc.parsers.tracepath
|
||||
jc - JSON CLI output utility tracepath Parser
|
||||
|
||||
Usage:
|
||||
|
||||
specify --tracepath as the first argument if the piped input is coming from tracepath
|
||||
|
||||
Compatibility:
|
||||
|
||||
'linux'
|
||||
|
||||
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
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
## info
|
||||
```python
|
||||
info(self, /, *args, **kwargs)
|
||||
```
|
||||
|
||||
## process
|
||||
```python
|
||||
process(proc_data)
|
||||
```
|
||||
|
||||
Final processing to conform to the schema.
|
||||
|
||||
Parameters:
|
||||
|
||||
proc_data: (dictionary) raw structured data to process
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Structured data with the following 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
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
## parse
|
||||
```python
|
||||
parse(data, raw=False, quiet=False)
|
||||
```
|
||||
|
||||
Main text parsing function
|
||||
|
||||
Parameters:
|
||||
|
||||
data: (string) text data to parse
|
||||
raw: (boolean) output preprocessed JSON if True
|
||||
quiet: (boolean) suppress warning messages if True
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Raw or processed structured data.
|
||||
|
||||
147
docs/parsers/traceroute.md
Normal file
147
docs/parsers/traceroute.md
Normal file
@@ -0,0 +1,147 @@
|
||||
# jc.parsers.traceroute
|
||||
jc - JSON CLI output utility traceroute Parser
|
||||
|
||||
Usage:
|
||||
|
||||
specify --traceroute as the first argument if the piped input is coming from traceroute
|
||||
|
||||
Note: on OSX and FreeBSD be sure to redirect STDERR to STDOUT since the header line is sent to STDERR
|
||||
e.g. $ traceroute 8.8.8.8 2>&1 | jc --traceroute
|
||||
|
||||
Compatibility:
|
||||
|
||||
'linux', 'darwin', 'freebsd'
|
||||
|
||||
Examples:
|
||||
|
||||
$ traceroute google.com | jc --traceroute -p
|
||||
{
|
||||
"destination_ip": "216.58.194.46",
|
||||
"destination_name": "google.com",
|
||||
"hops": [
|
||||
{
|
||||
"hop": 1,
|
||||
"probes": [
|
||||
{
|
||||
"annotation": null,
|
||||
"asn": null,
|
||||
"ip": "216.230.231.141",
|
||||
"name": "216-230-231-141.static.houston.tx.oplink.net",
|
||||
"rtt": 198.574
|
||||
},
|
||||
{
|
||||
"annotation": null,
|
||||
"asn": null,
|
||||
"ip": "216.230.231.141",
|
||||
"name": "216-230-231-141.static.houston.tx.oplink.net",
|
||||
"rtt": null
|
||||
},
|
||||
{
|
||||
"annotation": null,
|
||||
"asn": null,
|
||||
"ip": "216.230.231.141",
|
||||
"name": "216-230-231-141.static.houston.tx.oplink.net",
|
||||
"rtt": 198.65
|
||||
}
|
||||
]
|
||||
},
|
||||
...
|
||||
]
|
||||
}
|
||||
|
||||
$ traceroute google.com | jc --traceroute -p -r
|
||||
{
|
||||
"destination_ip": "216.58.194.46",
|
||||
"destination_name": "google.com",
|
||||
"hops": [
|
||||
{
|
||||
"hop": "1",
|
||||
"probes": [
|
||||
{
|
||||
"annotation": null,
|
||||
"asn": null,
|
||||
"ip": "216.230.231.141",
|
||||
"name": "216-230-231-141.static.houston.tx.oplink.net",
|
||||
"rtt": "198.574"
|
||||
},
|
||||
{
|
||||
"annotation": null,
|
||||
"asn": null,
|
||||
"ip": "216.230.231.141",
|
||||
"name": "216-230-231-141.static.houston.tx.oplink.net",
|
||||
"rtt": null
|
||||
},
|
||||
{
|
||||
"annotation": null,
|
||||
"asn": null,
|
||||
"ip": "216.230.231.141",
|
||||
"name": "216-230-231-141.static.houston.tx.oplink.net",
|
||||
"rtt": "198.650"
|
||||
}
|
||||
]
|
||||
},
|
||||
...
|
||||
]
|
||||
}
|
||||
|
||||
## info
|
||||
```python
|
||||
info(self, /, *args, **kwargs)
|
||||
```
|
||||
|
||||
## Hop
|
||||
```python
|
||||
Hop(self, idx)
|
||||
```
|
||||
|
||||
## process
|
||||
```python
|
||||
process(proc_data)
|
||||
```
|
||||
|
||||
Final processing to conform to the schema.
|
||||
|
||||
Parameters:
|
||||
|
||||
proc_data: (dictionary) raw structured data to process
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Structured data with the following schema:
|
||||
|
||||
{
|
||||
"destination_ip": string,
|
||||
"destination_name": string,
|
||||
"hops": [
|
||||
{
|
||||
"hop": integer,
|
||||
"probes": [
|
||||
{
|
||||
"annotation": string,
|
||||
"asn": integer,
|
||||
"ip": string,
|
||||
"name": string,
|
||||
"rtt": float
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
## parse
|
||||
```python
|
||||
parse(data, raw=False, quiet=False)
|
||||
```
|
||||
|
||||
Main text parsing function
|
||||
|
||||
Parameters:
|
||||
|
||||
data: (string) text data to parse
|
||||
raw: (boolean) output preprocessed JSON if True
|
||||
quiet: (boolean) suppress warning messages if True
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Raw or processed structured data.
|
||||
|
||||
178
jc/cli.py
178
jc/cli.py
@@ -11,18 +11,18 @@ import importlib
|
||||
import textwrap
|
||||
import signal
|
||||
import json
|
||||
import pygments
|
||||
from pygments import highlight
|
||||
from pygments.style import Style
|
||||
from pygments.token import (Name, Number, String, Keyword)
|
||||
from pygments.lexers import JsonLexer
|
||||
from pygments.formatters import Terminal256Formatter
|
||||
import jc.utils
|
||||
import jc.appdirs as appdirs
|
||||
|
||||
|
||||
class info():
|
||||
version = '1.11.8'
|
||||
description = 'jc cli output JSON conversion tool'
|
||||
version = '1.13.1'
|
||||
description = 'JSON CLI output utility'
|
||||
author = 'Kelly Brazil'
|
||||
author_email = 'kellyjonbrazil@gmail.com'
|
||||
|
||||
@@ -63,6 +63,7 @@ parsers = [
|
||||
'netstat',
|
||||
'ntpq',
|
||||
'passwd',
|
||||
'ping',
|
||||
'pip-list',
|
||||
'pip-show',
|
||||
'ps',
|
||||
@@ -70,11 +71,14 @@ parsers = [
|
||||
'shadow',
|
||||
'ss',
|
||||
'stat',
|
||||
'sysctl',
|
||||
'systemctl',
|
||||
'systemctl-lj',
|
||||
'systemctl-ls',
|
||||
'systemctl-luf',
|
||||
'timedatectl',
|
||||
'tracepath',
|
||||
'traceroute',
|
||||
'uname',
|
||||
'uptime',
|
||||
'w',
|
||||
@@ -86,8 +90,8 @@ parsers = [
|
||||
# List of custom or override parsers.
|
||||
# Allow any <user_data_dir>/jc/jcparsers/*.py
|
||||
local_parsers = []
|
||||
data_dir = appdirs.user_data_dir("jc", "jc")
|
||||
local_parsers_dir = os.path.join(data_dir, "jcparsers")
|
||||
data_dir = appdirs.user_data_dir('jc', 'jc')
|
||||
local_parsers_dir = os.path.join(data_dir, 'jcparsers')
|
||||
if os.path.isdir(local_parsers_dir):
|
||||
sys.path.append(data_dir)
|
||||
for name in os.listdir(local_parsers_dir):
|
||||
@@ -98,8 +102,52 @@ if os.path.isdir(local_parsers_dir):
|
||||
parsers.append(plugin_name)
|
||||
|
||||
|
||||
def set_env_colors():
|
||||
# We only support 2.3.0+, pygments changed color names in 2.4.0.
|
||||
# startswith is sufficient and avoids potential exceptions from split and int.
|
||||
if pygments.__version__.startswith('2.3.'):
|
||||
PYGMENT_COLOR = {
|
||||
'black': '#ansiblack',
|
||||
'red': '#ansidarkred',
|
||||
'green': '#ansidarkgreen',
|
||||
'yellow': '#ansibrown',
|
||||
'blue': '#ansidarkblue',
|
||||
'magenta': '#ansipurple',
|
||||
'cyan': '#ansiteal',
|
||||
'gray': '#ansilightgray',
|
||||
'brightblack': '#ansidarkgray',
|
||||
'brightred': '#ansired',
|
||||
'brightgreen': '#ansigreen',
|
||||
'brightyellow': '#ansiyellow',
|
||||
'brightblue': '#ansiblue',
|
||||
'brightmagenta': '#ansifuchsia',
|
||||
'brightcyan': '#ansiturquoise',
|
||||
'white': '#ansiwhite',
|
||||
}
|
||||
else:
|
||||
PYGMENT_COLOR = {
|
||||
'black': 'ansiblack',
|
||||
'red': 'ansired',
|
||||
'green': 'ansigreen',
|
||||
'yellow': 'ansiyellow',
|
||||
'blue': 'ansiblue',
|
||||
'magenta': 'ansimagenta',
|
||||
'cyan': 'ansicyan',
|
||||
'gray': 'ansigray',
|
||||
'brightblack': 'ansibrightblack',
|
||||
'brightred': 'ansibrightred',
|
||||
'brightgreen': 'ansibrightgreen',
|
||||
'brightyellow': 'ansibrightyellow',
|
||||
'brightblue': 'ansibrightblue',
|
||||
'brightmagenta': 'ansibrightmagenta',
|
||||
'brightcyan': 'ansibrightcyan',
|
||||
'white': 'ansiwhite',
|
||||
}
|
||||
|
||||
|
||||
def set_env_colors(env_colors=None):
|
||||
"""
|
||||
Return a dictionary to be used in Pygments custom style class.
|
||||
|
||||
Grab custom colors from JC_COLORS environment variable. JC_COLORS env variable takes 4 comma
|
||||
separated string values and should be in the format of:
|
||||
|
||||
@@ -115,40 +163,36 @@ def set_env_colors():
|
||||
JC_COLORS=default,default,default,default
|
||||
|
||||
"""
|
||||
env_colors = os.getenv('JC_COLORS')
|
||||
input_error = False
|
||||
|
||||
if env_colors:
|
||||
color_list = env_colors.split(',')
|
||||
else:
|
||||
color_list = ['default', 'default', 'default', 'default']
|
||||
|
||||
if len(color_list) != 4:
|
||||
input_error = True
|
||||
|
||||
if env_colors and len(color_list) != 4:
|
||||
print('jc: Warning: could not parse JC_COLORS environment variable\n', file=sys.stderr)
|
||||
input_error = True
|
||||
|
||||
if env_colors:
|
||||
for color in color_list:
|
||||
if color not in ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'gray', 'brightblack', 'brightred',
|
||||
'brightgreen', 'brightyellow', 'brightblue', 'brightmagenta', 'brightcyan', 'white', 'default']:
|
||||
print('jc: Warning: could not parse JC_COLORS environment variable\n', file=sys.stderr)
|
||||
input_error = True
|
||||
for color in color_list:
|
||||
if color != 'default' and color not in PYGMENT_COLOR:
|
||||
input_error = True
|
||||
|
||||
# if there is an issue with the env variable, just set all colors to default and move on
|
||||
if input_error:
|
||||
print('jc: Warning: could not parse JC_COLORS environment variable\n', file=sys.stderr)
|
||||
color_list = ['default', 'default', 'default', 'default']
|
||||
|
||||
# Try the color set in the JC_COLORS env variable first. If it is set to default, then fall back to default colors
|
||||
return {
|
||||
Name.Tag: f'bold ansi{color_list[0]}' if not color_list[0] == 'default' else 'bold ansiblue', # key names
|
||||
Keyword: f'ansi{color_list[1]}' if not color_list[1] == 'default' else 'ansibrightblack', # true, false, null
|
||||
Number: f'ansi{color_list[2]}' if not color_list[2] == 'default' else 'ansimagenta', # numbers
|
||||
String: f'ansi{color_list[3]}' if not color_list[3] == 'default' else 'ansigreen' # strings
|
||||
Name.Tag: f'bold {PYGMENT_COLOR[color_list[0]]}' if not color_list[0] == 'default' else f"bold {PYGMENT_COLOR['blue']}", # key names
|
||||
Keyword: PYGMENT_COLOR[color_list[1]] if not color_list[1] == 'default' else PYGMENT_COLOR['brightblack'], # true, false, null
|
||||
Number: PYGMENT_COLOR[color_list[2]] if not color_list[2] == 'default' else PYGMENT_COLOR['magenta'], # numbers
|
||||
String: PYGMENT_COLOR[color_list[3]] if not color_list[3] == 'default' else PYGMENT_COLOR['green'] # strings
|
||||
}
|
||||
|
||||
|
||||
def piped_output():
|
||||
"""returns False if stdout is a TTY. True if output is being piped to another program"""
|
||||
"""Return False if stdout is a TTY. True if output is being piped to another program"""
|
||||
if sys.stdout.isatty():
|
||||
return False
|
||||
else:
|
||||
@@ -156,34 +200,34 @@ def piped_output():
|
||||
|
||||
|
||||
def ctrlc(signum, frame):
|
||||
"""exit with error on SIGINT"""
|
||||
"""Exit with error on SIGINT"""
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def parser_shortname(parser_argument):
|
||||
"""short name of the parser with dashes and no -- prefix"""
|
||||
"""Return short name of the parser with dashes and no -- prefix"""
|
||||
return parser_argument[2:]
|
||||
|
||||
|
||||
def parser_argument(parser):
|
||||
"""short name of the parser with dashes and with -- prefix"""
|
||||
"""Return short name of the parser with dashes and with -- prefix"""
|
||||
return f'--{parser}'
|
||||
|
||||
|
||||
def parser_mod_shortname(parser):
|
||||
"""short name of the parser's module name (no -- prefix and dashes converted to underscores)"""
|
||||
"""Return short name of the parser's module name (no -- prefix and dashes converted to underscores)"""
|
||||
return parser.replace('--', '').replace('-', '_')
|
||||
|
||||
|
||||
def parser_module(parser):
|
||||
"""import the module just in time and return the module object"""
|
||||
"""Import the module just in time and return the module object"""
|
||||
shortname = parser_mod_shortname(parser)
|
||||
path = ('jcparsers.' if shortname in local_parsers else 'jc.parsers.')
|
||||
return importlib.import_module(path + shortname)
|
||||
|
||||
|
||||
def parsers_text(indent=0, pad=0):
|
||||
"""return the argument and description information from each parser"""
|
||||
"""Return the argument and description information from each parser"""
|
||||
ptext = ''
|
||||
for parser in parsers:
|
||||
parser_arg = parser_argument(parser)
|
||||
@@ -201,7 +245,7 @@ def parsers_text(indent=0, pad=0):
|
||||
|
||||
|
||||
def about_jc():
|
||||
"""return jc info and the contents of each parser.info as a dictionary"""
|
||||
"""Return jc info and the contents of each parser.info as a dictionary"""
|
||||
parser_list = []
|
||||
|
||||
for parser in parsers:
|
||||
@@ -231,7 +275,7 @@ def about_jc():
|
||||
|
||||
|
||||
def helptext(message):
|
||||
"""return the help text with the list of parsers"""
|
||||
"""Return the help text with the list of parsers"""
|
||||
parsers_string = parsers_text(indent=12, pad=17)
|
||||
|
||||
helptext_string = f'''
|
||||
@@ -260,30 +304,30 @@ def helptext(message):
|
||||
|
||||
jc -p ls -al
|
||||
'''
|
||||
print(textwrap.dedent(helptext_string), file=sys.stderr)
|
||||
return textwrap.dedent(helptext_string)
|
||||
|
||||
|
||||
def json_out(data, pretty=False, mono=False, piped_out=False):
|
||||
|
||||
def json_out(data, pretty=False, env_colors=None, mono=False, piped_out=False):
|
||||
"""Return a JSON formatted string. String may include color codes or be pretty printed."""
|
||||
if not mono and not piped_out:
|
||||
# set colors
|
||||
class JcStyle(Style):
|
||||
styles = set_env_colors()
|
||||
styles = set_env_colors(env_colors)
|
||||
|
||||
if pretty:
|
||||
print(highlight(json.dumps(data, indent=2), JsonLexer(), Terminal256Formatter(style=JcStyle))[0:-1])
|
||||
return str(highlight(json.dumps(data, indent=2), JsonLexer(), Terminal256Formatter(style=JcStyle))[0:-1])
|
||||
else:
|
||||
print(highlight(json.dumps(data), JsonLexer(), Terminal256Formatter(style=JcStyle))[0:-1])
|
||||
return str(highlight(json.dumps(data), JsonLexer(), Terminal256Formatter(style=JcStyle))[0:-1])
|
||||
else:
|
||||
if pretty:
|
||||
print(json.dumps(data, indent=2))
|
||||
return json.dumps(data, indent=2)
|
||||
else:
|
||||
print(json.dumps(data))
|
||||
return json.dumps(data)
|
||||
|
||||
|
||||
def generate_magic_command(args):
|
||||
"""
|
||||
Returns a tuple with a boolean and a command, where the boolean signifies that
|
||||
Return a tuple with a boolean and a command, where the boolean signifies that
|
||||
the command is valid, and the command is either a command string or None.
|
||||
"""
|
||||
|
||||
@@ -316,7 +360,7 @@ def generate_magic_command(args):
|
||||
magic_dict = {}
|
||||
parser_info = about_jc()['parsers']
|
||||
|
||||
# Create a dictionary of magic_commands to their respective parsers.
|
||||
# create a dictionary of magic_commands to their respective parsers.
|
||||
for entry in parser_info:
|
||||
# Update the dict with all of the magic commands for this parser, if they exist.
|
||||
magic_dict.update({mc: entry['argument'] for mc in entry.get('magic_commands', [])})
|
||||
@@ -325,7 +369,7 @@ def generate_magic_command(args):
|
||||
one_word_command = args_given[0]
|
||||
two_word_command = ' '.join(args_given[0:2])
|
||||
|
||||
# Try to get a parser for two_word_command, otherwise get one for one_word_command
|
||||
# try to get a parser for two_word_command, otherwise get one for one_word_command
|
||||
found_parser = magic_dict.get(two_word_command, magic_dict.get(one_word_command))
|
||||
|
||||
# construct a new command line using the standard syntax: COMMAND | jc --PARSER -OPTIONS
|
||||
@@ -338,6 +382,7 @@ def generate_magic_command(args):
|
||||
|
||||
|
||||
def magic():
|
||||
"""Runs the command generated by generate_magic_command() to support magic syntax"""
|
||||
valid_command, run_command = generate_magic_command(sys.argv)
|
||||
if valid_command:
|
||||
os.system(run_command)
|
||||
@@ -345,7 +390,7 @@ def magic():
|
||||
elif run_command is None:
|
||||
return
|
||||
else:
|
||||
helptext(f'parser not found for "{run_command}"')
|
||||
print(helptext(f'parser not found for "{run_command}"'), file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
@@ -359,6 +404,8 @@ def main():
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
jc_colors = os.getenv('JC_COLORS')
|
||||
|
||||
# try magic syntax first: e.g. jc -p ls -al
|
||||
magic()
|
||||
|
||||
@@ -376,53 +423,48 @@ def main():
|
||||
quiet = 'q' in options
|
||||
raw = 'r' in options
|
||||
|
||||
if verbose_debug:
|
||||
import jc.tracebackplus
|
||||
jc.tracebackplus.enable(context=11)
|
||||
|
||||
if 'a' in options:
|
||||
json_out(about_jc(), pretty=pretty, mono=mono, piped_out=piped_output())
|
||||
print(json_out(about_jc(), pretty=pretty, env_colors=jc_colors, mono=mono, piped_out=piped_output()))
|
||||
sys.exit(0)
|
||||
|
||||
if sys.stdin.isatty():
|
||||
helptext('missing piped data')
|
||||
print(helptext('missing piped data'), file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
data = sys.stdin.read()
|
||||
|
||||
found = False
|
||||
|
||||
if debug:
|
||||
if verbose_debug:
|
||||
import cgitb
|
||||
cgitb.enable(display=1, logdir=None, context=5, format="text")
|
||||
for arg in sys.argv:
|
||||
parser_name = parser_shortname(arg)
|
||||
|
||||
for arg in sys.argv:
|
||||
parser_name = parser_shortname(arg)
|
||||
|
||||
if parser_name in parsers:
|
||||
# load parser module just in time so we don't need to load all modules
|
||||
parser = parser_module(arg)
|
||||
if parser_name in parsers:
|
||||
# load parser module just in time so we don't need to load all modules
|
||||
parser = parser_module(arg)
|
||||
try:
|
||||
result = parser.parse(data, raw=raw, quiet=quiet)
|
||||
found = True
|
||||
break
|
||||
else:
|
||||
for arg in sys.argv:
|
||||
parser_name = parser_shortname(arg)
|
||||
|
||||
if parser_name in parsers:
|
||||
# load parser module just in time so we don't need to load all modules
|
||||
parser = parser_module(arg)
|
||||
try:
|
||||
result = parser.parse(data, raw=raw, quiet=quiet)
|
||||
found = True
|
||||
break
|
||||
except Exception:
|
||||
except Exception:
|
||||
if debug:
|
||||
raise
|
||||
else:
|
||||
import jc.utils
|
||||
jc.utils.error_message(
|
||||
f'{parser_name} parser could not parse the input data. Did you use the correct parser?\n For details use the -d option.')
|
||||
f'{parser_name} parser could not parse the input data. Did you use the correct parser?\n'
|
||||
' For details use the -d or -dd option.')
|
||||
sys.exit(1)
|
||||
|
||||
if not found:
|
||||
helptext('missing or incorrect arguments')
|
||||
print(helptext('missing or incorrect arguments'), file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
json_out(result, pretty=pretty, mono=mono, piped_out=piped_output())
|
||||
print(json_out(result, pretty=pretty, env_colors=jc_colors, mono=mono, piped_out=piped_output()))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
|
||||
Usage:
|
||||
|
||||
specify --ini as the first argument if the piped input is coming from an INI file
|
||||
Specify --ini as the first argument if the piped input is coming from an INI file or any
|
||||
simple key/value pair file. Delimiter can be '=' or ':'. Missing values are supported.
|
||||
Comment prefix can be '#' or ';'. Comments must be on their own line.
|
||||
|
||||
Compatibility:
|
||||
|
||||
@@ -47,8 +49,8 @@ import configparser
|
||||
|
||||
|
||||
class info():
|
||||
version = '1.1'
|
||||
description = 'INI file parser'
|
||||
version = '1.2'
|
||||
description = 'INI file parser. Also parses files/output containing simple key/value pairs'
|
||||
author = 'Kelly Brazil'
|
||||
author_email = 'kellyjonbrazil@gmail.com'
|
||||
details = 'Using configparser from the standard library'
|
||||
@@ -70,15 +72,33 @@ def process(proc_data):
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary representing an ini document:
|
||||
Dictionary representing an ini or simple key/value pair document:
|
||||
|
||||
{
|
||||
ini document converted to a dictionary
|
||||
see configparser standard library documentation for more details
|
||||
ini or key/value document converted to a dictionary - see configparser standard
|
||||
library documentation for more details.
|
||||
|
||||
Note: Values starting and ending with quotation marks will have the marks removed.
|
||||
If you would like to keep the quotation marks, use the -r or raw=True argument.
|
||||
}
|
||||
"""
|
||||
# remove quotation marks from beginning and end of values
|
||||
for heading in proc_data:
|
||||
# standard ini files with headers
|
||||
if isinstance(proc_data[heading], dict):
|
||||
for key, value in proc_data[heading].items():
|
||||
if value is not None and value.startswith('"') and value.endswith('"'):
|
||||
proc_data[heading][key] = value.lstrip('"').rstrip('"')
|
||||
elif value is None:
|
||||
proc_data[heading][key] = ''
|
||||
|
||||
# simple key/value files with no headers
|
||||
else:
|
||||
if proc_data[heading] is not None and proc_data[heading].startswith('"') and proc_data[heading].endswith('"'):
|
||||
proc_data[heading] = proc_data[heading].lstrip('"').rstrip('"')
|
||||
elif proc_data[heading] is None:
|
||||
proc_data[heading] = ''
|
||||
|
||||
# No further processing
|
||||
return proc_data
|
||||
|
||||
|
||||
@@ -103,9 +123,17 @@ def parse(data, raw=False, quiet=False):
|
||||
|
||||
if jc.utils.has_data(data):
|
||||
|
||||
ini = configparser.ConfigParser()
|
||||
ini.read_string(data)
|
||||
raw_output = {s: dict(ini.items(s)) for s in ini.sections()}
|
||||
ini = configparser.ConfigParser(allow_no_value=True, interpolation=None)
|
||||
try:
|
||||
ini.read_string(data)
|
||||
raw_output = {s: dict(ini.items(s)) for s in ini.sections()}
|
||||
|
||||
except configparser.MissingSectionHeaderError:
|
||||
data = '[data]\n' + data
|
||||
ini.read_string(data)
|
||||
output_dict = {s: dict(ini.items(s)) for s in ini.sections()}
|
||||
for key, value in output_dict['data'].items():
|
||||
raw_output[key] = value
|
||||
|
||||
if raw:
|
||||
return raw_output
|
||||
|
||||
507
jc/parsers/ping.py
Normal file
507
jc/parsers/ping.py
Normal file
@@ -0,0 +1,507 @@
|
||||
"""jc - JSON CLI output utility ping Parser
|
||||
|
||||
Usage:
|
||||
|
||||
specify --ping as the first argument if the piped input is coming from ping
|
||||
|
||||
Note: Use the ping -c (count) option, otherwise data will not be piped to jc.
|
||||
|
||||
Compatibility:
|
||||
|
||||
'linux', 'darwin', 'freebsd'
|
||||
|
||||
Examples:
|
||||
|
||||
$ ping -c 3 -p ff cnn.com | jc --ping -p
|
||||
{
|
||||
"destination_ip": "151.101.1.67",
|
||||
"data_bytes": 56,
|
||||
"pattern": "0xff",
|
||||
"destination": "cnn.com",
|
||||
"packets_transmitted": 3,
|
||||
"packets_received": 3,
|
||||
"packet_loss_percent": 0.0,
|
||||
"duplicates": 0,
|
||||
"round_trip_ms_min": 28.015,
|
||||
"round_trip_ms_avg": 32.848,
|
||||
"round_trip_ms_max": 39.376,
|
||||
"round_trip_ms_stddev": 4.79,
|
||||
"responses": [
|
||||
{
|
||||
"type": "reply",
|
||||
"bytes": 64,
|
||||
"response_ip": "151.101.1.67",
|
||||
"icmp_seq": 0,
|
||||
"ttl": 59,
|
||||
"time_ms": 28.015,
|
||||
"duplicate": false
|
||||
},
|
||||
{
|
||||
"type": "reply",
|
||||
"bytes": 64,
|
||||
"response_ip": "151.101.1.67",
|
||||
"icmp_seq": 1,
|
||||
"ttl": 59,
|
||||
"time_ms": 39.376,
|
||||
"duplicate": false
|
||||
},
|
||||
{
|
||||
"type": "reply",
|
||||
"bytes": 64,
|
||||
"response_ip": "151.101.1.67",
|
||||
"icmp_seq": 2,
|
||||
"ttl": 59,
|
||||
"time_ms": 31.153,
|
||||
"duplicate": false
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
$ ping -c 3 -p ff cnn.com | jc --ping -p -r
|
||||
{
|
||||
"destination_ip": "151.101.129.67",
|
||||
"data_bytes": "56",
|
||||
"pattern": "0xff",
|
||||
"destination": "cnn.com",
|
||||
"packets_transmitted": "3",
|
||||
"packets_received": "3",
|
||||
"packet_loss_percent": "0.0",
|
||||
"duplicates": "0",
|
||||
"round_trip_ms_min": "25.078",
|
||||
"round_trip_ms_avg": "29.543",
|
||||
"round_trip_ms_max": "32.553",
|
||||
"round_trip_ms_stddev": "3.221",
|
||||
"responses": [
|
||||
{
|
||||
"type": "reply",
|
||||
"bytes": "64",
|
||||
"response_ip": "151.101.129.67",
|
||||
"icmp_seq": "0",
|
||||
"ttl": "59",
|
||||
"time_ms": "25.078",
|
||||
"duplicate": false
|
||||
},
|
||||
{
|
||||
"type": "reply",
|
||||
"bytes": "64",
|
||||
"response_ip": "151.101.129.67",
|
||||
"icmp_seq": "1",
|
||||
"ttl": "59",
|
||||
"time_ms": "30.999",
|
||||
"duplicate": false
|
||||
},
|
||||
{
|
||||
"type": "reply",
|
||||
"bytes": "64",
|
||||
"response_ip": "151.101.129.67",
|
||||
"icmp_seq": "2",
|
||||
"ttl": "59",
|
||||
"time_ms": "32.553",
|
||||
"duplicate": false
|
||||
}
|
||||
]
|
||||
}
|
||||
"""
|
||||
import string
|
||||
import jc.utils
|
||||
|
||||
|
||||
class info():
|
||||
version = '1.0'
|
||||
description = 'ping command parser'
|
||||
author = 'Kelly Brazil'
|
||||
author_email = 'kellyjonbrazil@gmail.com'
|
||||
|
||||
# compatible options: linux, darwin, cygwin, win32, aix, freebsd
|
||||
compatible = ['linux', 'darwin', 'freebsd']
|
||||
magic_commands = ['ping', 'ping6']
|
||||
|
||||
|
||||
__version__ = info.version
|
||||
|
||||
|
||||
def process(proc_data):
|
||||
"""
|
||||
Final processing to conform to the schema.
|
||||
|
||||
Parameters:
|
||||
|
||||
proc_data: (dictionary) raw structured data to process
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Structured data with the following schema:
|
||||
|
||||
{
|
||||
"source_ip": string,
|
||||
"destination_ip": string,
|
||||
"data_bytes": integer,
|
||||
"pattern": string, (null if not set)
|
||||
"destination": string,
|
||||
"packets_transmitted": integer,
|
||||
"packets_received": integer,
|
||||
"packet_loss_percent": float,
|
||||
"duplicates": integer,
|
||||
"round_trip_ms_min": float,
|
||||
"round_trip_ms_avg": float,
|
||||
"round_trip_ms_max": float,
|
||||
"round_trip_ms_stddev": float,
|
||||
"responses": [
|
||||
{
|
||||
"type": string, ('reply' or 'timeout')
|
||||
"timestamp": float,
|
||||
"bytes": integer,
|
||||
"response_ip": string,
|
||||
"icmp_seq": integer,
|
||||
"ttl": integer,
|
||||
"time_ms": float,
|
||||
"duplicate": boolean
|
||||
}
|
||||
]
|
||||
}
|
||||
"""
|
||||
int_list = ['data_bytes', 'packets_transmitted', 'packets_received', 'bytes', 'icmp_seq', 'ttl', 'duplicates']
|
||||
float_list = ['packet_loss_percent', 'round_trip_ms_min', 'round_trip_ms_avg', 'round_trip_ms_max',
|
||||
'round_trip_ms_stddev', 'timestamp', 'time_ms']
|
||||
|
||||
for key in proc_data.keys():
|
||||
for item in int_list:
|
||||
if item == key:
|
||||
try:
|
||||
proc_data[key] = int(proc_data[key])
|
||||
except (ValueError, TypeError):
|
||||
proc_data[key] = None
|
||||
|
||||
for item in float_list:
|
||||
if item == key:
|
||||
try:
|
||||
proc_data[key] = float(proc_data[key])
|
||||
except (ValueError, TypeError):
|
||||
proc_data[key] = None
|
||||
|
||||
if key == 'responses':
|
||||
for entry in proc_data['responses']:
|
||||
for k in entry.keys():
|
||||
if k in int_list:
|
||||
try:
|
||||
entry[k] = int(entry[k])
|
||||
except (ValueError, TypeError):
|
||||
entry[k] = None
|
||||
if k in float_list:
|
||||
try:
|
||||
entry[k] = float(entry[k])
|
||||
except (ValueError, TypeError):
|
||||
entry[k] = None
|
||||
|
||||
return proc_data
|
||||
|
||||
|
||||
def linux_parse(data):
|
||||
raw_output = {}
|
||||
ping_responses = []
|
||||
pattern = None
|
||||
footer = False
|
||||
|
||||
linedata = data.splitlines()
|
||||
|
||||
# check for PATTERN
|
||||
if linedata[0].startswith('PATTERN: '):
|
||||
pattern = linedata.pop(0).split(': ')[1]
|
||||
|
||||
while not linedata[0].startswith('PING '):
|
||||
linedata.pop(0)
|
||||
|
||||
ipv4 = True if 'bytes of data' in linedata[0] else False
|
||||
|
||||
if ipv4 and linedata[0][5] not in string.digits:
|
||||
hostname = True
|
||||
elif ipv4 and linedata[0][5] in string.digits:
|
||||
hostname = False
|
||||
elif not ipv4 and ' (' in linedata[0]:
|
||||
hostname = True
|
||||
else:
|
||||
hostname = False
|
||||
|
||||
for line in filter(None, linedata):
|
||||
if line.startswith('PING '):
|
||||
if ipv4 and not hostname:
|
||||
dst_ip, dta_byts = (2, 3)
|
||||
elif ipv4 and hostname:
|
||||
dst_ip, dta_byts = (2, 3)
|
||||
elif not ipv4 and not hostname:
|
||||
dst_ip, dta_byts = (2, 3)
|
||||
else:
|
||||
dst_ip, dta_byts = (3, 4)
|
||||
|
||||
line = line.replace('(', ' ').replace(')', ' ')
|
||||
raw_output.update(
|
||||
{
|
||||
'destination_ip': line.split()[dst_ip].lstrip('(').rstrip(')'),
|
||||
'data_bytes': line.split()[dta_byts],
|
||||
'pattern': pattern
|
||||
}
|
||||
)
|
||||
continue
|
||||
|
||||
if line.startswith('---'):
|
||||
footer = True
|
||||
raw_output['destination'] = line.split()[1]
|
||||
continue
|
||||
|
||||
if footer:
|
||||
if 'packets transmitted' in line:
|
||||
if ' duplicates,' in line:
|
||||
raw_output.update(
|
||||
{
|
||||
'packets_transmitted': line.split()[0],
|
||||
'packets_received': line.split()[3],
|
||||
'packet_loss_percent': line.split()[7].rstrip('%'),
|
||||
'duplicates': line.split()[5].lstrip('+'),
|
||||
'time_ms': line.split()[11].replace('ms', '')
|
||||
}
|
||||
)
|
||||
continue
|
||||
else:
|
||||
raw_output.update(
|
||||
{
|
||||
'packets_transmitted': line.split()[0],
|
||||
'packets_received': line.split()[3],
|
||||
'packet_loss_percent': line.split()[5].rstrip('%'),
|
||||
'duplicates': '0',
|
||||
'time_ms': line.split()[9].replace('ms', '')
|
||||
}
|
||||
)
|
||||
continue
|
||||
|
||||
else:
|
||||
split_line = line.split(' = ')[1]
|
||||
split_line = split_line.split('/')
|
||||
raw_output.update(
|
||||
{
|
||||
'round_trip_ms_min': split_line[0],
|
||||
'round_trip_ms_avg': split_line[1],
|
||||
'round_trip_ms_max': split_line[2],
|
||||
'round_trip_ms_stddev': split_line[3].split()[0]
|
||||
}
|
||||
)
|
||||
|
||||
# ping response lines
|
||||
else:
|
||||
# request timeout
|
||||
if 'no answer yet for icmp_seq=' in line:
|
||||
timestamp = False
|
||||
isequence = 5
|
||||
|
||||
# if timestamp option is specified, then shift icmp sequence field right by one
|
||||
if line[0] == '[':
|
||||
timestamp = True
|
||||
isequence = 6
|
||||
|
||||
response = {
|
||||
'type': 'timeout',
|
||||
'timestamp': line.split()[0].lstrip('[').rstrip(']') if timestamp else None,
|
||||
'icmp_seq': line.replace('=', ' ').split()[isequence]
|
||||
}
|
||||
ping_responses.append(response)
|
||||
continue
|
||||
|
||||
# normal responses
|
||||
else:
|
||||
|
||||
line = line.replace('(', ' ').replace(')', ' ').replace('=', ' ')
|
||||
|
||||
# positions of items depend on whether ipv4/ipv6 and/or ip/hostname is used
|
||||
if ipv4 and not hostname:
|
||||
bts, rip, iseq, t2l, tms = (0, 3, 5, 7, 9)
|
||||
elif ipv4 and hostname:
|
||||
bts, rip, iseq, t2l, tms = (0, 4, 7, 9, 11)
|
||||
elif not ipv4 and not hostname:
|
||||
bts, rip, iseq, t2l, tms = (0, 3, 5, 7, 9)
|
||||
elif not ipv4 and hostname:
|
||||
bts, rip, iseq, t2l, tms = (0, 4, 7, 9, 11)
|
||||
|
||||
# if timestamp option is specified, then shift everything right by one
|
||||
timestamp = False
|
||||
if line[0] == '[':
|
||||
timestamp = True
|
||||
bts, rip, iseq, t2l, tms = (bts + 1, rip + 1, iseq + 1, t2l + 1, tms + 1)
|
||||
|
||||
response = {
|
||||
'type': 'reply',
|
||||
'timestamp': line.split()[0].lstrip('[').rstrip(']') if timestamp else None,
|
||||
'bytes': line.split()[bts],
|
||||
'response_ip': line.split()[rip].rstrip(':'),
|
||||
'icmp_seq': line.split()[iseq],
|
||||
'ttl': line.split()[t2l],
|
||||
'time_ms': line.split()[tms],
|
||||
'duplicate': True if 'DUP!' in line else False
|
||||
}
|
||||
|
||||
ping_responses.append(response)
|
||||
continue
|
||||
|
||||
raw_output['responses'] = ping_responses
|
||||
|
||||
return raw_output
|
||||
|
||||
|
||||
def bsd_parse(data):
|
||||
raw_output = {}
|
||||
ping_responses = []
|
||||
pattern = None
|
||||
footer = False
|
||||
|
||||
linedata = data.splitlines()
|
||||
|
||||
# check for PATTERN
|
||||
if linedata[0].startswith('PATTERN: '):
|
||||
pattern = linedata.pop(0).split(': ')[1]
|
||||
|
||||
for line in filter(None, linedata):
|
||||
if line.startswith('PING '):
|
||||
raw_output.update(
|
||||
{
|
||||
'destination_ip': line.split()[2].lstrip('(').rstrip(':').rstrip(')'),
|
||||
'data_bytes': line.split()[3],
|
||||
'pattern': pattern
|
||||
}
|
||||
)
|
||||
continue
|
||||
|
||||
if line.startswith('PING6('):
|
||||
line = line.replace('(', ' ').replace(')', ' ').replace('=', ' ')
|
||||
raw_output.update(
|
||||
{
|
||||
'source_ip': line.split()[4],
|
||||
'destination_ip': line.split()[6],
|
||||
'data_bytes': line.split()[1],
|
||||
'pattern': pattern
|
||||
}
|
||||
)
|
||||
continue
|
||||
|
||||
if line.startswith('---'):
|
||||
footer = True
|
||||
raw_output['destination'] = line.split()[1]
|
||||
continue
|
||||
|
||||
if footer:
|
||||
if 'packets transmitted' in line:
|
||||
if ' duplicates,' in line:
|
||||
raw_output.update(
|
||||
{
|
||||
'packets_transmitted': line.split()[0],
|
||||
'packets_received': line.split()[3],
|
||||
'packet_loss_percent': line.split()[8].rstrip('%'),
|
||||
'duplicates': line.split()[6].lstrip('+'),
|
||||
}
|
||||
)
|
||||
continue
|
||||
else:
|
||||
raw_output.update(
|
||||
{
|
||||
'packets_transmitted': line.split()[0],
|
||||
'packets_received': line.split()[3],
|
||||
'packet_loss_percent': line.split()[6].rstrip('%'),
|
||||
'duplicates': '0',
|
||||
}
|
||||
)
|
||||
continue
|
||||
|
||||
else:
|
||||
split_line = line.split(' = ')[1]
|
||||
split_line = split_line.split('/')
|
||||
raw_output.update(
|
||||
{
|
||||
'round_trip_ms_min': split_line[0],
|
||||
'round_trip_ms_avg': split_line[1],
|
||||
'round_trip_ms_max': split_line[2],
|
||||
'round_trip_ms_stddev': split_line[3].replace(' ms', '')
|
||||
}
|
||||
)
|
||||
|
||||
# ping response lines
|
||||
else:
|
||||
# ipv4 lines
|
||||
if ',' not in line:
|
||||
|
||||
# request timeout
|
||||
if line.startswith('Request timeout for '):
|
||||
response = {
|
||||
'type': 'timeout',
|
||||
'icmp_seq': line.split()[4]
|
||||
}
|
||||
ping_responses.append(response)
|
||||
continue
|
||||
|
||||
# normal response
|
||||
else:
|
||||
line = line.replace(':', ' ').replace('=', ' ')
|
||||
response = {
|
||||
'type': 'reply',
|
||||
'bytes': line.split()[0],
|
||||
'response_ip': line.split()[3],
|
||||
'icmp_seq': line.split()[5],
|
||||
'ttl': line.split()[7],
|
||||
'time_ms': line.split()[9]
|
||||
}
|
||||
ping_responses.append(response)
|
||||
continue
|
||||
|
||||
# ipv6 lines
|
||||
else:
|
||||
line = line.replace(',', ' ').replace('=', ' ')
|
||||
response = {
|
||||
'type': 'reply',
|
||||
'bytes': line.split()[0],
|
||||
'response_ip': line.split()[3],
|
||||
'icmp_seq': line.split()[5],
|
||||
'ttl': line.split()[7],
|
||||
'time_ms': line.split()[9]
|
||||
}
|
||||
ping_responses.append(response)
|
||||
continue
|
||||
|
||||
# identify duplicates in responses
|
||||
if ping_responses:
|
||||
seq_list = []
|
||||
for reply in ping_responses:
|
||||
seq_list.append(reply['icmp_seq'])
|
||||
reply['duplicate'] = True if seq_list.count(reply['icmp_seq']) > 1 else False
|
||||
|
||||
raw_output['responses'] = ping_responses
|
||||
|
||||
return raw_output
|
||||
|
||||
|
||||
def parse(data, raw=False, quiet=False):
|
||||
"""
|
||||
Main text parsing function
|
||||
|
||||
Parameters:
|
||||
|
||||
data: (string) text data to parse
|
||||
raw: (boolean) output preprocessed JSON if True
|
||||
quiet: (boolean) suppress warning messages if True
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Raw or processed structured data.
|
||||
"""
|
||||
if not quiet:
|
||||
jc.utils.compatibility(__name__, info.compatible)
|
||||
|
||||
raw_output = {}
|
||||
|
||||
if jc.utils.has_data(data):
|
||||
|
||||
if 'time' in data.splitlines()[-2]:
|
||||
raw_output = linux_parse(data)
|
||||
else:
|
||||
raw_output = bsd_parse(data)
|
||||
|
||||
if raw:
|
||||
return raw_output
|
||||
else:
|
||||
return process(raw_output)
|
||||
@@ -84,7 +84,7 @@ import jc.parsers.universal
|
||||
|
||||
|
||||
class info():
|
||||
version = '1.3'
|
||||
version = '1.4'
|
||||
description = 'route command parser'
|
||||
author = 'Kelly Brazil'
|
||||
author_email = 'kellyjonbrazil@gmail.com'
|
||||
@@ -182,10 +182,16 @@ def parse(data, raw=False, quiet=False):
|
||||
jc.utils.compatibility(__name__, info.compatible)
|
||||
|
||||
cleandata = data.splitlines()[1:]
|
||||
|
||||
raw_output = []
|
||||
|
||||
if jc.utils.has_data(data):
|
||||
|
||||
# fixup header row for ipv6
|
||||
if ' Next Hop ' in cleandata[0]:
|
||||
cleandata[0] = cleandata[0].replace(' If', ' Iface')
|
||||
cleandata[0] = cleandata[0].replace(' Next Hop ', ' Next_Hop ').replace(' Flag ', ' Flags ').replace(' Met ', ' Metric ')
|
||||
|
||||
cleandata[0] = cleandata[0].lower()
|
||||
raw_output = jc.parsers.universal.simple_table_parse(cleandata)
|
||||
|
||||
|
||||
154
jc/parsers/sysctl.py
Normal file
154
jc/parsers/sysctl.py
Normal file
@@ -0,0 +1,154 @@
|
||||
"""jc - JSON CLI output utility sysctl -a Parser
|
||||
|
||||
Usage:
|
||||
|
||||
specify --sysctl as the first argument if the piped input is coming from sysctl -a
|
||||
|
||||
Note: since sysctl output is not easily parsable only a very simple key/value object
|
||||
will be output. An attempt is made to convert obvious integers and floats. If no
|
||||
conversion is desired, use the -r (raw) option.
|
||||
|
||||
Compatibility:
|
||||
|
||||
'linux', 'darwin', 'freebsd'
|
||||
|
||||
Examples:
|
||||
|
||||
$ sysctl | jc --sysctl -p
|
||||
{
|
||||
"user.cs_path": "/usr/bin:/bin:/usr/sbin:/sbin",
|
||||
"user.bc_base_max": 99,
|
||||
"user.bc_dim_max": 2048,
|
||||
"user.bc_scale_max": 99,
|
||||
"user.bc_string_max": 1000,
|
||||
"user.coll_weights_max": 2,
|
||||
"user.expr_nest_max": 32
|
||||
...
|
||||
}
|
||||
|
||||
$ sysctl | jc --sysctl -p -r
|
||||
{
|
||||
"user.cs_path": "/usr/bin:/bin:/usr/sbin:/sbin",
|
||||
"user.bc_base_max": "99",
|
||||
"user.bc_dim_max": "2048",
|
||||
"user.bc_scale_max": "99",
|
||||
"user.bc_string_max": "1000",
|
||||
"user.coll_weights_max": "2",
|
||||
"user.expr_nest_max": "32",
|
||||
...
|
||||
}
|
||||
"""
|
||||
import jc.utils
|
||||
|
||||
|
||||
class info():
|
||||
version = '1.0'
|
||||
description = 'sysctl command parser'
|
||||
author = 'Kelly Brazil'
|
||||
author_email = 'kellyjonbrazil@gmail.com'
|
||||
# details = 'enter any other details here'
|
||||
|
||||
# compatible options: linux, darwin, cygwin, win32, aix, freebsd
|
||||
compatible = ['linux', 'darwin', 'freebsd']
|
||||
magic_commands = ['sysctl']
|
||||
|
||||
|
||||
__version__ = info.version
|
||||
|
||||
|
||||
def process(proc_data):
|
||||
"""
|
||||
Final processing to conform to the schema.
|
||||
|
||||
Parameters:
|
||||
|
||||
proc_data: (dictionary) raw structured data to process
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Structured data with the following schema:
|
||||
|
||||
{
|
||||
"foo": string/integer/float, # best guess based on value
|
||||
"bar": string/integer/float,
|
||||
"baz": string/integer/float
|
||||
}
|
||||
"""
|
||||
for key in proc_data:
|
||||
try:
|
||||
proc_data[key] = int(proc_data[key])
|
||||
except (ValueError):
|
||||
try:
|
||||
proc_data[key] = float(proc_data[key])
|
||||
except (ValueError):
|
||||
pass
|
||||
return proc_data
|
||||
|
||||
|
||||
def parse(data, raw=False, quiet=False):
|
||||
"""
|
||||
Main text parsing function
|
||||
|
||||
Parameters:
|
||||
|
||||
data: (string) text data to parse
|
||||
raw: (boolean) output preprocessed JSON if True
|
||||
quiet: (boolean) suppress warning messages if True
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Raw or processed structured data.
|
||||
"""
|
||||
if not quiet:
|
||||
jc.utils.compatibility(__name__, info.compatible)
|
||||
|
||||
raw_output = {}
|
||||
|
||||
if jc.utils.has_data(data):
|
||||
data = data.splitlines()
|
||||
|
||||
# linux uses = and bsd uses :
|
||||
if ' = ' in data[0]:
|
||||
delim = ' = '
|
||||
else:
|
||||
delim = ': '
|
||||
|
||||
for line in data:
|
||||
linedata = line.split(delim, maxsplit=1)
|
||||
|
||||
# bsd adds values to newlines, which need to be fixed up with this try/except block
|
||||
try:
|
||||
key = linedata[0]
|
||||
value = linedata[1]
|
||||
|
||||
# syctl -a repeats some keys on linux. Append values from repeating keys
|
||||
# to the previous key value
|
||||
if key in raw_output:
|
||||
existing_value = raw_output[key]
|
||||
raw_output[key] = existing_value + '\n' + value
|
||||
continue
|
||||
|
||||
# fix for weird multiline output in bsd
|
||||
# if the key looks strange (has spaces or no dots) then it's probably a value field
|
||||
# on a separate line. in this case, just append it to the previous key in the dictionary.
|
||||
if '.' not in key or ' ' in key:
|
||||
previous_key = [*raw_output.keys()][-1]
|
||||
raw_output[previous_key] = raw_output[previous_key] + '\n' + line
|
||||
continue
|
||||
|
||||
# if the key looks normal then just add to the dictionary as normal
|
||||
else:
|
||||
raw_output[key] = value
|
||||
continue
|
||||
|
||||
# if there is an IndexError exception, then there was no delimiter in the line.
|
||||
# In this case just append the data line as a value to the previous key.
|
||||
except IndexError:
|
||||
prior_key = [*raw_output.keys()][-1]
|
||||
raw_output[prior_key] = raw_output[prior_key] + '\n' + line
|
||||
continue
|
||||
|
||||
if raw:
|
||||
return raw_output
|
||||
else:
|
||||
return process(raw_output)
|
||||
251
jc/parsers/tracepath.py
Normal file
251
jc/parsers/tracepath.py
Normal file
@@ -0,0 +1,251 @@
|
||||
"""jc - JSON CLI output utility tracepath Parser
|
||||
|
||||
Usage:
|
||||
|
||||
specify --tracepath as the first argument if the piped input is coming from tracepath
|
||||
|
||||
Compatibility:
|
||||
|
||||
'linux'
|
||||
|
||||
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
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
"""
|
||||
import re
|
||||
import jc.utils
|
||||
|
||||
|
||||
class info():
|
||||
version = '1.0'
|
||||
description = 'tracepath command parser'
|
||||
author = 'Kelly Brazil'
|
||||
author_email = 'kellyjonbrazil@gmail.com'
|
||||
|
||||
# compatible options: linux, darwin, cygwin, win32, aix, freebsd
|
||||
compatible = ['linux']
|
||||
magic_commands = ['tracepath', 'tracepath6']
|
||||
|
||||
|
||||
__version__ = info.version
|
||||
|
||||
|
||||
def process(proc_data):
|
||||
"""
|
||||
Final processing to conform to the schema.
|
||||
|
||||
Parameters:
|
||||
|
||||
proc_data: (dictionary) raw structured data to process
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Structured data with the following 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
|
||||
}
|
||||
]
|
||||
}
|
||||
"""
|
||||
int_list = ['pmtu', 'forward_hops', 'return_hops', 'ttl', 'asymmetric_difference']
|
||||
float_list = ['reply_ms']
|
||||
|
||||
for key, value in proc_data.items():
|
||||
for item in int_list:
|
||||
if key in int_list:
|
||||
try:
|
||||
proc_data[key] = int(proc_data[key])
|
||||
except (ValueError, TypeError):
|
||||
proc_data[key] = None
|
||||
|
||||
for item in int_list:
|
||||
if key in float_list:
|
||||
try:
|
||||
proc_data[key] = float(proc_data[key])
|
||||
except (ValueError, TypeError):
|
||||
proc_data[key] = None
|
||||
|
||||
if 'hops' in proc_data:
|
||||
for entry in proc_data['hops']:
|
||||
for key in int_list:
|
||||
if key in entry:
|
||||
try:
|
||||
entry[key] = int(entry[key])
|
||||
except (ValueError, TypeError):
|
||||
entry[key] = None
|
||||
|
||||
for key in float_list:
|
||||
if key in entry:
|
||||
try:
|
||||
entry[key] = float(entry[key])
|
||||
except (ValueError, TypeError):
|
||||
entry[key] = None
|
||||
|
||||
return proc_data
|
||||
|
||||
|
||||
def parse(data, raw=False, quiet=False):
|
||||
"""
|
||||
Main text parsing function
|
||||
|
||||
Parameters:
|
||||
|
||||
data: (string) text data to parse
|
||||
raw: (boolean) output preprocessed JSON if True
|
||||
quiet: (boolean) suppress warning messages if True
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Raw or processed structured data.
|
||||
"""
|
||||
if not quiet:
|
||||
jc.utils.compatibility(__name__, info.compatible)
|
||||
|
||||
RE_TTL_HOST = re.compile(r'^\s?(?P<ttl>\d+)(?P<ttl_guess>\??):\s+(?P<host>(?:no reply|\S+))') # groups: ttl, ttl_guess, host
|
||||
RE_PMTU = re.compile(r'\spmtu\s(?P<pmtu>[\d]+)') # group: pmtu
|
||||
RE_REPLY_MS = re.compile(r'\s(?P<reply_ms>\d*\.\d*)ms') # group: reply_ms
|
||||
RE_ASYMM = re.compile(r'\sasymm\s+(?P<asymm>[\d]+)') # group: asymm
|
||||
RE_REACHED = re.compile(r'\sreached')
|
||||
RE_SUMMARY = re.compile(r'\s+Resume:\s+pmtu\s+(?P<pmtu>\d+)(?:\s+hops\s+(?P<hops>\d+))?(?:\s+back\s+(?P<back>\d+))?') # groups: pmtu, hops, back
|
||||
|
||||
raw_output = {}
|
||||
|
||||
if jc.utils.has_data(data):
|
||||
hops = []
|
||||
|
||||
for line in filter(None, data.splitlines()):
|
||||
# grab hop information
|
||||
ttl_host = re.search(RE_TTL_HOST, line)
|
||||
pmtu = re.search(RE_PMTU, line)
|
||||
reply_ms = re.search(RE_REPLY_MS, line)
|
||||
asymm = re.search(RE_ASYMM, line)
|
||||
reached = re.search(RE_REACHED, line)
|
||||
summary = re.search(RE_SUMMARY, line)
|
||||
|
||||
if ttl_host:
|
||||
hop = {
|
||||
'ttl': ttl_host.group('ttl'),
|
||||
'guess': bool(ttl_host.group('ttl_guess')),
|
||||
'host': ttl_host.group('host') if ttl_host.group('host') != 'no reply' else None,
|
||||
'reply_ms': reply_ms.group('reply_ms') if reply_ms else None,
|
||||
'pmtu': pmtu.group('pmtu') if pmtu else None,
|
||||
'asymmetric_difference': asymm.group('asymm') if asymm else None,
|
||||
'reached': bool(reached)
|
||||
}
|
||||
|
||||
hops.append(hop)
|
||||
continue
|
||||
|
||||
elif summary:
|
||||
raw_output = {
|
||||
'pmtu': summary.group('pmtu') if summary.group('pmtu') else None,
|
||||
'forward_hops': summary.group('hops') if summary.group('hops') else None,
|
||||
'return_hops': summary.group('back') if summary.group('back') else None,
|
||||
'hops': hops
|
||||
}
|
||||
|
||||
if raw:
|
||||
return raw_output
|
||||
else:
|
||||
return process(raw_output)
|
||||
422
jc/parsers/traceroute.py
Normal file
422
jc/parsers/traceroute.py
Normal file
@@ -0,0 +1,422 @@
|
||||
"""jc - JSON CLI output utility traceroute Parser
|
||||
|
||||
Usage:
|
||||
|
||||
specify --traceroute as the first argument if the piped input is coming from traceroute
|
||||
|
||||
Note: on OSX and FreeBSD be sure to redirect STDERR to STDOUT since the header line is sent to STDERR
|
||||
e.g. $ traceroute 8.8.8.8 2>&1 | jc --traceroute
|
||||
|
||||
Compatibility:
|
||||
|
||||
'linux', 'darwin', 'freebsd'
|
||||
|
||||
Examples:
|
||||
|
||||
$ traceroute google.com | jc --traceroute -p
|
||||
{
|
||||
"destination_ip": "216.58.194.46",
|
||||
"destination_name": "google.com",
|
||||
"hops": [
|
||||
{
|
||||
"hop": 1,
|
||||
"probes": [
|
||||
{
|
||||
"annotation": null,
|
||||
"asn": null,
|
||||
"ip": "216.230.231.141",
|
||||
"name": "216-230-231-141.static.houston.tx.oplink.net",
|
||||
"rtt": 198.574
|
||||
},
|
||||
{
|
||||
"annotation": null,
|
||||
"asn": null,
|
||||
"ip": "216.230.231.141",
|
||||
"name": "216-230-231-141.static.houston.tx.oplink.net",
|
||||
"rtt": null
|
||||
},
|
||||
{
|
||||
"annotation": null,
|
||||
"asn": null,
|
||||
"ip": "216.230.231.141",
|
||||
"name": "216-230-231-141.static.houston.tx.oplink.net",
|
||||
"rtt": 198.65
|
||||
}
|
||||
]
|
||||
},
|
||||
...
|
||||
]
|
||||
}
|
||||
|
||||
$ traceroute google.com | jc --traceroute -p -r
|
||||
{
|
||||
"destination_ip": "216.58.194.46",
|
||||
"destination_name": "google.com",
|
||||
"hops": [
|
||||
{
|
||||
"hop": "1",
|
||||
"probes": [
|
||||
{
|
||||
"annotation": null,
|
||||
"asn": null,
|
||||
"ip": "216.230.231.141",
|
||||
"name": "216-230-231-141.static.houston.tx.oplink.net",
|
||||
"rtt": "198.574"
|
||||
},
|
||||
{
|
||||
"annotation": null,
|
||||
"asn": null,
|
||||
"ip": "216.230.231.141",
|
||||
"name": "216-230-231-141.static.houston.tx.oplink.net",
|
||||
"rtt": null
|
||||
},
|
||||
{
|
||||
"annotation": null,
|
||||
"asn": null,
|
||||
"ip": "216.230.231.141",
|
||||
"name": "216-230-231-141.static.houston.tx.oplink.net",
|
||||
"rtt": "198.650"
|
||||
}
|
||||
]
|
||||
},
|
||||
...
|
||||
]
|
||||
}
|
||||
"""
|
||||
import re
|
||||
from decimal import Decimal
|
||||
import jc.utils
|
||||
|
||||
|
||||
class info():
|
||||
version = '1.0'
|
||||
description = 'traceroute command parser'
|
||||
author = 'Kelly Brazil'
|
||||
author_email = 'kellyjonbrazil@gmail.com'
|
||||
details = 'Using the trparse library by Luis Benitez at https://github.com/lbenitez000/trparse'
|
||||
|
||||
# compatible options: linux, darwin, cygwin, win32, aix, freebsd
|
||||
compatible = ['linux', 'darwin', 'freebsd']
|
||||
magic_commands = ['traceroute', 'traceroute6']
|
||||
|
||||
|
||||
__version__ = info.version
|
||||
|
||||
|
||||
'''
|
||||
Copyright (C) 2015 Luis Benitez
|
||||
|
||||
Parses the output of a traceroute execution into an AST (Abstract Syntax Tree).
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Luis Benitez
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
'''
|
||||
|
||||
RE_HEADER = re.compile(r'(\S+)\s+\((\d+\.\d+\.\d+\.\d+|[0-9a-fA-F:]+)\)')
|
||||
RE_PROBE_NAME_IP = re.compile(r'(\S+)\s+\((\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[0-9a-fA-F:]+)\)+')
|
||||
RE_PROBE_BSD_IPV6 = re.compile(r'\b(?:[A-Fa-f0-9]{1,4}:){7}[A-Fa-f0-9]{1,4}\b')
|
||||
RE_HOP = re.compile(r'^\s*(\d+)?\s+(.+)$')
|
||||
RE_PROBE_ASN = re.compile(r'\[AS(\d+)\]')
|
||||
RE_PROBE_RTT_ANNOTATION = re.compile(r'(\d+\.?\d+)?\s+ms|(\s+\*\s+)\s*(!\S*)?')
|
||||
|
||||
|
||||
class Traceroute(object):
|
||||
def __init__(self, dest_name, dest_ip):
|
||||
self.dest_name = dest_name
|
||||
self.dest_ip = dest_ip
|
||||
self.hops = []
|
||||
|
||||
def add_hop(self, hop):
|
||||
self.hops.append(hop)
|
||||
|
||||
def __str__(self):
|
||||
text = "Traceroute for %s (%s)\n\n" % (self.dest_name, self.dest_ip)
|
||||
for hop in self.hops:
|
||||
text += str(hop)
|
||||
return text
|
||||
|
||||
|
||||
class Hop(object):
|
||||
def __init__(self, idx):
|
||||
self.idx = idx # Hop count, starting at 1 (usually)
|
||||
self.probes = [] # Series of Probe instances
|
||||
|
||||
def add_probe(self, probe):
|
||||
"""Adds a Probe instance to this hop's results."""
|
||||
if self.probes:
|
||||
probe_last = self.probes[-1]
|
||||
if not probe.ip:
|
||||
probe.ip = probe_last.ip
|
||||
probe.name = probe_last.name
|
||||
self.probes.append(probe)
|
||||
|
||||
def __str__(self):
|
||||
text = "{:>3d} ".format(self.idx)
|
||||
text_len = len(text)
|
||||
for n, probe in enumerate(self.probes):
|
||||
text_probe = str(probe)
|
||||
if n:
|
||||
text += (text_len * " ") + text_probe
|
||||
else:
|
||||
text += text_probe
|
||||
text += "\n"
|
||||
return text
|
||||
|
||||
|
||||
class Probe(object):
|
||||
def __init__(self, name=None, ip=None, asn=None, rtt=None, annotation=None):
|
||||
self.name = name
|
||||
self.ip = ip
|
||||
self.asn = asn # Autonomous System number
|
||||
self.rtt = rtt # RTT in ms
|
||||
self.annotation = annotation # Annotation, such as !H, !N, !X, etc
|
||||
|
||||
def __str__(self):
|
||||
text = ""
|
||||
if self.asn is not None:
|
||||
text += "[AS{:d}] ".format(self.asn)
|
||||
if self.rtt:
|
||||
text += "{:s} ({:s}) {:1.3f} ms".format(self.name, self.ip, self.rtt)
|
||||
else:
|
||||
text = "*"
|
||||
if self.annotation:
|
||||
text += " {:s}".format(self.annotation)
|
||||
text += "\n"
|
||||
return text
|
||||
|
||||
|
||||
def loads(data):
|
||||
lines = data.splitlines()
|
||||
|
||||
# Get headers
|
||||
match_dest = RE_HEADER.search(lines[0])
|
||||
dest_name = match_dest.group(1)
|
||||
dest_ip = match_dest.group(2)
|
||||
|
||||
# The Traceroute node is the root of the tree
|
||||
traceroute = Traceroute(dest_name, dest_ip)
|
||||
|
||||
# Parse the remaining lines, they should be only hops/probes
|
||||
for line in lines[1:]:
|
||||
# Skip empty lines
|
||||
if not line:
|
||||
continue
|
||||
|
||||
hop_match = RE_HOP.match(line)
|
||||
|
||||
if hop_match.group(1):
|
||||
hop_index = int(hop_match.group(1))
|
||||
else:
|
||||
hop_index = None
|
||||
|
||||
if hop_index is not None:
|
||||
hop = Hop(hop_index)
|
||||
traceroute.add_hop(hop)
|
||||
|
||||
hop_string = hop_match.group(2)
|
||||
|
||||
probe_asn_match = RE_PROBE_ASN.search(hop_string)
|
||||
if probe_asn_match:
|
||||
probe_asn = int(probe_asn_match.group(1))
|
||||
else:
|
||||
probe_asn = None
|
||||
|
||||
probe_name_ip_match = RE_PROBE_NAME_IP.search(hop_string)
|
||||
probe_bsd_ipv6_match = RE_PROBE_BSD_IPV6.search(hop_string)
|
||||
if probe_name_ip_match:
|
||||
probe_name = probe_name_ip_match.group(1)
|
||||
probe_ip = probe_name_ip_match.group(2)
|
||||
elif probe_bsd_ipv6_match:
|
||||
probe_name = None
|
||||
probe_ip = probe_bsd_ipv6_match.group(0)
|
||||
else:
|
||||
probe_name = None
|
||||
probe_ip = None
|
||||
|
||||
probe_rtt_annotations = RE_PROBE_RTT_ANNOTATION.findall(hop_string)
|
||||
|
||||
for probe_rtt_annotation in probe_rtt_annotations:
|
||||
if probe_rtt_annotation[0]:
|
||||
probe_rtt = Decimal(probe_rtt_annotation[0])
|
||||
elif probe_rtt_annotation[1]:
|
||||
probe_rtt = None
|
||||
else:
|
||||
message = f"Expected probe RTT or *. Got: '{probe_rtt_annotation[0]}'"
|
||||
raise ParseError(message)
|
||||
|
||||
probe_annotation = probe_rtt_annotation[2] or None
|
||||
|
||||
probe = Probe(
|
||||
name=probe_name,
|
||||
ip=probe_ip,
|
||||
asn=probe_asn,
|
||||
rtt=probe_rtt,
|
||||
annotation=probe_annotation
|
||||
)
|
||||
hop.add_probe(probe)
|
||||
|
||||
return traceroute
|
||||
|
||||
|
||||
class ParseError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
########################################################################################
|
||||
|
||||
def process(proc_data):
|
||||
"""
|
||||
Final processing to conform to the schema.
|
||||
|
||||
Parameters:
|
||||
|
||||
proc_data: (dictionary) raw structured data to process
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Structured data with the following schema:
|
||||
|
||||
{
|
||||
"destination_ip": string,
|
||||
"destination_name": string,
|
||||
"hops": [
|
||||
{
|
||||
"hop": integer,
|
||||
"probes": [
|
||||
{
|
||||
"annotation": string,
|
||||
"asn": integer,
|
||||
"ip": string,
|
||||
"name": string,
|
||||
"rtt": float
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
"""
|
||||
int_list = ['hop', 'asn']
|
||||
float_list = ['rtt']
|
||||
|
||||
if 'hops' in proc_data:
|
||||
for entry in proc_data['hops']:
|
||||
for key in int_list:
|
||||
if key in entry:
|
||||
try:
|
||||
entry[key] = int(entry[key])
|
||||
except (ValueError, TypeError):
|
||||
entry[key] = None
|
||||
|
||||
for key in float_list:
|
||||
if key in entry:
|
||||
try:
|
||||
entry[key] = float(entry[key])
|
||||
except (ValueError, TypeError):
|
||||
entry[key] = None
|
||||
|
||||
if 'probes' in entry:
|
||||
for item in entry['probes']:
|
||||
for key in int_list:
|
||||
if key in item:
|
||||
try:
|
||||
item[key] = int(item[key])
|
||||
except (ValueError, TypeError):
|
||||
item[key] = None
|
||||
|
||||
for key in float_list:
|
||||
if key in item:
|
||||
try:
|
||||
item[key] = float(item[key])
|
||||
except (ValueError, TypeError):
|
||||
item[key] = None
|
||||
|
||||
return proc_data
|
||||
|
||||
|
||||
def parse(data, raw=False, quiet=False):
|
||||
"""
|
||||
Main text parsing function
|
||||
|
||||
Parameters:
|
||||
|
||||
data: (string) text data to parse
|
||||
raw: (boolean) output preprocessed JSON if True
|
||||
quiet: (boolean) suppress warning messages if True
|
||||
|
||||
Returns:
|
||||
|
||||
Dictionary. Raw or processed structured data.
|
||||
"""
|
||||
if not quiet:
|
||||
jc.utils.compatibility(__name__, info.compatible)
|
||||
|
||||
raw_output = {}
|
||||
|
||||
if jc.utils.has_data(data):
|
||||
|
||||
# remove any warning lines
|
||||
new_data = []
|
||||
for data_line in data.splitlines():
|
||||
if 'traceroute: Warning: ' not in data_line and 'traceroute6: Warning: ' not in data_line:
|
||||
new_data.append(data_line)
|
||||
else:
|
||||
continue
|
||||
data = '\n'.join(new_data)
|
||||
|
||||
# check if header row exists, otherwise raise exception
|
||||
if not data.splitlines()[0].startswith('traceroute to ') and not data.splitlines()[0].startswith('traceroute6 to '):
|
||||
raise ParseError('Traceroute header line not found. Be sure to redirect STDERR to STDOUT on some operating systems.')
|
||||
|
||||
tr = loads(data)
|
||||
hops = tr.hops
|
||||
hops_list = []
|
||||
|
||||
if hops:
|
||||
for hop in hops:
|
||||
hop_obj = {}
|
||||
hop_obj['hop'] = str(hop.idx)
|
||||
probe_list = []
|
||||
|
||||
if hop.probes:
|
||||
for probe in hop.probes:
|
||||
probe_obj = {
|
||||
'annotation': probe.annotation,
|
||||
'asn': None if probe.asn is None else str(probe.asn),
|
||||
'ip': probe.ip,
|
||||
'name': probe.name,
|
||||
'rtt': None if probe.rtt is None else str(probe.rtt)
|
||||
}
|
||||
probe_list.append(probe_obj)
|
||||
|
||||
hop_obj['probes'] = probe_list
|
||||
hops_list.append(hop_obj)
|
||||
|
||||
raw_output = {
|
||||
'destination_ip': tr.dest_ip,
|
||||
'destination_name': tr.dest_name,
|
||||
'hops': hops_list
|
||||
}
|
||||
|
||||
if raw:
|
||||
return raw_output
|
||||
else:
|
||||
return process(raw_output)
|
||||
@@ -30,7 +30,7 @@ import jc.utils
|
||||
|
||||
|
||||
class info():
|
||||
version = '1.3'
|
||||
version = '1.4'
|
||||
description = 'uname -a command parser'
|
||||
author = 'Kelly Brazil'
|
||||
author_email = 'kellyjonbrazil@gmail.com'
|
||||
@@ -43,6 +43,10 @@ class info():
|
||||
__version__ = info.version
|
||||
|
||||
|
||||
class ParseError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
def process(proc_data):
|
||||
"""
|
||||
Final processing to conform to the schema.
|
||||
@@ -94,6 +98,10 @@ def parse(data, raw=False, quiet=False):
|
||||
# check for OSX output
|
||||
if data.startswith('Darwin'):
|
||||
parsed_line = data.split()
|
||||
|
||||
if len(parsed_line) < 5:
|
||||
raise ParseError('Could not parse uname output. Make sure to use "uname -a".')
|
||||
|
||||
raw_output['machine'] = parsed_line.pop(-1)
|
||||
raw_output['kernel_name'] = parsed_line.pop(0)
|
||||
raw_output['node_name'] = parsed_line.pop(0)
|
||||
@@ -103,6 +111,10 @@ def parse(data, raw=False, quiet=False):
|
||||
# otherwise use linux parser
|
||||
else:
|
||||
parsed_line = data.split(maxsplit=3)
|
||||
|
||||
if len(parsed_line) < 3:
|
||||
raise ParseError('Could not parse uname output. Make sure to use "uname -a".')
|
||||
|
||||
raw_output['kernel_name'] = parsed_line.pop(0)
|
||||
raw_output['node_name'] = parsed_line.pop(0)
|
||||
raw_output['kernel_release'] = parsed_line.pop(0)
|
||||
|
||||
247
jc/tracebackplus.py
Normal file
247
jc/tracebackplus.py
Normal file
@@ -0,0 +1,247 @@
|
||||
"""More comprehensive traceback formatting for Python scripts.
|
||||
To enable this module, do:
|
||||
import tracebackplus; tracebackplus.enable()
|
||||
at the top of your script. The optional arguments to enable() are:
|
||||
logdir - if set, tracebacks are written to files in this directory
|
||||
context - number of lines of source code to show for each stack frame
|
||||
By default, tracebacks are displayed but not saved and the context is 5 lines.
|
||||
Alternatively, if you have caught an exception and want tracebackplus to display it
|
||||
for you, call tracebackplus.handler(). The optional argument to handler() is a
|
||||
3-item tuple (etype, evalue, etb) just like the value of sys.exc_info().
|
||||
"""
|
||||
|
||||
'''
|
||||
tracebackplus was derived from the cgitb standard library module. As cgitb is being
|
||||
deprecated, this simplified version of cgitb was created.
|
||||
|
||||
https://github.com/python/cpython/blob/3.8/Lib/cgitb.py
|
||||
|
||||
"Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Python Software Foundation;
|
||||
All Rights Reserved"
|
||||
|
||||
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
|
||||
--------------------------------------------
|
||||
|
||||
1. This LICENSE AGREEMENT is between the Python Software Foundation
|
||||
("PSF"), and the Individual or Organization ("Licensee") accessing and
|
||||
otherwise using this software ("Python") in source or binary form and
|
||||
its associated documentation.
|
||||
|
||||
2. Subject to the terms and conditions of this License Agreement, PSF hereby
|
||||
grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
|
||||
analyze, test, perform and/or display publicly, prepare derivative works,
|
||||
distribute, and otherwise use Python alone or in any derivative version,
|
||||
provided, however, that PSF's License Agreement and PSF's notice of copyright,
|
||||
i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||
2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Python Software Foundation;
|
||||
All Rights Reserved" are retained in Python alone or in any derivative version
|
||||
prepared by Licensee.
|
||||
|
||||
3. In the event Licensee prepares a derivative work that is based on
|
||||
or incorporates Python or any part thereof, and wants to make
|
||||
the derivative work available to others as provided herein, then
|
||||
Licensee hereby agrees to include in any such work a brief summary of
|
||||
the changes made to Python.
|
||||
|
||||
4. PSF is making Python available to Licensee on an "AS IS"
|
||||
basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
|
||||
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
|
||||
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
|
||||
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
|
||||
INFRINGE ANY THIRD PARTY RIGHTS.
|
||||
|
||||
5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
|
||||
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
|
||||
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
|
||||
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
|
||||
|
||||
6. This License Agreement will automatically terminate upon a material
|
||||
breach of its terms and conditions.
|
||||
|
||||
7. Nothing in this License Agreement shall be deemed to create any
|
||||
relationship of agency, partnership, or joint venture between PSF and
|
||||
Licensee. This License Agreement does not grant permission to use PSF
|
||||
trademarks or trade name in a trademark sense to endorse or promote
|
||||
products or services of Licensee, or any third party.
|
||||
|
||||
8. By copying, installing or otherwise using Python, Licensee
|
||||
agrees to be bound by the terms and conditions of this License
|
||||
Agreement.
|
||||
'''
|
||||
|
||||
import inspect
|
||||
import keyword
|
||||
import linecache
|
||||
import os
|
||||
import pydoc
|
||||
import sys
|
||||
import tempfile
|
||||
import time
|
||||
import tokenize
|
||||
import traceback
|
||||
|
||||
|
||||
__UNDEF__ = [] # a special sentinel object
|
||||
|
||||
|
||||
def lookup(name, frame, locals):
|
||||
"""Find the value for a given name in the given environment."""
|
||||
if name in locals:
|
||||
return 'local', locals[name]
|
||||
if name in frame.f_globals:
|
||||
return 'global', frame.f_globals[name]
|
||||
if '__builtins__' in frame.f_globals:
|
||||
builtins = frame.f_globals['__builtins__']
|
||||
if isinstance(builtins, dict):
|
||||
if name in builtins:
|
||||
return 'builtin', builtins[name]
|
||||
else:
|
||||
if hasattr(builtins, name):
|
||||
return 'builtin', getattr(builtins, name)
|
||||
return None, __UNDEF__
|
||||
|
||||
|
||||
def scanvars(reader, frame, locals):
|
||||
"""Scan one logical line of Python and look up values of variables used."""
|
||||
vars, lasttoken, parent, prefix, value = [], None, None, '', __UNDEF__
|
||||
for ttype, token, start, end, line in tokenize.generate_tokens(reader):
|
||||
if ttype == tokenize.NEWLINE:
|
||||
break
|
||||
if ttype == tokenize.NAME and token not in keyword.kwlist:
|
||||
if lasttoken == '.':
|
||||
if parent is not __UNDEF__:
|
||||
value = getattr(parent, token, __UNDEF__)
|
||||
vars.append((prefix + token, prefix, value))
|
||||
else:
|
||||
where, value = lookup(token, frame, locals)
|
||||
vars.append((token, where, value))
|
||||
elif token == '.':
|
||||
prefix += lasttoken + '.'
|
||||
parent = value
|
||||
else:
|
||||
parent, prefix = None, ''
|
||||
lasttoken = token
|
||||
return vars
|
||||
|
||||
|
||||
def text(einfo, context=5):
|
||||
"""Return a plain text document describing a given traceback."""
|
||||
etype, evalue, etb = einfo
|
||||
if isinstance(etype, type):
|
||||
etype = etype.__name__
|
||||
pyver = 'Python ' + sys.version.split()[0] + ': ' + sys.executable
|
||||
date = time.ctime(time.time())
|
||||
head = '%s\n%s\n%s\n' % (str(etype), pyver, date) + '''
|
||||
A problem occurred in a Python script. Here is the sequence of
|
||||
function calls leading up to the error, in the order they occurred.
|
||||
'''
|
||||
|
||||
frames = []
|
||||
records = inspect.getinnerframes(etb, context)
|
||||
for frame, file, lnum, func, lines, index in records:
|
||||
file = file and os.path.abspath(file) or '?'
|
||||
args, varargs, varkw, locals = inspect.getargvalues(frame)
|
||||
call = ''
|
||||
if func != '?':
|
||||
call = 'in ' + func + \
|
||||
inspect.formatargvalues(args, varargs, varkw, locals,
|
||||
formatvalue=lambda value: '=' + pydoc.text.repr(value))
|
||||
|
||||
highlight = {}
|
||||
|
||||
def reader(lnum=[lnum]):
|
||||
highlight[lnum[0]] = 1
|
||||
try:
|
||||
return linecache.getline(file, lnum[0])
|
||||
finally:
|
||||
lnum[0] += 1
|
||||
vars = scanvars(reader, frame, locals)
|
||||
|
||||
rows = [' %s %s' % (file, call)]
|
||||
if index is not None:
|
||||
i = lnum - index
|
||||
for line in lines:
|
||||
num = '%5d ' % i
|
||||
rows.append(num + line.rstrip())
|
||||
i += 1
|
||||
|
||||
done, dump = {}, []
|
||||
for name, where, value in vars:
|
||||
if name in done:
|
||||
continue
|
||||
done[name] = 1
|
||||
if value is not __UNDEF__:
|
||||
if where == 'global':
|
||||
name = 'global ' + name
|
||||
elif where != 'local':
|
||||
name = where + name.split('.')[-1]
|
||||
dump.append('%s = %s' % (name, pydoc.text.repr(value)))
|
||||
else:
|
||||
dump.append(name + ' undefined')
|
||||
|
||||
rows.append('\n'.join(dump))
|
||||
frames.append('\n%s\n' % '\n'.join(rows))
|
||||
|
||||
exception = ['%s: %s' % (str(etype), str(evalue))]
|
||||
for name in dir(evalue):
|
||||
value = pydoc.text.repr(getattr(evalue, name))
|
||||
exception.append('\n%s%s = %s' % (' ' * 4, name, value))
|
||||
|
||||
return head + ''.join(frames) + ''.join(exception) + '''
|
||||
|
||||
The above is a description of an error in a Python program. Here is
|
||||
the original traceback:
|
||||
|
||||
%s
|
||||
''' % ''.join(traceback.format_exception(etype, evalue, etb))
|
||||
|
||||
|
||||
class Hook:
|
||||
"""A hook to replace sys.excepthook"""
|
||||
|
||||
def __init__(self, logdir=None, context=5, file=None):
|
||||
self.logdir = logdir # log tracebacks to files if not None
|
||||
self.context = context # number of source code lines per frame
|
||||
self.file = file or sys.stdout # place to send the output
|
||||
|
||||
def __call__(self, etype, evalue, etb):
|
||||
self.handle((etype, evalue, etb))
|
||||
|
||||
def handle(self, info=None):
|
||||
info = info or sys.exc_info()
|
||||
|
||||
formatter = text
|
||||
|
||||
try:
|
||||
doc = formatter(info, self.context)
|
||||
except: # just in case something goes wrong
|
||||
doc = ''.join(traceback.format_exception(*info))
|
||||
|
||||
self.file.write(doc + '\n')
|
||||
|
||||
if self.logdir is not None:
|
||||
suffix = '.txt'
|
||||
(fd, path) = tempfile.mkstemp(suffix=suffix, dir=self.logdir)
|
||||
|
||||
try:
|
||||
with os.fdopen(fd, 'w') as file:
|
||||
file.write(doc)
|
||||
msg = '%s contains the description of this error.' % path
|
||||
except:
|
||||
msg = 'Tried to save traceback to %s, but failed.' % path
|
||||
|
||||
self.file.write(msg + '\n')
|
||||
|
||||
try:
|
||||
self.file.flush()
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
handler = Hook().handle
|
||||
|
||||
|
||||
def enable(logdir=None, context=5):
|
||||
"""Install an exception handler that sends verbose tracebacks to STDOUT."""
|
||||
sys.excepthook = Hook(logdir=logdir, context=context)
|
||||
@@ -66,7 +66,8 @@ def compatibility(mod_name, compatible):
|
||||
if not platform_found:
|
||||
mod = mod_name.split('.')[-1]
|
||||
compat_list = ', '.join(compatible)
|
||||
warning_message(f'{mod} parser not compatible with your OS ({sys.platform}).\n Compatible platforms: {compat_list}')
|
||||
warning_message(f'{mod} parser not compatible with your OS ({sys.platform}).\n'
|
||||
f' Compatible platforms: {compat_list}')
|
||||
|
||||
|
||||
def has_data(data):
|
||||
|
||||
273
man/jc.1
Normal file
273
man/jc.1
Normal file
@@ -0,0 +1,273 @@
|
||||
.TH jc 1 2020-07-12 1.13.0 "JSON CLI output utility"
|
||||
.SH NAME
|
||||
jc \- JSONifies the output of many CLI tools and file-types
|
||||
.SH SYNOPSIS
|
||||
COMMAND | jc PARSER [OPTIONS]
|
||||
|
||||
or magic syntax:
|
||||
|
||||
jc [OPTIONS] COMMAND
|
||||
.SH DESCRIPTION
|
||||
jc JSONifies the output of many CLI tools and file-types for easier parsing in scripts. jc accepts piped input from STDIN and outputs a JSON representation of the previous command's output to STDOUT. Alternatively, the "magic" syntax can be used by prepending jc to the command to be converted. Options can be passed to jc immediately before the command is given. (Note: command aliases are not supported).
|
||||
|
||||
.SH OPTIONS
|
||||
.B
|
||||
Parsers:
|
||||
.RS
|
||||
.TP
|
||||
.B
|
||||
\fB--airport\fP
|
||||
airport \fB-I\fP command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--airport-s\fP
|
||||
airport \fB-s\fP command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--arp\fP
|
||||
arp command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--blkid\fP
|
||||
blkid command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--crontab\fP
|
||||
crontab command and file parser
|
||||
.TP
|
||||
.B
|
||||
\fB--crontab-u\fP
|
||||
crontab file parser with user support
|
||||
.TP
|
||||
.B
|
||||
\fB--csv\fP
|
||||
CSV file parser
|
||||
.TP
|
||||
.B
|
||||
\fB--df\fP
|
||||
df command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--dig\fP
|
||||
dig command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--dmidecode\fP
|
||||
dmidecode command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--du\fP
|
||||
du command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--env\fP
|
||||
env command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--file\fP
|
||||
file command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--free\fP
|
||||
free command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--fstab\fP
|
||||
fstab file parser
|
||||
.TP
|
||||
.B
|
||||
\fB--group\fP
|
||||
/etc/group file parser
|
||||
.TP
|
||||
.B
|
||||
\fB--gshadow\fP
|
||||
/etc/gshadow file parser
|
||||
.TP
|
||||
.B
|
||||
\fB--history\fP
|
||||
history command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--hosts\fP
|
||||
/etc/hosts file parser
|
||||
.TP
|
||||
.B
|
||||
\fB--id\fP
|
||||
id command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--ifconfig\fP
|
||||
ifconfig command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--ini\fP
|
||||
INI file parser. Also parses files/output containing simple key/value pairs
|
||||
.TP
|
||||
.B
|
||||
\fB--iptables\fP
|
||||
iptables command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--jobs\fP
|
||||
jobs command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--last\fP
|
||||
last and lastb command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--ls\fP
|
||||
ls command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--lsblk\fP
|
||||
lsblk command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--lsmod\fP
|
||||
lsmod command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--lsof\fP
|
||||
lsof command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--mount\fP
|
||||
mount command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--netstat\fP
|
||||
netstat command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--ntpq\fP
|
||||
ntpq \fB-p\fP command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--passwd\fP
|
||||
/etc/passwd file parser
|
||||
.TP
|
||||
.B
|
||||
\fB--ping\fP
|
||||
ping command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--pip-list\fP
|
||||
pip list command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--pip-show\fP
|
||||
pip show command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--ps\fP
|
||||
ps command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--route\fP
|
||||
route command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--shadow\fP
|
||||
/etc/shadow file parser
|
||||
.TP
|
||||
.B
|
||||
\fB--ss\fP
|
||||
ss command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--stat\fP
|
||||
stat command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--sysctl\fP
|
||||
sysctl command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--systemctl\fP
|
||||
systemctl command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--systemctl-lj\fP
|
||||
systemctl list-jobs command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--systemctl-ls\fP
|
||||
systemctl list-sockets command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--systemctl-luf\fP
|
||||
systemctl list-unit-files command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--timedatectl\fP
|
||||
timedatectl status command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--tracepath\fP
|
||||
tracepath command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--traceroute\fP
|
||||
traceroute command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--uname\fP
|
||||
uname \fB-a\fP command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--uptime\fP
|
||||
uptime command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--w\fP
|
||||
w command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--who\fP
|
||||
who command parser
|
||||
.TP
|
||||
.B
|
||||
\fB--xml\fP
|
||||
XML file parser
|
||||
.TP
|
||||
.B
|
||||
\fB--yaml\fP
|
||||
YAML file parser
|
||||
.RE
|
||||
.PP
|
||||
Options:
|
||||
.RS
|
||||
.TP
|
||||
.B
|
||||
\fB-a\fP
|
||||
about jc
|
||||
.TP
|
||||
.B
|
||||
\fB-d\fP
|
||||
debug - show traceback (\fB-dd\fP for verbose traceback)
|
||||
.TP
|
||||
.B
|
||||
\fB-m\fP
|
||||
monochrome output
|
||||
.TP
|
||||
.B
|
||||
\fB-p\fP
|
||||
pretty print output
|
||||
.TP
|
||||
.B
|
||||
\fB-q\fP
|
||||
quiet - suppress warnings
|
||||
.TP
|
||||
.B
|
||||
\fB-r\fP
|
||||
raw JSON output
|
||||
.RE
|
||||
.PP
|
||||
Example:
|
||||
ls \fB-al\fP | jc \fB--ls\fP \fB-p\fP
|
||||
.RS
|
||||
.PP
|
||||
or using the magic syntax:
|
||||
.PP
|
||||
jc \fB-p\fP ls \fB-al\fP
|
||||
@@ -1,3 +1,3 @@
|
||||
ruamel.yaml>=0.15.0
|
||||
xmltodict>=0.12.0
|
||||
Pygments>=2.4.2
|
||||
Pygments>=2.3.0
|
||||
|
||||
4
setup.py
4
setup.py
@@ -5,14 +5,14 @@ with open('README.md', 'r') as f:
|
||||
|
||||
setuptools.setup(
|
||||
name='jc',
|
||||
version='1.11.8',
|
||||
version='1.13.1',
|
||||
author='Kelly Brazil',
|
||||
author_email='kellyjonbrazil@gmail.com',
|
||||
description='Converts the output of popular command-line tools and file-types to JSON.',
|
||||
install_requires=[
|
||||
'ruamel.yaml>=0.15.0',
|
||||
'xmltodict>=0.12.0',
|
||||
'Pygments>=2.4.2'
|
||||
'Pygments>=2.3.0'
|
||||
],
|
||||
license='MIT',
|
||||
long_description=long_description,
|
||||
|
||||
1
tests/fixtures/centos-7.7/ping-hostname-O-D-p-s.json
vendored
Normal file
1
tests/fixtures/centos-7.7/ping-hostname-O-D-p-s.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "151.101.189.67", "data_bytes": 1400, "pattern": "0xabcd", "destination": "turner-tls.map.fastly.net", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19146.0, "round_trip_ms_min": 28.96, "round_trip_ms_avg": 34.468, "round_trip_ms_max": 38.892, "round_trip_ms_stddev": 3.497, "responses": [{"type": "reply", "timestamp": 1594978465.914536, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 1, "ttl": 59, "time_ms": 31.4, "duplicate": false}, {"type": "reply", "timestamp": 1594978465.993009, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 2, "ttl": 59, "time_ms": 30.3, "duplicate": false}, {"type": "reply", "timestamp": 1594978467.010196, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 3, "ttl": 59, "time_ms": 32.0, "duplicate": false}, {"type": "reply", "timestamp": 1594978468.033743, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 4, "ttl": 59, "time_ms": 38.8, "duplicate": false}, {"type": "reply", "timestamp": 1594978469.051227, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 5, "ttl": 59, "time_ms": 38.0, "duplicate": false}, {"type": "reply", "timestamp": 1594978470.048764, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 6, "ttl": 59, "time_ms": 29.9, "duplicate": false}, {"type": "reply", "timestamp": 1594978471.051945, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 7, "ttl": 59, "time_ms": 28.9, "duplicate": false}, {"type": "reply", "timestamp": 1594978472.064206, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 8, "ttl": 59, "time_ms": 37.4, "duplicate": false}, {"type": "reply", "timestamp": 1594978473.062587, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 9, "ttl": 59, "time_ms": 31.5, "duplicate": false}, {"type": "reply", "timestamp": 1594978474.074343, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 10, "ttl": 59, "time_ms": 38.3, "duplicate": false}, {"type": "reply", "timestamp": 1594978475.079703, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 11, "ttl": 59, "time_ms": 38.8, "duplicate": false}, {"type": "reply", "timestamp": 1594978476.076383, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 12, "ttl": 59, "time_ms": 30.7, "duplicate": false}, {"type": "reply", "timestamp": 1594978477.084119, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 13, "ttl": 59, "time_ms": 30.7, "duplicate": false}, {"type": "reply", "timestamp": 1594978478.092207, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 14, "ttl": 59, "time_ms": 31.6, "duplicate": false}, {"type": "reply", "timestamp": 1594978479.104358, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 15, "ttl": 59, "time_ms": 37.7, "duplicate": false}, {"type": "reply", "timestamp": 1594978480.106907, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 16, "ttl": 59, "time_ms": 37.5, "duplicate": false}, {"type": "reply", "timestamp": 1594978481.11558, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 17, "ttl": 59, "time_ms": 37.3, "duplicate": false}, {"type": "reply", "timestamp": 1594978482.119872, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 18, "ttl": 59, "time_ms": 33.8, "duplicate": false}, {"type": "reply", "timestamp": 1594978483.131901, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 19, "ttl": 59, "time_ms": 37.0, "duplicate": false}, {"type": "reply", "timestamp": 1594978484.141117, "bytes": 1408, "response_ip": "151.101.189.67", "icmp_seq": 20, "ttl": 59, "time_ms": 36.9, "duplicate": false}]}
|
||||
26
tests/fixtures/centos-7.7/ping-hostname-O-D-p-s.out
vendored
Normal file
26
tests/fixtures/centos-7.7/ping-hostname-O-D-p-s.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING turner-tls.map.fastly.net (151.101.189.67) 1400(1428) bytes of data.
|
||||
[1594978465.914536] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=1 ttl=59 time=31.4 ms
|
||||
[1594978465.993009] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=2 ttl=59 time=30.3 ms
|
||||
[1594978467.010196] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=3 ttl=59 time=32.0 ms
|
||||
[1594978468.033743] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=4 ttl=59 time=38.8 ms
|
||||
[1594978469.051227] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=5 ttl=59 time=38.0 ms
|
||||
[1594978470.048764] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=6 ttl=59 time=29.9 ms
|
||||
[1594978471.051945] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=7 ttl=59 time=28.9 ms
|
||||
[1594978472.064206] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=8 ttl=59 time=37.4 ms
|
||||
[1594978473.062587] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=9 ttl=59 time=31.5 ms
|
||||
[1594978474.074343] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=10 ttl=59 time=38.3 ms
|
||||
[1594978475.079703] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=11 ttl=59 time=38.8 ms
|
||||
[1594978476.076383] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=12 ttl=59 time=30.7 ms
|
||||
[1594978477.084119] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=13 ttl=59 time=30.7 ms
|
||||
[1594978478.092207] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=14 ttl=59 time=31.6 ms
|
||||
[1594978479.104358] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=15 ttl=59 time=37.7 ms
|
||||
[1594978480.106907] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=16 ttl=59 time=37.5 ms
|
||||
[1594978481.115580] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=17 ttl=59 time=37.3 ms
|
||||
[1594978482.119872] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=18 ttl=59 time=33.8 ms
|
||||
[1594978483.131901] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=19 ttl=59 time=37.0 ms
|
||||
[1594978484.141117] 1408 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=20 ttl=59 time=36.9 ms
|
||||
|
||||
--- turner-tls.map.fastly.net ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19146ms
|
||||
rtt min/avg/max/mdev = 28.960/34.468/38.892/3.497 ms
|
||||
1
tests/fixtures/centos-7.7/ping-hostname-O-p.json
vendored
Normal file
1
tests/fixtures/centos-7.7/ping-hostname-O-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "151.101.129.67", "data_bytes": 56, "pattern": "0xabcd", "destination": "turner-tls.map.fastly.net", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19233.0, "round_trip_ms_min": 23.359, "round_trip_ms_avg": 28.495, "round_trip_ms_max": 33.979, "round_trip_ms_stddev": 4.081, "responses": [{"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 1, "ttl": 59, "time_ms": 24.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 2, "ttl": 59, "time_ms": 23.3, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 3, "ttl": 59, "time_ms": 32.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 4, "ttl": 59, "time_ms": 32.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 5, "ttl": 59, "time_ms": 26.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 6, "ttl": 59, "time_ms": 24.1, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 7, "ttl": 59, "time_ms": 24.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 8, "ttl": 59, "time_ms": 33.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 9, "ttl": 59, "time_ms": 32.7, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 10, "ttl": 59, "time_ms": 31.2, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 11, "ttl": 59, "time_ms": 25.7, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 12, "ttl": 59, "time_ms": 33.8, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 13, "ttl": 59, "time_ms": 23.7, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 14, "ttl": 59, "time_ms": 23.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 15, "ttl": 59, "time_ms": 33.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 16, "ttl": 59, "time_ms": 24.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 17, "ttl": 59, "time_ms": 30.1, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 18, "ttl": 59, "time_ms": 24.1, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 19, "ttl": 59, "time_ms": 32.2, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 20, "ttl": 59, "time_ms": 31.0, "duplicate": false}]}
|
||||
26
tests/fixtures/centos-7.7/ping-hostname-O-p.out
vendored
Normal file
26
tests/fixtures/centos-7.7/ping-hostname-O-p.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING turner-tls.map.fastly.net (151.101.129.67) 56(84) bytes of data.
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=1 ttl=59 time=24.4 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=2 ttl=59 time=23.3 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=3 ttl=59 time=32.6 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=4 ttl=59 time=32.6 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=5 ttl=59 time=26.9 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=6 ttl=59 time=24.1 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=7 ttl=59 time=24.6 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=8 ttl=59 time=33.9 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=9 ttl=59 time=32.7 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=10 ttl=59 time=31.2 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=11 ttl=59 time=25.7 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=12 ttl=59 time=33.8 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=13 ttl=59 time=23.7 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=14 ttl=59 time=23.9 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=15 ttl=59 time=33.6 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=16 ttl=59 time=24.5 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=17 ttl=59 time=30.1 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=18 ttl=59 time=24.1 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=19 ttl=59 time=32.2 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=20 ttl=59 time=31.0 ms
|
||||
|
||||
--- turner-tls.map.fastly.net ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19233ms
|
||||
rtt min/avg/max/mdev = 23.359/28.495/33.979/4.081 ms
|
||||
1
tests/fixtures/centos-7.7/ping-hostname-O.json
vendored
Normal file
1
tests/fixtures/centos-7.7/ping-hostname-O.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "151.101.189.67", "data_bytes": 56, "pattern": null, "destination": "turner-tls.map.fastly.net", "packets_transmitted": 20, "packets_received": 19, "packet_loss_percent": 5.0, "duplicates": 0, "time_ms": 19125.0, "round_trip_ms_min": 27.656, "round_trip_ms_avg": 33.717, "round_trip_ms_max": 36.758, "round_trip_ms_stddev": 2.814, "responses": [{"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 1, "ttl": 59, "time_ms": 29.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 2, "ttl": 59, "time_ms": 30.1, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 3, "ttl": 59, "time_ms": 35.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 4, "ttl": 59, "time_ms": 35.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 5, "ttl": 59, "time_ms": 34.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 6, "ttl": 59, "time_ms": 29.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 7, "ttl": 59, "time_ms": 27.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 8, "ttl": 59, "time_ms": 28.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 9, "ttl": 59, "time_ms": 35.2, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 10, "ttl": 59, "time_ms": 34.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 11, "ttl": 59, "time_ms": 35.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 12, "ttl": 59, "time_ms": 35.8, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 13, "ttl": 59, "time_ms": 34.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 14, "ttl": 59, "time_ms": 35.5, "duplicate": false}, {"type": "timeout", "timestamp": null, "icmp_seq": 15}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 16, "ttl": 59, "time_ms": 36.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 17, "ttl": 59, "time_ms": 34.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 18, "ttl": 59, "time_ms": 34.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 19, "ttl": 59, "time_ms": 36.7, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.189.67", "icmp_seq": 20, "ttl": 59, "time_ms": 34.3, "duplicate": false}]}
|
||||
25
tests/fixtures/centos-7.7/ping-hostname-O.out
vendored
Normal file
25
tests/fixtures/centos-7.7/ping-hostname-O.out
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
PING turner-tls.map.fastly.net (151.101.189.67) 56(84) bytes of data.
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=1 ttl=59 time=29.6 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=2 ttl=59 time=30.1 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=3 ttl=59 time=35.5 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=4 ttl=59 time=35.5 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=5 ttl=59 time=34.9 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=6 ttl=59 time=29.9 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=7 ttl=59 time=27.6 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=8 ttl=59 time=28.6 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=9 ttl=59 time=35.2 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=10 ttl=59 time=34.4 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=11 ttl=59 time=35.9 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=12 ttl=59 time=35.8 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=13 ttl=59 time=34.4 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=14 ttl=59 time=35.5 ms
|
||||
no answer yet for icmp_seq=15
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=16 ttl=59 time=36.6 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=17 ttl=59 time=34.6 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=18 ttl=59 time=34.6 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=19 ttl=59 time=36.7 ms
|
||||
64 bytes from 151.101.189.67 (151.101.189.67): icmp_seq=20 ttl=59 time=34.3 ms
|
||||
|
||||
--- turner-tls.map.fastly.net ping statistics ---
|
||||
20 packets transmitted, 19 received, 5% packet loss, time 19125ms
|
||||
rtt min/avg/max/mdev = 27.656/33.717/36.758/2.814 ms
|
||||
1
tests/fixtures/centos-7.7/ping-ip-O-D.json
vendored
Normal file
1
tests/fixtures/centos-7.7/ping-ip-O-D.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "127.0.0.1", "data_bytes": 56, "pattern": null, "destination": "127.0.0.1", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19081.0, "round_trip_ms_min": 0.041, "round_trip_ms_avg": 0.048, "round_trip_ms_max": 0.081, "round_trip_ms_stddev": 0.009, "responses": [{"type": "reply", "timestamp": 1595037214.261953, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.041, "duplicate": false}, {"type": "reply", "timestamp": 1595037215.264798, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.048, "duplicate": false}, {"type": "reply", "timestamp": 1595037216.272296, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 3, "ttl": 64, "time_ms": 0.047, "duplicate": false}, {"type": "reply", "timestamp": 1595037217.275851, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 4, "ttl": 64, "time_ms": 0.062, "duplicate": false}, {"type": "reply", "timestamp": 1595037218.284242, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 5, "ttl": 64, "time_ms": 0.045, "duplicate": false}, {"type": "reply", "timestamp": 1595037219.283712, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 6, "ttl": 64, "time_ms": 0.043, "duplicate": false}, {"type": "reply", "timestamp": 1595037220.290949, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 7, "ttl": 64, "time_ms": 0.046, "duplicate": false}, {"type": "reply", "timestamp": 1595037221.295962, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 8, "ttl": 64, "time_ms": 0.044, "duplicate": false}, {"type": "reply", "timestamp": 1595037222.30702, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 9, "ttl": 64, "time_ms": 0.048, "duplicate": false}, {"type": "reply", "timestamp": 1595037223.313919, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 10, "ttl": 64, "time_ms": 0.081, "duplicate": false}, {"type": "reply", "timestamp": 1595037224.313679, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 11, "ttl": 64, "time_ms": 0.043, "duplicate": false}, {"type": "reply", "timestamp": 1595037225.320748, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 12, "ttl": 64, "time_ms": 0.044, "duplicate": false}, {"type": "reply", "timestamp": 1595037226.324322, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 13, "ttl": 64, "time_ms": 0.045, "duplicate": false}, {"type": "reply", "timestamp": 1595037227.325835, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 14, "ttl": 64, "time_ms": 0.046, "duplicate": false}, {"type": "reply", "timestamp": 1595037228.327028, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 15, "ttl": 64, "time_ms": 0.046, "duplicate": false}, {"type": "reply", "timestamp": 1595037229.329891, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 16, "ttl": 64, "time_ms": 0.052, "duplicate": false}, {"type": "reply", "timestamp": 1595037230.333891, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 17, "ttl": 64, "time_ms": 0.044, "duplicate": false}, {"type": "reply", "timestamp": 1595037231.338137, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 18, "ttl": 64, "time_ms": 0.046, "duplicate": false}, {"type": "reply", "timestamp": 1595037232.340475, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 19, "ttl": 64, "time_ms": 0.048, "duplicate": false}, {"type": "reply", "timestamp": 1595037233.343058, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 20, "ttl": 64, "time_ms": 0.045, "duplicate": false}]}
|
||||
25
tests/fixtures/centos-7.7/ping-ip-O-D.out
vendored
Normal file
25
tests/fixtures/centos-7.7/ping-ip-O-D.out
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
|
||||
[1595037214.261953] 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.041 ms
|
||||
[1595037215.264798] 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.048 ms
|
||||
[1595037216.272296] 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.047 ms
|
||||
[1595037217.275851] 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.062 ms
|
||||
[1595037218.284242] 64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.045 ms
|
||||
[1595037219.283712] 64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.043 ms
|
||||
[1595037220.290949] 64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.046 ms
|
||||
[1595037221.295962] 64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.044 ms
|
||||
[1595037222.307020] 64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.048 ms
|
||||
[1595037223.313919] 64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.081 ms
|
||||
[1595037224.313679] 64 bytes from 127.0.0.1: icmp_seq=11 ttl=64 time=0.043 ms
|
||||
[1595037225.320748] 64 bytes from 127.0.0.1: icmp_seq=12 ttl=64 time=0.044 ms
|
||||
[1595037226.324322] 64 bytes from 127.0.0.1: icmp_seq=13 ttl=64 time=0.045 ms
|
||||
[1595037227.325835] 64 bytes from 127.0.0.1: icmp_seq=14 ttl=64 time=0.046 ms
|
||||
[1595037228.327028] 64 bytes from 127.0.0.1: icmp_seq=15 ttl=64 time=0.046 ms
|
||||
[1595037229.329891] 64 bytes from 127.0.0.1: icmp_seq=16 ttl=64 time=0.052 ms
|
||||
[1595037230.333891] 64 bytes from 127.0.0.1: icmp_seq=17 ttl=64 time=0.044 ms
|
||||
[1595037231.338137] 64 bytes from 127.0.0.1: icmp_seq=18 ttl=64 time=0.046 ms
|
||||
[1595037232.340475] 64 bytes from 127.0.0.1: icmp_seq=19 ttl=64 time=0.048 ms
|
||||
[1595037233.343058] 64 bytes from 127.0.0.1: icmp_seq=20 ttl=64 time=0.045 ms
|
||||
|
||||
--- 127.0.0.1 ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19081ms
|
||||
rtt min/avg/max/mdev = 0.041/0.048/0.081/0.009 ms
|
||||
1
tests/fixtures/centos-7.7/ping-ip-O.json
vendored
Normal file
1
tests/fixtures/centos-7.7/ping-ip-O.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "127.0.0.1", "data_bytes": 56, "pattern": null, "destination": "127.0.0.1", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19070.0, "round_trip_ms_min": 0.038, "round_trip_ms_avg": 0.047, "round_trip_ms_max": 0.08, "round_trip_ms_stddev": 0.011, "responses": [{"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.038, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.043, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 3, "ttl": 64, "time_ms": 0.044, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 4, "ttl": 64, "time_ms": 0.052, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 5, "ttl": 64, "time_ms": 0.08, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 6, "ttl": 64, "time_ms": 0.043, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 7, "ttl": 64, "time_ms": 0.047, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 8, "ttl": 64, "time_ms": 0.04, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 9, "ttl": 64, "time_ms": 0.052, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 10, "ttl": 64, "time_ms": 0.044, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 11, "ttl": 64, "time_ms": 0.043, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 12, "ttl": 64, "time_ms": 0.043, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 13, "ttl": 64, "time_ms": 0.05, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 14, "ttl": 64, "time_ms": 0.045, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 15, "ttl": 64, "time_ms": 0.062, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 16, "ttl": 64, "time_ms": 0.046, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 17, "ttl": 64, "time_ms": 0.046, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 18, "ttl": 64, "time_ms": 0.045, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 19, "ttl": 64, "time_ms": 0.044, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 20, "ttl": 64, "time_ms": 0.044, "duplicate": false}]}
|
||||
25
tests/fixtures/centos-7.7/ping-ip-O.out
vendored
Normal file
25
tests/fixtures/centos-7.7/ping-ip-O.out
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
|
||||
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.038 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.043 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.044 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.052 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.080 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.043 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.047 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.040 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.052 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.044 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=11 ttl=64 time=0.043 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=12 ttl=64 time=0.043 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=13 ttl=64 time=0.050 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=14 ttl=64 time=0.045 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=15 ttl=64 time=0.062 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=16 ttl=64 time=0.046 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=17 ttl=64 time=0.046 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=18 ttl=64 time=0.045 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=19 ttl=64 time=0.044 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=20 ttl=64 time=0.044 ms
|
||||
|
||||
--- 127.0.0.1 ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19070ms
|
||||
rtt min/avg/max/mdev = 0.038/0.047/0.080/0.011 ms
|
||||
1
tests/fixtures/centos-7.7/ping-ip-dup.json
vendored
Normal file
1
tests/fixtures/centos-7.7/ping-ip-dup.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "192.168.1.255", "data_bytes": 56, "pattern": null, "destination": "192.168.1.255", "packets_transmitted": 2, "packets_received": 2, "packet_loss_percent": 0.0, "duplicates": 19, "time_ms": 1013.0, "round_trip_ms_min": 0.586, "round_trip_ms_avg": 504.26, "round_trip_ms_max": 1276.448, "round_trip_ms_stddev": 417.208, "responses": [{"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.221", "icmp_seq": 1, "ttl": 64, "time_ms": 0.586, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.88", "icmp_seq": 1, "ttl": 64, "time_ms": 382.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.78", "icmp_seq": 1, "ttl": 128, "time_ms": 382.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.217", "icmp_seq": 1, "ttl": 255, "time_ms": 387.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.186", "icmp_seq": 1, "ttl": 64, "time_ms": 389.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.89", "icmp_seq": 1, "ttl": 64, "time_ms": 389.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.75", "icmp_seq": 1, "ttl": 64, "time_ms": 584.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.221", "icmp_seq": 2, "ttl": 64, "time_ms": 0.861, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.78", "icmp_seq": 2, "ttl": 128, "time_ms": 4.17, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.88", "icmp_seq": 2, "ttl": 64, "time_ms": 4.19, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.89", "icmp_seq": 2, "ttl": 64, "time_ms": 12.7, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.81", "icmp_seq": 1, "ttl": 64, "time_ms": 1029.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.72", "icmp_seq": 1, "ttl": 64, "time_ms": 1276.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.251", "icmp_seq": 1, "ttl": 64, "time_ms": 1276.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.251", "icmp_seq": 2, "ttl": 64, "time_ms": 262.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.72", "icmp_seq": 2, "ttl": 64, "time_ms": 263.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.246", "icmp_seq": 2, "ttl": 255, "time_ms": 263.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.217", "icmp_seq": 2, "ttl": 255, "time_ms": 919.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.186", "icmp_seq": 2, "ttl": 64, "time_ms": 919.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.75", "icmp_seq": 2, "ttl": 64, "time_ms": 919.0, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "192.168.1.81", "icmp_seq": 2, "ttl": 64, "time_ms": 919.0, "duplicate": true}]}
|
||||
27
tests/fixtures/centos-7.7/ping-ip-dup.out
vendored
Normal file
27
tests/fixtures/centos-7.7/ping-ip-dup.out
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
WARNING: pinging broadcast address
|
||||
PING 192.168.1.255 (192.168.1.255) 56(84) bytes of data.
|
||||
64 bytes from 192.168.1.221: icmp_seq=1 ttl=64 time=0.586 ms
|
||||
64 bytes from 192.168.1.88: icmp_seq=1 ttl=64 time=382 ms (DUP!)
|
||||
64 bytes from 192.168.1.78: icmp_seq=1 ttl=128 time=382 ms (DUP!)
|
||||
64 bytes from 192.168.1.217: icmp_seq=1 ttl=255 time=387 ms (DUP!)
|
||||
64 bytes from 192.168.1.186: icmp_seq=1 ttl=64 time=389 ms (DUP!)
|
||||
64 bytes from 192.168.1.89: icmp_seq=1 ttl=64 time=389 ms (DUP!)
|
||||
64 bytes from 192.168.1.75: icmp_seq=1 ttl=64 time=584 ms (DUP!)
|
||||
64 bytes from 192.168.1.221: icmp_seq=2 ttl=64 time=0.861 ms
|
||||
64 bytes from 192.168.1.78: icmp_seq=2 ttl=128 time=4.17 ms (DUP!)
|
||||
64 bytes from 192.168.1.88: icmp_seq=2 ttl=64 time=4.19 ms (DUP!)
|
||||
64 bytes from 192.168.1.89: icmp_seq=2 ttl=64 time=12.7 ms (DUP!)
|
||||
64 bytes from 192.168.1.81: icmp_seq=1 ttl=64 time=1029 ms (DUP!)
|
||||
64 bytes from 192.168.1.72: icmp_seq=1 ttl=64 time=1276 ms (DUP!)
|
||||
64 bytes from 192.168.1.251: icmp_seq=1 ttl=64 time=1276 ms (DUP!)
|
||||
64 bytes from 192.168.1.251: icmp_seq=2 ttl=64 time=262 ms (DUP!)
|
||||
64 bytes from 192.168.1.72: icmp_seq=2 ttl=64 time=263 ms (DUP!)
|
||||
64 bytes from 192.168.1.246: icmp_seq=2 ttl=255 time=263 ms (DUP!)
|
||||
64 bytes from 192.168.1.217: icmp_seq=2 ttl=255 time=919 ms (DUP!)
|
||||
64 bytes from 192.168.1.186: icmp_seq=2 ttl=64 time=919 ms (DUP!)
|
||||
64 bytes from 192.168.1.75: icmp_seq=2 ttl=64 time=919 ms (DUP!)
|
||||
64 bytes from 192.168.1.81: icmp_seq=2 ttl=64 time=919 ms (DUP!)
|
||||
|
||||
--- 192.168.1.255 ping statistics ---
|
||||
2 packets transmitted, 2 received, +19 duplicates, 0% packet loss, time 1013ms
|
||||
rtt min/avg/max/mdev = 0.586/504.260/1276.448/417.208 ms, pipe 2
|
||||
1
tests/fixtures/centos-7.7/ping6-hostname-O-D-p-s.json
vendored
Normal file
1
tests/fixtures/centos-7.7/ping6-hostname-O-D-p-s.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "2a04:4e42:2d::323", "data_bytes": 1400, "pattern": "0xabcd", "destination": "www.cnn.com", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19077.0, "round_trip_ms_min": 31.845, "round_trip_ms_avg": 39.274, "round_trip_ms_max": 43.243, "round_trip_ms_stddev": 3.522, "responses": [{"type": "reply", "timestamp": 1594978345.609669, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 1, "ttl": 59, "time_ms": 32.4, "duplicate": false}, {"type": "reply", "timestamp": 1594978346.58542, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 2, "ttl": 59, "time_ms": 39.9, "duplicate": false}, {"type": "reply", "timestamp": 1594978347.594128, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 3, "ttl": 59, "time_ms": 42.3, "duplicate": false}, {"type": "reply", "timestamp": 1594978348.595221, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 4, "ttl": 59, "time_ms": 40.2, "duplicate": false}, {"type": "reply", "timestamp": 1594978349.600372, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 5, "ttl": 59, "time_ms": 43.2, "duplicate": false}, {"type": "reply", "timestamp": 1594978350.590676, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 6, "ttl": 59, "time_ms": 31.8, "duplicate": false}, {"type": "reply", "timestamp": 1594978351.601527, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 7, "ttl": 59, "time_ms": 41.8, "duplicate": false}, {"type": "reply", "timestamp": 1594978352.604195, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 8, "ttl": 59, "time_ms": 41.7, "duplicate": false}, {"type": "reply", "timestamp": 1594978353.607212, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 9, "ttl": 59, "time_ms": 42.0, "duplicate": false}, {"type": "reply", "timestamp": 1594978354.610771, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 10, "ttl": 59, "time_ms": 40.7, "duplicate": false}, {"type": "reply", "timestamp": 1594978355.613729, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 11, "ttl": 59, "time_ms": 40.4, "duplicate": false}, {"type": "reply", "timestamp": 1594978356.611887, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 12, "ttl": 59, "time_ms": 32.6, "duplicate": false}, {"type": "reply", "timestamp": 1594978357.62481, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 13, "ttl": 59, "time_ms": 40.1, "duplicate": false}, {"type": "reply", "timestamp": 1594978358.629185, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 14, "ttl": 59, "time_ms": 42.0, "duplicate": false}, {"type": "reply", "timestamp": 1594978359.634854, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 15, "ttl": 59, "time_ms": 41.2, "duplicate": false}, {"type": "reply", "timestamp": 1594978360.638344, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 16, "ttl": 59, "time_ms": 40.6, "duplicate": false}, {"type": "reply", "timestamp": 1594978361.640968, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 17, "ttl": 59, "time_ms": 40.7, "duplicate": false}, {"type": "reply", "timestamp": 1594978362.645739, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 18, "ttl": 59, "time_ms": 39.9, "duplicate": false}, {"type": "reply", "timestamp": 1594978363.6467, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 19, "ttl": 59, "time_ms": 37.5, "duplicate": false}, {"type": "reply", "timestamp": 1594978364.650853, "bytes": 1408, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 20, "ttl": 59, "time_ms": 33.6, "duplicate": false}]}
|
||||
26
tests/fixtures/centos-7.7/ping6-hostname-O-D-p-s.out
vendored
Normal file
26
tests/fixtures/centos-7.7/ping6-hostname-O-D-p-s.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING www.cnn.com(2a04:4e42:2d::323 (2a04:4e42:2d::323)) 1400 data bytes
|
||||
[1594978345.609669] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=1 ttl=59 time=32.4 ms
|
||||
[1594978346.585420] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=2 ttl=59 time=39.9 ms
|
||||
[1594978347.594128] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=3 ttl=59 time=42.3 ms
|
||||
[1594978348.595221] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=4 ttl=59 time=40.2 ms
|
||||
[1594978349.600372] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=5 ttl=59 time=43.2 ms
|
||||
[1594978350.590676] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=6 ttl=59 time=31.8 ms
|
||||
[1594978351.601527] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=7 ttl=59 time=41.8 ms
|
||||
[1594978352.604195] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=8 ttl=59 time=41.7 ms
|
||||
[1594978353.607212] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=9 ttl=59 time=42.0 ms
|
||||
[1594978354.610771] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=10 ttl=59 time=40.7 ms
|
||||
[1594978355.613729] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=11 ttl=59 time=40.4 ms
|
||||
[1594978356.611887] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=12 ttl=59 time=32.6 ms
|
||||
[1594978357.624810] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=13 ttl=59 time=40.1 ms
|
||||
[1594978358.629185] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=14 ttl=59 time=42.0 ms
|
||||
[1594978359.634854] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=15 ttl=59 time=41.2 ms
|
||||
[1594978360.638344] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=16 ttl=59 time=40.6 ms
|
||||
[1594978361.640968] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=17 ttl=59 time=40.7 ms
|
||||
[1594978362.645739] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=18 ttl=59 time=39.9 ms
|
||||
[1594978363.646700] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=19 ttl=59 time=37.5 ms
|
||||
[1594978364.650853] 1408 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=20 ttl=59 time=33.6 ms
|
||||
|
||||
--- www.cnn.com ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19077ms
|
||||
rtt min/avg/max/mdev = 31.845/39.274/43.243/3.522 ms
|
||||
1
tests/fixtures/centos-7.7/ping6-hostname-O-p.json
vendored
Normal file
1
tests/fixtures/centos-7.7/ping6-hostname-O-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "2a04:4e42:2d::323", "data_bytes": 56, "pattern": "0xabcd", "destination": "www.cnn.com", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19164.0, "round_trip_ms_min": 30.757, "round_trip_ms_avg": 37.455, "round_trip_ms_max": 42.652, "round_trip_ms_stddev": 3.338, "responses": [{"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 1, "ttl": 59, "time_ms": 30.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 2, "ttl": 59, "time_ms": 39.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 3, "ttl": 59, "time_ms": 32.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 4, "ttl": 59, "time_ms": 38.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 5, "ttl": 59, "time_ms": 38.8, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 6, "ttl": 59, "time_ms": 42.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 7, "ttl": 59, "time_ms": 30.7, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 8, "ttl": 59, "time_ms": 39.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 9, "ttl": 59, "time_ms": 39.3, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 10, "ttl": 59, "time_ms": 38.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 11, "ttl": 59, "time_ms": 38.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 12, "ttl": 59, "time_ms": 38.2, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 13, "ttl": 59, "time_ms": 39.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 14, "ttl": 59, "time_ms": 37.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 15, "ttl": 59, "time_ms": 33.7, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 16, "ttl": 59, "time_ms": 39.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 17, "ttl": 59, "time_ms": 38.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 18, "ttl": 59, "time_ms": 41.3, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 19, "ttl": 59, "time_ms": 32.2, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:2d::323", "icmp_seq": 20, "ttl": 59, "time_ms": 38.4, "duplicate": false}]}
|
||||
26
tests/fixtures/centos-7.7/ping6-hostname-O-p.out
vendored
Normal file
26
tests/fixtures/centos-7.7/ping6-hostname-O-p.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING www.cnn.com(2a04:4e42:2d::323 (2a04:4e42:2d::323)) 56 data bytes
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=1 ttl=59 time=30.9 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=2 ttl=59 time=39.0 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=3 ttl=59 time=32.6 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=4 ttl=59 time=38.4 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=5 ttl=59 time=38.8 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=6 ttl=59 time=42.6 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=7 ttl=59 time=30.7 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=8 ttl=59 time=39.4 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=9 ttl=59 time=39.3 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=10 ttl=59 time=38.9 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=11 ttl=59 time=38.6 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=12 ttl=59 time=38.2 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=13 ttl=59 time=39.6 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=14 ttl=59 time=37.4 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=15 ttl=59 time=33.7 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=16 ttl=59 time=39.4 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=17 ttl=59 time=38.9 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=18 ttl=59 time=41.3 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=19 ttl=59 time=32.2 ms
|
||||
64 bytes from 2a04:4e42:2d::323 (2a04:4e42:2d::323): icmp_seq=20 ttl=59 time=38.4 ms
|
||||
|
||||
--- www.cnn.com ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19164ms
|
||||
rtt min/avg/max/mdev = 30.757/37.455/42.652/3.338 ms
|
||||
1
tests/fixtures/centos-7.7/ping6-ip-O-D-p.json
vendored
Normal file
1
tests/fixtures/centos-7.7/ping6-ip-O-D-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "2a04:4e42:600::323", "data_bytes": 56, "pattern": "0xabcd", "destination": "2a04:4e42:600::323", "packets_transmitted": 20, "packets_received": 19, "packet_loss_percent": 5.0, "duplicates": 0, "time_ms": 19074.0, "round_trip_ms_min": 28.15, "round_trip_ms_avg": 33.534, "round_trip_ms_max": 39.843, "round_trip_ms_stddev": 3.489, "responses": [{"type": "reply", "timestamp": 1594976827.240914, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 1, "ttl": 59, "time_ms": 28.7, "duplicate": false}, {"type": "reply", "timestamp": 1594976828.25493, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 2, "ttl": 59, "time_ms": 37.2, "duplicate": false}, {"type": "reply", "timestamp": 1594976829.252877, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 3, "ttl": 59, "time_ms": 29.7, "duplicate": false}, {"type": "reply", "timestamp": 1594976830.262654, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 4, "ttl": 59, "time_ms": 37.7, "duplicate": false}, {"type": "reply", "timestamp": 1594976831.265626, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 5, "ttl": 59, "time_ms": 34.8, "duplicate": false}, {"type": "reply", "timestamp": 1594976832.269834, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 6, "ttl": 59, "time_ms": 35.6, "duplicate": false}, {"type": "reply", "timestamp": 1594976833.268059, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 7, "ttl": 59, "time_ms": 28.4, "duplicate": false}, {"type": "reply", "timestamp": 1594976834.274292, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 8, "ttl": 59, "time_ms": 28.1, "duplicate": false}, {"type": "reply", "timestamp": 1594976835.287123, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 9, "ttl": 59, "time_ms": 34.9, "duplicate": false}, {"type": "reply", "timestamp": 1594976836.287707, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 10, "ttl": 59, "time_ms": 34.4, "duplicate": false}, {"type": "reply", "timestamp": 1594976837.290589, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 11, "ttl": 59, "time_ms": 35.2, "duplicate": false}, {"type": "reply", "timestamp": 1594976838.293514, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 12, "ttl": 59, "time_ms": 35.4, "duplicate": false}, {"type": "reply", "timestamp": 1594976839.290914, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 13, "ttl": 59, "time_ms": 29.8, "duplicate": false}, {"type": "reply", "timestamp": 1594976840.292897, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 14, "ttl": 59, "time_ms": 28.5, "duplicate": false}, {"type": "timeout", "timestamp": 1594976842.269238, "icmp_seq": 15}, {"type": "reply", "timestamp": 1594976842.30145, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 16, "ttl": 59, "time_ms": 31.8, "duplicate": false}, {"type": "reply", "timestamp": 1594976843.312998, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 17, "ttl": 59, "time_ms": 39.8, "duplicate": false}, {"type": "reply", "timestamp": 1594976844.314228, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 18, "ttl": 59, "time_ms": 35.7, "duplicate": false}, {"type": "reply", "timestamp": 1594976845.315518, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 19, "ttl": 59, "time_ms": 35.1, "duplicate": false}, {"type": "reply", "timestamp": 1594976846.321706, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 20, "ttl": 59, "time_ms": 35.4, "duplicate": false}]}
|
||||
26
tests/fixtures/centos-7.7/ping6-ip-O-D-p.out
vendored
Normal file
26
tests/fixtures/centos-7.7/ping6-ip-O-D-p.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING 2a04:4e42:600::323(2a04:4e42:600::323) 56 data bytes
|
||||
[1594976827.240914] 64 bytes from 2a04:4e42:600::323: icmp_seq=1 ttl=59 time=28.7 ms
|
||||
[1594976828.254930] 64 bytes from 2a04:4e42:600::323: icmp_seq=2 ttl=59 time=37.2 ms
|
||||
[1594976829.252877] 64 bytes from 2a04:4e42:600::323: icmp_seq=3 ttl=59 time=29.7 ms
|
||||
[1594976830.262654] 64 bytes from 2a04:4e42:600::323: icmp_seq=4 ttl=59 time=37.7 ms
|
||||
[1594976831.265626] 64 bytes from 2a04:4e42:600::323: icmp_seq=5 ttl=59 time=34.8 ms
|
||||
[1594976832.269834] 64 bytes from 2a04:4e42:600::323: icmp_seq=6 ttl=59 time=35.6 ms
|
||||
[1594976833.268059] 64 bytes from 2a04:4e42:600::323: icmp_seq=7 ttl=59 time=28.4 ms
|
||||
[1594976834.274292] 64 bytes from 2a04:4e42:600::323: icmp_seq=8 ttl=59 time=28.1 ms
|
||||
[1594976835.287123] 64 bytes from 2a04:4e42:600::323: icmp_seq=9 ttl=59 time=34.9 ms
|
||||
[1594976836.287707] 64 bytes from 2a04:4e42:600::323: icmp_seq=10 ttl=59 time=34.4 ms
|
||||
[1594976837.290589] 64 bytes from 2a04:4e42:600::323: icmp_seq=11 ttl=59 time=35.2 ms
|
||||
[1594976838.293514] 64 bytes from 2a04:4e42:600::323: icmp_seq=12 ttl=59 time=35.4 ms
|
||||
[1594976839.290914] 64 bytes from 2a04:4e42:600::323: icmp_seq=13 ttl=59 time=29.8 ms
|
||||
[1594976840.292897] 64 bytes from 2a04:4e42:600::323: icmp_seq=14 ttl=59 time=28.5 ms
|
||||
[1594976842.269238] no answer yet for icmp_seq=15
|
||||
[1594976842.301450] 64 bytes from 2a04:4e42:600::323: icmp_seq=16 ttl=59 time=31.8 ms
|
||||
[1594976843.312998] 64 bytes from 2a04:4e42:600::323: icmp_seq=17 ttl=59 time=39.8 ms
|
||||
[1594976844.314228] 64 bytes from 2a04:4e42:600::323: icmp_seq=18 ttl=59 time=35.7 ms
|
||||
[1594976845.315518] 64 bytes from 2a04:4e42:600::323: icmp_seq=19 ttl=59 time=35.1 ms
|
||||
[1594976846.321706] 64 bytes from 2a04:4e42:600::323: icmp_seq=20 ttl=59 time=35.4 ms
|
||||
|
||||
--- 2a04:4e42:600::323 ping statistics ---
|
||||
20 packets transmitted, 19 received, 5% packet loss, time 19074ms
|
||||
rtt min/avg/max/mdev = 28.150/33.534/39.843/3.489 ms
|
||||
1
tests/fixtures/centos-7.7/ping6-ip-O-p.json
vendored
Normal file
1
tests/fixtures/centos-7.7/ping6-ip-O-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "2a04:4e42:600::323", "data_bytes": 56, "pattern": "0xabcd", "destination": "2a04:4e42:600::323", "packets_transmitted": 20, "packets_received": 19, "packet_loss_percent": 5.0, "duplicates": 0, "time_ms": 19067.0, "round_trip_ms_min": 27.064, "round_trip_ms_avg": 33.626, "round_trip_ms_max": 38.146, "round_trip_ms_stddev": 3.803, "responses": [{"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 1, "ttl": 59, "time_ms": 27.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 2, "ttl": 59, "time_ms": 28.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 3, "ttl": 59, "time_ms": 36.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 4, "ttl": 59, "time_ms": 28.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 5, "ttl": 59, "time_ms": 35.8, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 6, "ttl": 59, "time_ms": 34.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 7, "ttl": 59, "time_ms": 30.7, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 8, "ttl": 59, "time_ms": 28.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 9, "ttl": 59, "time_ms": 36.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 10, "ttl": 59, "time_ms": 36.3, "duplicate": false}, {"type": "timeout", "timestamp": null, "icmp_seq": 11}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 12, "ttl": 59, "time_ms": 37.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 13, "ttl": 59, "time_ms": 30.7, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 14, "ttl": 59, "time_ms": 36.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 15, "ttl": 59, "time_ms": 35.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 16, "ttl": 59, "time_ms": 36.3, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 17, "ttl": 59, "time_ms": 37.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 18, "ttl": 59, "time_ms": 36.2, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 19, "ttl": 59, "time_ms": 27.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 20, "ttl": 59, "time_ms": 38.1, "duplicate": false}]}
|
||||
26
tests/fixtures/centos-7.7/ping6-ip-O-p.out
vendored
Normal file
26
tests/fixtures/centos-7.7/ping6-ip-O-p.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING 2a04:4e42:600::323(2a04:4e42:600::323) 56 data bytes
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=1 ttl=59 time=27.9 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=2 ttl=59 time=28.4 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=3 ttl=59 time=36.0 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=4 ttl=59 time=28.5 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=5 ttl=59 time=35.8 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=6 ttl=59 time=34.4 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=7 ttl=59 time=30.7 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=8 ttl=59 time=28.5 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=9 ttl=59 time=36.5 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=10 ttl=59 time=36.3 ms
|
||||
no answer yet for icmp_seq=11
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=12 ttl=59 time=37.4 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=13 ttl=59 time=30.7 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=14 ttl=59 time=36.5 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=15 ttl=59 time=35.4 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=16 ttl=59 time=36.3 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=17 ttl=59 time=37.5 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=18 ttl=59 time=36.2 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=19 ttl=59 time=27.0 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=20 ttl=59 time=38.1 ms
|
||||
|
||||
--- 2a04:4e42:600::323 ping statistics ---
|
||||
20 packets transmitted, 19 received, 5% packet loss, time 19067ms
|
||||
rtt min/avg/max/mdev = 27.064/33.626/38.146/3.803 ms
|
||||
1
tests/fixtures/centos-7.7/ping6-ip-dup.json
vendored
Normal file
1
tests/fixtures/centos-7.7/ping6-ip-dup.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "ff02::1%ens33", "data_bytes": 56, "pattern": null, "destination": "ff02::1%ens33", "packets_transmitted": 5, "packets_received": 5, "packet_loss_percent": 0.0, "duplicates": 4, "time_ms": 4017.0, "round_trip_ms_min": 0.245, "round_trip_ms_avg": 4.726, "round_trip_ms_max": 12.568, "round_trip_ms_stddev": 5.395, "responses": [{"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "fe80::c48:5896:526d:81ba%ens33", "icmp_seq": 1, "ttl": 64, "time_ms": 0.245, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "fe80::feae:34ff:fea1:3a80%ens33", "icmp_seq": 1, "ttl": 64, "time_ms": 3.65, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "fe80::c48:5896:526d:81ba%ens33", "icmp_seq": 2, "ttl": 64, "time_ms": 0.329, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "fe80::feae:34ff:fea1:3a80%ens33", "icmp_seq": 2, "ttl": 64, "time_ms": 11.7, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "fe80::c48:5896:526d:81ba%ens33", "icmp_seq": 3, "ttl": 64, "time_ms": 0.592, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "fe80::feae:34ff:fea1:3a80%ens33", "icmp_seq": 3, "ttl": 64, "time_ms": 12.3, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "fe80::c48:5896:526d:81ba%ens33", "icmp_seq": 4, "ttl": 64, "time_ms": 0.51, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "fe80::feae:34ff:fea1:3a80%ens33", "icmp_seq": 4, "ttl": 64, "time_ms": 12.5, "duplicate": true}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "fe80::c48:5896:526d:81ba%ens33", "icmp_seq": 5, "ttl": 64, "time_ms": 0.538, "duplicate": false}]}
|
||||
14
tests/fixtures/centos-7.7/ping6-ip-dup.out
vendored
Normal file
14
tests/fixtures/centos-7.7/ping6-ip-dup.out
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
PING ff02::1%ens33(ff02::1%ens33) 56 data bytes
|
||||
64 bytes from fe80::c48:5896:526d:81ba%ens33: icmp_seq=1 ttl=64 time=0.245 ms
|
||||
64 bytes from fe80::feae:34ff:fea1:3a80%ens33: icmp_seq=1 ttl=64 time=3.65 ms (DUP!)
|
||||
64 bytes from fe80::c48:5896:526d:81ba%ens33: icmp_seq=2 ttl=64 time=0.329 ms
|
||||
64 bytes from fe80::feae:34ff:fea1:3a80%ens33: icmp_seq=2 ttl=64 time=11.7 ms (DUP!)
|
||||
64 bytes from fe80::c48:5896:526d:81ba%ens33: icmp_seq=3 ttl=64 time=0.592 ms
|
||||
64 bytes from fe80::feae:34ff:fea1:3a80%ens33: icmp_seq=3 ttl=64 time=12.3 ms (DUP!)
|
||||
64 bytes from fe80::c48:5896:526d:81ba%ens33: icmp_seq=4 ttl=64 time=0.510 ms
|
||||
64 bytes from fe80::feae:34ff:fea1:3a80%ens33: icmp_seq=4 ttl=64 time=12.5 ms (DUP!)
|
||||
64 bytes from fe80::c48:5896:526d:81ba%ens33: icmp_seq=5 ttl=64 time=0.538 ms
|
||||
|
||||
--- ff02::1%ens33 ping statistics ---
|
||||
5 packets transmitted, 5 received, +4 duplicates, 0% packet loss, time 4017ms
|
||||
rtt min/avg/max/mdev = 0.245/4.726/12.568/5.395 ms
|
||||
1
tests/fixtures/centos-7.7/route-6-n.json
vendored
Normal file
1
tests/fixtures/centos-7.7/route-6-n.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
[{"destination": "::/96", "next_hop": "::", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "0.0.0.0/96", "next_hop": "::", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2002:a00::/24", "next_hop": "::", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2002:7f00::/24", "next_hop": "::", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2002:a9fe::/32", "next_hop": "::", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2002:ac10::/28", "next_hop": "::", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2002:c0a8::/32", "next_hop": "::", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2002:e000::/19", "next_hop": "::", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2600:1700:bab0:d40::16/128", "next_hop": "::", "flags": "U", "metric": 100, "ref": 0, "use": 0, "iface": "ens33", "flags_pretty": ["UP"]}, {"destination": "2600:1700:bab0:d40::/64", "next_hop": "::", "flags": "U", "metric": 100, "ref": 1, "use": 45, "iface": "ens33", "flags_pretty": ["UP"]}, {"destination": "2600:1700:bab0:d40::/60", "next_hop": "fe80::feae:34ff:fea1:3a80", "flags": "UG", "metric": 100, "ref": 0, "use": 0, "iface": "ens33", "flags_pretty": ["UP", "GATEWAY"]}, {"destination": "3ffe:ffff::/32", "next_hop": "::", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "fe80::/64", "next_hop": "::", "flags": "U", "metric": 100, "ref": 0, "use": 4, "iface": "ens33", "flags_pretty": ["UP"]}, {"destination": "::/0", "next_hop": "fe80::feae:34ff:fea1:3a80", "flags": "UG", "metric": 100, "ref": 1, "use": 4, "iface": "ens33", "flags_pretty": ["UP", "GATEWAY"]}, {"destination": "::/0", "next_hop": "::", "flags": "!n", "metric": -1, "ref": 1, "use": 86, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "::1/128", "next_hop": "::", "flags": "Un", "metric": 0, "ref": 2, "use": 30, "iface": "lo", "flags_pretty": ["UP"]}, {"destination": "2600:1700:bab0:d40::16/128", "next_hop": "::", "flags": "Un", "metric": 0, "ref": 2, "use": 4, "iface": "lo", "flags_pretty": ["UP"]}, {"destination": "2600:1700:bab0:d40:884b:cf32:dbd6:f640/128", "next_hop": "::", "flags": "Un", "metric": 0, "ref": 1, "use": 0, "iface": "lo", "flags_pretty": ["UP"]}, {"destination": "fe80::c1cb:715d:bc3e:b8a0/128", "next_hop": "::", "flags": "Un", "metric": 0, "ref": 2, "use": 8, "iface": "lo", "flags_pretty": ["UP"]}, {"destination": "ff00::/8", "next_hop": "::", "flags": "U", "metric": 256, "ref": 1, "use": 4, "iface": "ens33", "flags_pretty": ["UP"]}, {"destination": "::/0", "next_hop": "::", "flags": "!n", "metric": -1, "ref": 1, "use": 86, "iface": "lo", "flags_pretty": ["REJECT"]}, {}]
|
||||
24
tests/fixtures/centos-7.7/route-6-n.out
vendored
Normal file
24
tests/fixtures/centos-7.7/route-6-n.out
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
Kernel IPv6 routing table
|
||||
Destination Next Hop Flag Met Ref Use If
|
||||
::/96 :: !n 1024 0 0 lo
|
||||
0.0.0.0/96 :: !n 1024 0 0 lo
|
||||
2002:a00::/24 :: !n 1024 0 0 lo
|
||||
2002:7f00::/24 :: !n 1024 0 0 lo
|
||||
2002:a9fe::/32 :: !n 1024 0 0 lo
|
||||
2002:ac10::/28 :: !n 1024 0 0 lo
|
||||
2002:c0a8::/32 :: !n 1024 0 0 lo
|
||||
2002:e000::/19 :: !n 1024 0 0 lo
|
||||
2600:1700:bab0:d40::16/128 :: U 100 0 0 ens33
|
||||
2600:1700:bab0:d40::/64 :: U 100 1 45 ens33
|
||||
2600:1700:bab0:d40::/60 fe80::feae:34ff:fea1:3a80 UG 100 0 0 ens33
|
||||
3ffe:ffff::/32 :: !n 1024 0 0 lo
|
||||
fe80::/64 :: U 100 0 4 ens33
|
||||
::/0 fe80::feae:34ff:fea1:3a80 UG 100 1 4 ens33
|
||||
::/0 :: !n -1 1 86 lo
|
||||
::1/128 :: Un 0 2 30 lo
|
||||
2600:1700:bab0:d40::16/128 :: Un 0 2 4 lo
|
||||
2600:1700:bab0:d40:884b:cf32:dbd6:f640/128 :: Un 0 1 0 lo
|
||||
fe80::c1cb:715d:bc3e:b8a0/128 :: Un 0 2 8 lo
|
||||
ff00::/8 :: U 256 1 4 ens33
|
||||
::/0 :: !n -1 1 86 lo
|
||||
|
||||
1
tests/fixtures/centos-7.7/route-6.json
vendored
Normal file
1
tests/fixtures/centos-7.7/route-6.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
[{"destination": "[::]/96", "next_hop": "[::]", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "0.0.0.0/96", "next_hop": "[::]", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2002:a00::/24", "next_hop": "[::]", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2002:7f00::/24", "next_hop": "[::]", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2002:a9fe::/32", "next_hop": "[::]", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2002:ac10::/28", "next_hop": "[::]", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2002:c0a8::/32", "next_hop": "[::]", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "2002:e000::/19", "next_hop": "[::]", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "unknown000c293b580e.attlocal.net/128", "next_hop": "[::]", "flags": "U", "metric": 100, "ref": 0, "use": 0, "iface": "ens33", "flags_pretty": ["UP"]}, {"destination": "2600:1700:bab0:d40::/64", "next_hop": "[::]", "flags": "U", "metric": 100, "ref": 1, "use": 43, "iface": "ens33", "flags_pretty": ["UP"]}, {"destination": "2600:1700:bab0:d40::/60", "next_hop": "gateway", "flags": "UG", "metric": 100, "ref": 0, "use": 0, "iface": "ens33", "flags_pretty": ["UP", "GATEWAY"]}, {"destination": "3ffe:ffff::/32", "next_hop": "[::]", "flags": "!n", "metric": 1024, "ref": 0, "use": 0, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "fe80::/64", "next_hop": "[::]", "flags": "U", "metric": 100, "ref": 0, "use": 4, "iface": "ens33", "flags_pretty": ["UP"]}, {"destination": "[::]/0", "next_hop": "gateway", "flags": "UG", "metric": 100, "ref": 1, "use": 4, "iface": "ens33", "flags_pretty": ["UP", "GATEWAY"]}, {"destination": "[::]/0", "next_hop": "[::]", "flags": "!n", "metric": -1, "ref": 1, "use": 86, "iface": "lo", "flags_pretty": ["REJECT"]}, {"destination": "localhost/128", "next_hop": "[::]", "flags": "Un", "metric": 0, "ref": 2, "use": 30, "iface": "lo", "flags_pretty": ["UP"]}, {"destination": "unknown000c293b580e.attlocal.net/128", "next_hop": "[::]", "flags": "Un", "metric": 0, "ref": 2, "use": 4, "iface": "lo", "flags_pretty": ["UP"]}, {"destination": "unknown000c293b580e.attlocal.net/128", "next_hop": "[::]", "flags": "Un", "metric": 0, "ref": 1, "use": 0, "iface": "lo", "flags_pretty": ["UP"]}, {"destination": "unknown000c293b580e.attlocal.net/128", "next_hop": "[::]", "flags": "Un", "metric": 0, "ref": 2, "use": 8, "iface": "lo", "flags_pretty": ["UP"]}, {"destination": "ff00::/8", "next_hop": "[::]", "flags": "U", "metric": 256, "ref": 1, "use": 4, "iface": "ens33", "flags_pretty": ["UP"]}, {"destination": "[::]/0", "next_hop": "[::]", "flags": "!n", "metric": -1, "ref": 1, "use": 86, "iface": "lo", "flags_pretty": ["REJECT"]}, {}]
|
||||
24
tests/fixtures/centos-7.7/route-6.out
vendored
Normal file
24
tests/fixtures/centos-7.7/route-6.out
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
Kernel IPv6 routing table
|
||||
Destination Next Hop Flag Met Ref Use If
|
||||
[::]/96 [::] !n 1024 0 0 lo
|
||||
0.0.0.0/96 [::] !n 1024 0 0 lo
|
||||
2002:a00::/24 [::] !n 1024 0 0 lo
|
||||
2002:7f00::/24 [::] !n 1024 0 0 lo
|
||||
2002:a9fe::/32 [::] !n 1024 0 0 lo
|
||||
2002:ac10::/28 [::] !n 1024 0 0 lo
|
||||
2002:c0a8::/32 [::] !n 1024 0 0 lo
|
||||
2002:e000::/19 [::] !n 1024 0 0 lo
|
||||
unknown000c293b580e.attlocal.net/128 [::] U 100 0 0 ens33
|
||||
2600:1700:bab0:d40::/64 [::] U 100 1 43 ens33
|
||||
2600:1700:bab0:d40::/60 gateway UG 100 0 0 ens33
|
||||
3ffe:ffff::/32 [::] !n 1024 0 0 lo
|
||||
fe80::/64 [::] U 100 0 4 ens33
|
||||
[::]/0 gateway UG 100 1 4 ens33
|
||||
[::]/0 [::] !n -1 1 86 lo
|
||||
localhost/128 [::] Un 0 2 30 lo
|
||||
unknown000c293b580e.attlocal.net/128 [::] Un 0 2 4 lo
|
||||
unknown000c293b580e.attlocal.net/128 [::] Un 0 1 0 lo
|
||||
unknown000c293b580e.attlocal.net/128 [::] Un 0 2 8 lo
|
||||
ff00::/8 [::] U 256 1 4 ens33
|
||||
[::]/0 [::] !n -1 1 86 lo
|
||||
|
||||
1
tests/fixtures/centos-7.7/sysctl-a.json
vendored
Normal file
1
tests/fixtures/centos-7.7/sysctl-a.json
vendored
Normal file
File diff suppressed because one or more lines are too long
918
tests/fixtures/centos-7.7/sysctl-a.out
vendored
Normal file
918
tests/fixtures/centos-7.7/sysctl-a.out
vendored
Normal file
@@ -0,0 +1,918 @@
|
||||
abi.vsyscall32 = 1
|
||||
crypto.fips_enabled = 0
|
||||
debug.exception-trace = 1
|
||||
debug.kprobes-optimization = 1
|
||||
debug.panic_on_rcu_stall = 0
|
||||
dev.cdrom.autoclose = 1
|
||||
dev.cdrom.autoeject = 0
|
||||
dev.cdrom.check_media = 0
|
||||
dev.cdrom.debug = 0
|
||||
dev.cdrom.info = CD-ROM information, Id: cdrom.c 3.20 2003/12/17
|
||||
dev.cdrom.info =
|
||||
dev.cdrom.info = drive name: sr0
|
||||
dev.cdrom.info = drive speed: 1
|
||||
dev.cdrom.info = drive # of slots: 1
|
||||
dev.cdrom.info = Can close tray: 1
|
||||
dev.cdrom.info = Can open tray: 1
|
||||
dev.cdrom.info = Can lock tray: 1
|
||||
dev.cdrom.info = Can change speed: 1
|
||||
dev.cdrom.info = Can select disk: 0
|
||||
dev.cdrom.info = Can read multisession: 1
|
||||
dev.cdrom.info = Can read MCN: 1
|
||||
dev.cdrom.info = Reports media changed: 1
|
||||
dev.cdrom.info = Can play audio: 1
|
||||
dev.cdrom.info = Can write CD-R: 1
|
||||
dev.cdrom.info = Can write CD-RW: 1
|
||||
dev.cdrom.info = Can read DVD: 1
|
||||
dev.cdrom.info = Can write DVD-R: 1
|
||||
dev.cdrom.info = Can write DVD-RAM: 1
|
||||
dev.cdrom.info = Can read MRW: 1
|
||||
dev.cdrom.info = Can write MRW: 1
|
||||
dev.cdrom.info = Can write RAM: 1
|
||||
dev.cdrom.info =
|
||||
dev.cdrom.info =
|
||||
dev.cdrom.lock = 1
|
||||
dev.hpet.max-user-freq = 64
|
||||
dev.mac_hid.mouse_button2_keycode = 97
|
||||
dev.mac_hid.mouse_button3_keycode = 100
|
||||
dev.mac_hid.mouse_button_emulation = 0
|
||||
dev.parport.default.spintime = 500
|
||||
dev.parport.default.timeslice = 200
|
||||
dev.raid.speed_limit_max = 200000
|
||||
dev.raid.speed_limit_min = 1000
|
||||
dev.scsi.logging_level = 0
|
||||
fs.aio-max-nr = 65536
|
||||
fs.aio-nr = 0
|
||||
fs.binfmt_misc.status = enabled
|
||||
fs.dentry-state = 182164 165608 45 0 149757 0
|
||||
fs.dir-notify-enable = 1
|
||||
fs.epoll.max_user_watches = 785940
|
||||
fs.file-max = 379085
|
||||
fs.file-nr = 1152 0 379085
|
||||
fs.inode-nr = 34807 2263
|
||||
fs.inode-state = 34807 2263 0 0 0 0 0
|
||||
fs.inotify.max_queued_events = 16384
|
||||
fs.inotify.max_user_instances = 128
|
||||
fs.inotify.max_user_watches = 8192
|
||||
fs.lease-break-time = 45
|
||||
fs.leases-enable = 1
|
||||
fs.may_detach_mounts = 1
|
||||
fs.mount-max = 100000
|
||||
fs.mqueue.msg_default = 10
|
||||
fs.mqueue.msg_max = 10
|
||||
fs.mqueue.msgsize_default = 8192
|
||||
fs.mqueue.msgsize_max = 8192
|
||||
fs.mqueue.queues_max = 256
|
||||
fs.nr_open = 1048576
|
||||
fs.overflowgid = 65534
|
||||
fs.overflowuid = 65534
|
||||
fs.pipe-max-size = 1048576
|
||||
fs.pipe-user-pages-hard = 0
|
||||
fs.pipe-user-pages-soft = 16384
|
||||
fs.quota.allocated_dquots = 0
|
||||
fs.quota.cache_hits = 0
|
||||
fs.quota.drops = 0
|
||||
fs.quota.free_dquots = 0
|
||||
fs.quota.lookups = 0
|
||||
fs.quota.reads = 0
|
||||
fs.quota.syncs = 0
|
||||
fs.quota.warnings = 1
|
||||
fs.quota.writes = 0
|
||||
fs.suid_dumpable = 0
|
||||
fs.xfs.age_buffer_centisecs = 1500
|
||||
fs.xfs.error_level = 3
|
||||
fs.xfs.filestream_centisecs = 3000
|
||||
fs.xfs.inherit_noatime = 1
|
||||
fs.xfs.inherit_nodefrag = 1
|
||||
fs.xfs.inherit_nodump = 1
|
||||
fs.xfs.inherit_nosymlinks = 0
|
||||
fs.xfs.inherit_sync = 1
|
||||
fs.xfs.irix_sgid_inherit = 0
|
||||
fs.xfs.irix_symlink_mode = 0
|
||||
fs.xfs.panic_mask = 0
|
||||
fs.xfs.rotorstep = 1
|
||||
fs.xfs.speculative_prealloc_lifetime = 300
|
||||
fs.xfs.stats_clear = 0
|
||||
fs.xfs.xfsbufd_centisecs = 100
|
||||
fs.xfs.xfssyncd_centisecs = 3000
|
||||
kernel.acct = 4 2 30
|
||||
kernel.acpi_video_flags = 0
|
||||
kernel.auto_msgmni = 1
|
||||
kernel.bootloader_type = 114
|
||||
kernel.bootloader_version = 2
|
||||
kernel.cap_last_cap = 36
|
||||
kernel.compat-log = 1
|
||||
kernel.core_pattern = core
|
||||
kernel.core_pipe_limit = 0
|
||||
kernel.core_uses_pid = 1
|
||||
kernel.ctrl-alt-del = 0
|
||||
kernel.dmesg_restrict = 0
|
||||
kernel.domainname = (none)
|
||||
kernel.ftrace_dump_on_oops = 0
|
||||
kernel.ftrace_enabled = 1
|
||||
kernel.hardlockup_all_cpu_backtrace = 0
|
||||
kernel.hardlockup_panic = 1
|
||||
kernel.hostname = localhost.localdomain
|
||||
kernel.hotplug =
|
||||
kernel.hung_task_check_count = 4194304
|
||||
kernel.hung_task_panic = 0
|
||||
kernel.hung_task_timeout_secs = 120
|
||||
kernel.hung_task_warnings = 10
|
||||
kernel.io_delay_type = 0
|
||||
kernel.kexec_load_disabled = 0
|
||||
kernel.keys.gc_delay = 300
|
||||
kernel.keys.maxbytes = 20000
|
||||
kernel.keys.maxkeys = 200
|
||||
kernel.keys.persistent_keyring_expiry = 259200
|
||||
kernel.keys.root_maxbytes = 25000000
|
||||
kernel.keys.root_maxkeys = 1000000
|
||||
kernel.kptr_restrict = 0
|
||||
kernel.max_lock_depth = 1024
|
||||
kernel.modprobe = /sbin/modprobe
|
||||
kernel.modules_disabled = 0
|
||||
kernel.msg_next_id = -1
|
||||
kernel.msgmax = 8192
|
||||
kernel.msgmnb = 16384
|
||||
kernel.msgmni = 7535
|
||||
kernel.ngroups_max = 65536
|
||||
kernel.nmi_watchdog = 1
|
||||
kernel.ns_last_pid = 49181
|
||||
kernel.numa_balancing = 0
|
||||
kernel.numa_balancing_scan_delay_ms = 1000
|
||||
kernel.numa_balancing_scan_period_max_ms = 60000
|
||||
kernel.numa_balancing_scan_period_min_ms = 1000
|
||||
kernel.numa_balancing_scan_size_mb = 256
|
||||
kernel.numa_balancing_settle_count = 4
|
||||
kernel.osrelease = 3.10.0-1062.1.2.el7.x86_64
|
||||
kernel.ostype = Linux
|
||||
kernel.overflowgid = 65534
|
||||
kernel.overflowuid = 65534
|
||||
kernel.panic = 0
|
||||
kernel.panic_on_io_nmi = 0
|
||||
kernel.panic_on_oops = 1
|
||||
kernel.panic_on_stackoverflow = 0
|
||||
kernel.panic_on_unrecovered_nmi = 0
|
||||
kernel.panic_on_warn = 0
|
||||
kernel.perf_cpu_time_max_percent = 25
|
||||
kernel.perf_event_max_sample_rate = 100000
|
||||
kernel.perf_event_mlock_kb = 516
|
||||
kernel.perf_event_paranoid = 2
|
||||
kernel.pid_max = 131072
|
||||
kernel.poweroff_cmd = /sbin/poweroff
|
||||
kernel.print-fatal-signals = 0
|
||||
kernel.printk = 4 4 1 7
|
||||
kernel.printk_delay = 0
|
||||
kernel.printk_ratelimit = 5
|
||||
kernel.printk_ratelimit_burst = 10
|
||||
kernel.pty.max = 4096
|
||||
kernel.pty.nr = 0
|
||||
kernel.pty.reserve = 1024
|
||||
kernel.random.boot_id = 9e51ba01-3e54-4fbd-b007-a9563d0156d5
|
||||
kernel.random.entropy_avail = 744
|
||||
kernel.random.poolsize = 4096
|
||||
kernel.random.read_wakeup_threshold = 64
|
||||
kernel.random.urandom_min_reseed_secs = 60
|
||||
kernel.random.uuid = 91912f7c-e25e-48ef-8e53-c1ee7f8b38c8
|
||||
kernel.random.write_wakeup_threshold = 896
|
||||
kernel.randomize_va_space = 2
|
||||
kernel.real-root-dev = 0
|
||||
kernel.sched_autogroup_enabled = 0
|
||||
kernel.sched_cfs_bandwidth_slice_us = 5000
|
||||
kernel.sched_child_runs_first = 0
|
||||
kernel.sched_latency_ns = 6000000
|
||||
kernel.sched_migration_cost_ns = 500000
|
||||
kernel.sched_min_granularity_ns = 10000000
|
||||
kernel.sched_nr_migrate = 32
|
||||
kernel.sched_rr_timeslice_ms = 100
|
||||
kernel.sched_rt_period_us = 1000000
|
||||
kernel.sched_rt_runtime_us = 950000
|
||||
kernel.sched_schedstats = 0
|
||||
kernel.sched_shares_window_ns = 10000000
|
||||
kernel.sched_time_avg_ms = 1000
|
||||
kernel.sched_tunable_scaling = 1
|
||||
kernel.sched_wakeup_granularity_ns = 15000000
|
||||
kernel.seccomp.actions_avail = kill trap errno trace allow
|
||||
kernel.seccomp.actions_logged = kill trap errno trace
|
||||
kernel.sem = 250 32000 32 128
|
||||
kernel.sem_next_id = -1
|
||||
kernel.shm_next_id = -1
|
||||
kernel.shm_rmid_forced = 0
|
||||
kernel.shmall = 18446744073692774399
|
||||
kernel.shmmax = 18446744073692774399
|
||||
kernel.shmmni = 4096
|
||||
kernel.softlockup_all_cpu_backtrace = 0
|
||||
kernel.softlockup_panic = 0
|
||||
kernel.stack_tracer_enabled = 0
|
||||
kernel.sysctl_writes_strict = 1
|
||||
kernel.sysrq = 16
|
||||
kernel.tainted = 536870912
|
||||
kernel.threads-max = 29981
|
||||
kernel.timer_migration = 1
|
||||
kernel.traceoff_on_warning = 0
|
||||
kernel.unknown_nmi_panic = 0
|
||||
kernel.version = #1 SMP Mon Sep 30 14:19:46 UTC 2019
|
||||
kernel.watchdog = 1
|
||||
kernel.watchdog_cpumask = 0-127
|
||||
kernel.watchdog_thresh = 10
|
||||
kernel.yama.ptrace_scope = 0
|
||||
net.bridge.bridge-nf-call-arptables = 0
|
||||
net.bridge.bridge-nf-call-ip6tables = 0
|
||||
net.bridge.bridge-nf-call-iptables = 0
|
||||
net.bridge.bridge-nf-filter-pppoe-tagged = 0
|
||||
net.bridge.bridge-nf-filter-vlan-tagged = 0
|
||||
net.bridge.bridge-nf-pass-vlan-input-dev = 0
|
||||
net.core.bpf_jit_enable = 1
|
||||
net.core.busy_poll = 0
|
||||
net.core.busy_read = 0
|
||||
net.core.default_qdisc = pfifo_fast
|
||||
net.core.dev_weight = 64
|
||||
net.core.dev_weight_rx_bias = 1
|
||||
net.core.dev_weight_tx_bias = 1
|
||||
net.core.message_burst = 10
|
||||
net.core.message_cost = 5
|
||||
net.core.netdev_budget = 300
|
||||
net.core.netdev_max_backlog = 1000
|
||||
net.core.netdev_rss_key = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
|
||||
net.core.netdev_tstamp_prequeue = 1
|
||||
net.core.optmem_max = 20480
|
||||
net.core.rmem_default = 212992
|
||||
net.core.rmem_max = 212992
|
||||
net.core.rps_sock_flow_entries = 0
|
||||
net.core.somaxconn = 128
|
||||
net.core.warnings = 1
|
||||
net.core.wmem_default = 212992
|
||||
net.core.wmem_max = 212992
|
||||
net.core.xfrm_acq_expires = 30
|
||||
net.core.xfrm_aevent_etime = 10
|
||||
net.core.xfrm_aevent_rseqth = 2
|
||||
net.core.xfrm_larval_drop = 1
|
||||
net.ipv4.cipso_cache_bucket_size = 10
|
||||
net.ipv4.cipso_cache_enable = 1
|
||||
net.ipv4.cipso_rbm_optfmt = 0
|
||||
net.ipv4.cipso_rbm_strictvalid = 1
|
||||
net.ipv4.conf.all.accept_local = 0
|
||||
net.ipv4.conf.all.accept_redirects = 0
|
||||
net.ipv4.conf.all.accept_source_route = 0
|
||||
net.ipv4.conf.all.arp_accept = 0
|
||||
net.ipv4.conf.all.arp_announce = 0
|
||||
net.ipv4.conf.all.arp_filter = 0
|
||||
net.ipv4.conf.all.arp_ignore = 0
|
||||
net.ipv4.conf.all.arp_notify = 0
|
||||
net.ipv4.conf.all.bootp_relay = 0
|
||||
net.ipv4.conf.all.disable_policy = 0
|
||||
net.ipv4.conf.all.disable_xfrm = 0
|
||||
net.ipv4.conf.all.force_igmp_version = 0
|
||||
net.ipv4.conf.all.forwarding = 1
|
||||
net.ipv4.conf.all.igmpv2_unsolicited_report_interval = 10000
|
||||
net.ipv4.conf.all.igmpv3_unsolicited_report_interval = 1000
|
||||
net.ipv4.conf.all.log_martians = 0
|
||||
net.ipv4.conf.all.mc_forwarding = 0
|
||||
net.ipv4.conf.all.medium_id = 0
|
||||
net.ipv4.conf.all.promote_secondaries = 1
|
||||
net.ipv4.conf.all.proxy_arp = 0
|
||||
net.ipv4.conf.all.proxy_arp_pvlan = 0
|
||||
net.ipv4.conf.all.route_localnet = 0
|
||||
net.ipv4.conf.all.rp_filter = 1
|
||||
net.ipv4.conf.all.secure_redirects = 1
|
||||
net.ipv4.conf.all.send_redirects = 1
|
||||
net.ipv4.conf.all.shared_media = 1
|
||||
net.ipv4.conf.all.src_valid_mark = 0
|
||||
net.ipv4.conf.all.tag = 0
|
||||
net.ipv4.conf.default.accept_local = 0
|
||||
net.ipv4.conf.default.accept_redirects = 1
|
||||
net.ipv4.conf.default.accept_source_route = 0
|
||||
net.ipv4.conf.default.arp_accept = 0
|
||||
net.ipv4.conf.default.arp_announce = 0
|
||||
net.ipv4.conf.default.arp_filter = 0
|
||||
net.ipv4.conf.default.arp_ignore = 0
|
||||
net.ipv4.conf.default.arp_notify = 0
|
||||
net.ipv4.conf.default.bootp_relay = 0
|
||||
net.ipv4.conf.default.disable_policy = 0
|
||||
net.ipv4.conf.default.disable_xfrm = 0
|
||||
net.ipv4.conf.default.force_igmp_version = 0
|
||||
net.ipv4.conf.default.forwarding = 1
|
||||
net.ipv4.conf.default.igmpv2_unsolicited_report_interval = 10000
|
||||
net.ipv4.conf.default.igmpv3_unsolicited_report_interval = 1000
|
||||
net.ipv4.conf.default.log_martians = 0
|
||||
net.ipv4.conf.default.mc_forwarding = 0
|
||||
net.ipv4.conf.default.medium_id = 0
|
||||
net.ipv4.conf.default.promote_secondaries = 1
|
||||
net.ipv4.conf.default.proxy_arp = 0
|
||||
net.ipv4.conf.default.proxy_arp_pvlan = 0
|
||||
net.ipv4.conf.default.route_localnet = 0
|
||||
net.ipv4.conf.default.rp_filter = 1
|
||||
net.ipv4.conf.default.secure_redirects = 1
|
||||
net.ipv4.conf.default.send_redirects = 1
|
||||
net.ipv4.conf.default.shared_media = 1
|
||||
net.ipv4.conf.default.src_valid_mark = 0
|
||||
net.ipv4.conf.default.tag = 0
|
||||
net.ipv4.conf.docker0.accept_local = 0
|
||||
net.ipv4.conf.docker0.accept_redirects = 1
|
||||
net.ipv4.conf.docker0.accept_source_route = 0
|
||||
net.ipv4.conf.docker0.arp_accept = 0
|
||||
net.ipv4.conf.docker0.arp_announce = 0
|
||||
net.ipv4.conf.docker0.arp_filter = 0
|
||||
net.ipv4.conf.docker0.arp_ignore = 0
|
||||
net.ipv4.conf.docker0.arp_notify = 0
|
||||
net.ipv4.conf.docker0.bootp_relay = 0
|
||||
net.ipv4.conf.docker0.disable_policy = 0
|
||||
net.ipv4.conf.docker0.disable_xfrm = 0
|
||||
net.ipv4.conf.docker0.force_igmp_version = 0
|
||||
net.ipv4.conf.docker0.forwarding = 1
|
||||
net.ipv4.conf.docker0.igmpv2_unsolicited_report_interval = 10000
|
||||
net.ipv4.conf.docker0.igmpv3_unsolicited_report_interval = 1000
|
||||
net.ipv4.conf.docker0.log_martians = 0
|
||||
net.ipv4.conf.docker0.mc_forwarding = 0
|
||||
net.ipv4.conf.docker0.medium_id = 0
|
||||
net.ipv4.conf.docker0.promote_secondaries = 1
|
||||
net.ipv4.conf.docker0.proxy_arp = 0
|
||||
net.ipv4.conf.docker0.proxy_arp_pvlan = 0
|
||||
net.ipv4.conf.docker0.route_localnet = 0
|
||||
net.ipv4.conf.docker0.rp_filter = 1
|
||||
net.ipv4.conf.docker0.secure_redirects = 1
|
||||
net.ipv4.conf.docker0.send_redirects = 1
|
||||
net.ipv4.conf.docker0.shared_media = 1
|
||||
net.ipv4.conf.docker0.src_valid_mark = 0
|
||||
net.ipv4.conf.docker0.tag = 0
|
||||
net.ipv4.conf.ens33.accept_local = 0
|
||||
net.ipv4.conf.ens33.accept_redirects = 1
|
||||
net.ipv4.conf.ens33.accept_source_route = 0
|
||||
net.ipv4.conf.ens33.arp_accept = 0
|
||||
net.ipv4.conf.ens33.arp_announce = 0
|
||||
net.ipv4.conf.ens33.arp_filter = 0
|
||||
net.ipv4.conf.ens33.arp_ignore = 0
|
||||
net.ipv4.conf.ens33.arp_notify = 0
|
||||
net.ipv4.conf.ens33.bootp_relay = 0
|
||||
net.ipv4.conf.ens33.disable_policy = 0
|
||||
net.ipv4.conf.ens33.disable_xfrm = 0
|
||||
net.ipv4.conf.ens33.force_igmp_version = 0
|
||||
net.ipv4.conf.ens33.forwarding = 1
|
||||
net.ipv4.conf.ens33.igmpv2_unsolicited_report_interval = 10000
|
||||
net.ipv4.conf.ens33.igmpv3_unsolicited_report_interval = 1000
|
||||
net.ipv4.conf.ens33.log_martians = 0
|
||||
net.ipv4.conf.ens33.mc_forwarding = 0
|
||||
net.ipv4.conf.ens33.medium_id = 0
|
||||
net.ipv4.conf.ens33.promote_secondaries = 1
|
||||
net.ipv4.conf.ens33.proxy_arp = 0
|
||||
net.ipv4.conf.ens33.proxy_arp_pvlan = 0
|
||||
net.ipv4.conf.ens33.route_localnet = 0
|
||||
net.ipv4.conf.ens33.rp_filter = 1
|
||||
net.ipv4.conf.ens33.secure_redirects = 1
|
||||
net.ipv4.conf.ens33.send_redirects = 1
|
||||
net.ipv4.conf.ens33.shared_media = 1
|
||||
net.ipv4.conf.ens33.src_valid_mark = 0
|
||||
net.ipv4.conf.ens33.tag = 0
|
||||
net.ipv4.conf.lo.accept_local = 0
|
||||
net.ipv4.conf.lo.accept_redirects = 1
|
||||
net.ipv4.conf.lo.accept_source_route = 1
|
||||
net.ipv4.conf.lo.arp_accept = 0
|
||||
net.ipv4.conf.lo.arp_announce = 0
|
||||
net.ipv4.conf.lo.arp_filter = 0
|
||||
net.ipv4.conf.lo.arp_ignore = 0
|
||||
net.ipv4.conf.lo.arp_notify = 0
|
||||
net.ipv4.conf.lo.bootp_relay = 0
|
||||
net.ipv4.conf.lo.disable_policy = 1
|
||||
net.ipv4.conf.lo.disable_xfrm = 1
|
||||
net.ipv4.conf.lo.force_igmp_version = 0
|
||||
net.ipv4.conf.lo.forwarding = 1
|
||||
net.ipv4.conf.lo.igmpv2_unsolicited_report_interval = 10000
|
||||
net.ipv4.conf.lo.igmpv3_unsolicited_report_interval = 1000
|
||||
net.ipv4.conf.lo.log_martians = 0
|
||||
net.ipv4.conf.lo.mc_forwarding = 0
|
||||
net.ipv4.conf.lo.medium_id = 0
|
||||
net.ipv4.conf.lo.promote_secondaries = 0
|
||||
net.ipv4.conf.lo.proxy_arp = 0
|
||||
net.ipv4.conf.lo.proxy_arp_pvlan = 0
|
||||
net.ipv4.conf.lo.route_localnet = 0
|
||||
net.ipv4.conf.lo.rp_filter = 0
|
||||
net.ipv4.conf.lo.secure_redirects = 1
|
||||
net.ipv4.conf.lo.send_redirects = 1
|
||||
net.ipv4.conf.lo.shared_media = 1
|
||||
net.ipv4.conf.lo.src_valid_mark = 0
|
||||
net.ipv4.conf.lo.tag = 0
|
||||
net.ipv4.fib_multipath_hash_policy = 0
|
||||
net.ipv4.fwmark_reflect = 0
|
||||
net.ipv4.icmp_echo_ignore_all = 0
|
||||
net.ipv4.icmp_echo_ignore_broadcasts = 1
|
||||
net.ipv4.icmp_errors_use_inbound_ifaddr = 0
|
||||
net.ipv4.icmp_ignore_bogus_error_responses = 1
|
||||
net.ipv4.icmp_msgs_burst = 50
|
||||
net.ipv4.icmp_msgs_per_sec = 1000
|
||||
net.ipv4.icmp_ratelimit = 1000
|
||||
net.ipv4.icmp_ratemask = 6168
|
||||
net.ipv4.igmp_max_memberships = 20
|
||||
net.ipv4.igmp_max_msf = 10
|
||||
net.ipv4.igmp_qrv = 2
|
||||
net.ipv4.inet_peer_maxttl = 600
|
||||
net.ipv4.inet_peer_minttl = 120
|
||||
net.ipv4.inet_peer_threshold = 65664
|
||||
net.ipv4.ip_default_ttl = 64
|
||||
net.ipv4.ip_dynaddr = 0
|
||||
net.ipv4.ip_early_demux = 1
|
||||
net.ipv4.ip_forward = 1
|
||||
net.ipv4.ip_forward_use_pmtu = 0
|
||||
net.ipv4.ip_local_port_range = 32768 60999
|
||||
net.ipv4.ip_local_reserved_ports =
|
||||
net.ipv4.ip_no_pmtu_disc = 0
|
||||
net.ipv4.ip_nonlocal_bind = 0
|
||||
net.ipv4.ipfrag_high_thresh = 4194304
|
||||
net.ipv4.ipfrag_low_thresh = 3145728
|
||||
net.ipv4.ipfrag_max_dist = 64
|
||||
net.ipv4.ipfrag_secret_interval = 600
|
||||
net.ipv4.ipfrag_time = 30
|
||||
net.ipv4.neigh.default.anycast_delay = 100
|
||||
net.ipv4.neigh.default.app_solicit = 0
|
||||
net.ipv4.neigh.default.base_reachable_time_ms = 30000
|
||||
net.ipv4.neigh.default.delay_first_probe_time = 5
|
||||
net.ipv4.neigh.default.gc_interval = 30
|
||||
net.ipv4.neigh.default.gc_stale_time = 60
|
||||
net.ipv4.neigh.default.gc_thresh1 = 128
|
||||
net.ipv4.neigh.default.gc_thresh2 = 512
|
||||
net.ipv4.neigh.default.gc_thresh3 = 1024
|
||||
net.ipv4.neigh.default.locktime = 100
|
||||
net.ipv4.neigh.default.mcast_solicit = 3
|
||||
net.ipv4.neigh.default.proxy_delay = 80
|
||||
net.ipv4.neigh.default.proxy_qlen = 64
|
||||
net.ipv4.neigh.default.retrans_time_ms = 1000
|
||||
net.ipv4.neigh.default.ucast_solicit = 3
|
||||
net.ipv4.neigh.default.unres_qlen = 31
|
||||
net.ipv4.neigh.default.unres_qlen_bytes = 65536
|
||||
net.ipv4.neigh.docker0.anycast_delay = 100
|
||||
net.ipv4.neigh.docker0.app_solicit = 0
|
||||
net.ipv4.neigh.docker0.base_reachable_time_ms = 30000
|
||||
net.ipv4.neigh.docker0.delay_first_probe_time = 5
|
||||
net.ipv4.neigh.docker0.gc_stale_time = 60
|
||||
net.ipv4.neigh.docker0.locktime = 100
|
||||
net.ipv4.neigh.docker0.mcast_solicit = 3
|
||||
net.ipv4.neigh.docker0.proxy_delay = 80
|
||||
net.ipv4.neigh.docker0.proxy_qlen = 64
|
||||
net.ipv4.neigh.docker0.retrans_time_ms = 1000
|
||||
net.ipv4.neigh.docker0.ucast_solicit = 3
|
||||
net.ipv4.neigh.docker0.unres_qlen = 31
|
||||
net.ipv4.neigh.docker0.unres_qlen_bytes = 65536
|
||||
net.ipv4.neigh.ens33.anycast_delay = 100
|
||||
net.ipv4.neigh.ens33.app_solicit = 0
|
||||
net.ipv4.neigh.ens33.base_reachable_time_ms = 30000
|
||||
net.ipv4.neigh.ens33.delay_first_probe_time = 5
|
||||
net.ipv4.neigh.ens33.gc_stale_time = 60
|
||||
net.ipv4.neigh.ens33.locktime = 100
|
||||
net.ipv4.neigh.ens33.mcast_solicit = 3
|
||||
net.ipv4.neigh.ens33.proxy_delay = 80
|
||||
net.ipv4.neigh.ens33.proxy_qlen = 64
|
||||
net.ipv4.neigh.ens33.retrans_time_ms = 1000
|
||||
net.ipv4.neigh.ens33.ucast_solicit = 3
|
||||
net.ipv4.neigh.ens33.unres_qlen = 31
|
||||
net.ipv4.neigh.ens33.unres_qlen_bytes = 65536
|
||||
net.ipv4.neigh.lo.anycast_delay = 100
|
||||
net.ipv4.neigh.lo.app_solicit = 0
|
||||
net.ipv4.neigh.lo.base_reachable_time_ms = 30000
|
||||
net.ipv4.neigh.lo.delay_first_probe_time = 5
|
||||
net.ipv4.neigh.lo.gc_stale_time = 60
|
||||
net.ipv4.neigh.lo.locktime = 100
|
||||
net.ipv4.neigh.lo.mcast_solicit = 3
|
||||
net.ipv4.neigh.lo.proxy_delay = 80
|
||||
net.ipv4.neigh.lo.proxy_qlen = 64
|
||||
net.ipv4.neigh.lo.retrans_time_ms = 1000
|
||||
net.ipv4.neigh.lo.ucast_solicit = 3
|
||||
net.ipv4.neigh.lo.unres_qlen = 31
|
||||
net.ipv4.neigh.lo.unres_qlen_bytes = 65536
|
||||
net.ipv4.ping_group_range = 1 0
|
||||
net.ipv4.route.error_burst = 5000
|
||||
net.ipv4.route.error_cost = 1000
|
||||
net.ipv4.route.gc_elasticity = 8
|
||||
net.ipv4.route.gc_interval = 60
|
||||
net.ipv4.route.gc_min_interval = 0
|
||||
net.ipv4.route.gc_min_interval_ms = 500
|
||||
net.ipv4.route.gc_thresh = -1
|
||||
net.ipv4.route.gc_timeout = 300
|
||||
net.ipv4.route.max_size = 2147483647
|
||||
net.ipv4.route.min_adv_mss = 256
|
||||
net.ipv4.route.min_pmtu = 552
|
||||
net.ipv4.route.mtu_expires = 600
|
||||
net.ipv4.route.redirect_load = 20
|
||||
net.ipv4.route.redirect_number = 9
|
||||
net.ipv4.route.redirect_silence = 20480
|
||||
net.ipv4.tcp_abort_on_overflow = 0
|
||||
net.ipv4.tcp_adv_win_scale = 1
|
||||
net.ipv4.tcp_allowed_congestion_control = cubic reno
|
||||
net.ipv4.tcp_app_win = 31
|
||||
net.ipv4.tcp_autocorking = 1
|
||||
net.ipv4.tcp_available_congestion_control = cubic reno
|
||||
net.ipv4.tcp_base_mss = 512
|
||||
net.ipv4.tcp_challenge_ack_limit = 1000
|
||||
net.ipv4.tcp_congestion_control = cubic
|
||||
net.ipv4.tcp_dsack = 1
|
||||
net.ipv4.tcp_early_retrans = 3
|
||||
net.ipv4.tcp_ecn = 2
|
||||
net.ipv4.tcp_fack = 1
|
||||
net.ipv4.tcp_fastopen = 0
|
||||
net.ipv4.tcp_fin_timeout = 60
|
||||
net.ipv4.tcp_frto = 2
|
||||
net.ipv4.tcp_invalid_ratelimit = 500
|
||||
net.ipv4.tcp_keepalive_intvl = 75
|
||||
net.ipv4.tcp_keepalive_probes = 9
|
||||
net.ipv4.tcp_keepalive_time = 7200
|
||||
net.ipv4.tcp_limit_output_bytes = 262144
|
||||
net.ipv4.tcp_low_latency = 0
|
||||
net.ipv4.tcp_max_orphans = 16384
|
||||
net.ipv4.tcp_max_ssthresh = 0
|
||||
net.ipv4.tcp_max_syn_backlog = 128
|
||||
net.ipv4.tcp_max_tw_buckets = 16384
|
||||
net.ipv4.tcp_mem = 88053 117406 176106
|
||||
net.ipv4.tcp_min_snd_mss = 48
|
||||
net.ipv4.tcp_min_tso_segs = 2
|
||||
net.ipv4.tcp_moderate_rcvbuf = 1
|
||||
net.ipv4.tcp_mtu_probing = 0
|
||||
net.ipv4.tcp_no_metrics_save = 0
|
||||
net.ipv4.tcp_notsent_lowat = -1
|
||||
net.ipv4.tcp_orphan_retries = 0
|
||||
net.ipv4.tcp_reordering = 3
|
||||
net.ipv4.tcp_retrans_collapse = 1
|
||||
net.ipv4.tcp_retries1 = 3
|
||||
net.ipv4.tcp_retries2 = 15
|
||||
net.ipv4.tcp_rfc1337 = 0
|
||||
net.ipv4.tcp_rmem = 4096 87380 6291456
|
||||
net.ipv4.tcp_sack = 1
|
||||
net.ipv4.tcp_slow_start_after_idle = 1
|
||||
net.ipv4.tcp_stdurg = 0
|
||||
net.ipv4.tcp_syn_retries = 6
|
||||
net.ipv4.tcp_synack_retries = 5
|
||||
net.ipv4.tcp_syncookies = 1
|
||||
net.ipv4.tcp_thin_dupack = 0
|
||||
net.ipv4.tcp_thin_linear_timeouts = 0
|
||||
net.ipv4.tcp_timestamps = 1
|
||||
net.ipv4.tcp_tso_win_divisor = 3
|
||||
net.ipv4.tcp_tw_recycle = 0
|
||||
net.ipv4.tcp_tw_reuse = 0
|
||||
net.ipv4.tcp_window_scaling = 1
|
||||
net.ipv4.tcp_wmem = 4096 16384 4194304
|
||||
net.ipv4.tcp_workaround_signed_windows = 0
|
||||
net.ipv4.udp_mem = 89943 119926 179886
|
||||
net.ipv4.udp_rmem_min = 4096
|
||||
net.ipv4.udp_wmem_min = 4096
|
||||
net.ipv4.xfrm4_gc_thresh = 32768
|
||||
net.ipv6.anycast_src_echo_reply = 0
|
||||
net.ipv6.bindv6only = 0
|
||||
net.ipv6.conf.all.accept_dad = 0
|
||||
net.ipv6.conf.all.accept_ra = 1
|
||||
net.ipv6.conf.all.accept_ra_defrtr = 1
|
||||
net.ipv6.conf.all.accept_ra_pinfo = 1
|
||||
net.ipv6.conf.all.accept_ra_rt_info_max_plen = 0
|
||||
net.ipv6.conf.all.accept_ra_rtr_pref = 1
|
||||
net.ipv6.conf.all.accept_redirects = 1
|
||||
net.ipv6.conf.all.accept_source_route = 0
|
||||
net.ipv6.conf.all.autoconf = 1
|
||||
net.ipv6.conf.all.dad_transmits = 1
|
||||
net.ipv6.conf.all.disable_ipv6 = 0
|
||||
net.ipv6.conf.all.enhanced_dad = 1
|
||||
net.ipv6.conf.all.force_mld_version = 0
|
||||
net.ipv6.conf.all.force_tllao = 0
|
||||
net.ipv6.conf.all.forwarding = 0
|
||||
net.ipv6.conf.all.hop_limit = 64
|
||||
net.ipv6.conf.all.keep_addr_on_down = 0
|
||||
net.ipv6.conf.all.max_addresses = 16
|
||||
net.ipv6.conf.all.max_desync_factor = 600
|
||||
net.ipv6.conf.all.mc_forwarding = 0
|
||||
net.ipv6.conf.all.mldv1_unsolicited_report_interval = 10000
|
||||
net.ipv6.conf.all.mldv2_unsolicited_report_interval = 1000
|
||||
net.ipv6.conf.all.mtu = 1280
|
||||
net.ipv6.conf.all.ndisc_notify = 0
|
||||
net.ipv6.conf.all.optimistic_dad = 0
|
||||
net.ipv6.conf.all.proxy_ndp = 0
|
||||
net.ipv6.conf.all.regen_max_retry = 3
|
||||
net.ipv6.conf.all.router_probe_interval = 60
|
||||
net.ipv6.conf.all.router_solicitation_delay = 1
|
||||
net.ipv6.conf.all.router_solicitation_interval = 4
|
||||
net.ipv6.conf.all.router_solicitations = 3
|
||||
net.ipv6.conf.all.temp_prefered_lft = 86400
|
||||
net.ipv6.conf.all.temp_valid_lft = 604800
|
||||
net.ipv6.conf.all.use_optimistic = 0
|
||||
net.ipv6.conf.all.use_tempaddr = 0
|
||||
net.ipv6.conf.default.accept_dad = 1
|
||||
net.ipv6.conf.default.accept_ra = 1
|
||||
net.ipv6.conf.default.accept_ra_defrtr = 1
|
||||
net.ipv6.conf.default.accept_ra_pinfo = 1
|
||||
net.ipv6.conf.default.accept_ra_rt_info_max_plen = 0
|
||||
net.ipv6.conf.default.accept_ra_rtr_pref = 1
|
||||
net.ipv6.conf.default.accept_redirects = 1
|
||||
net.ipv6.conf.default.accept_source_route = 0
|
||||
net.ipv6.conf.default.autoconf = 1
|
||||
net.ipv6.conf.default.dad_transmits = 1
|
||||
net.ipv6.conf.default.disable_ipv6 = 0
|
||||
net.ipv6.conf.default.enhanced_dad = 1
|
||||
net.ipv6.conf.default.force_mld_version = 0
|
||||
net.ipv6.conf.default.force_tllao = 0
|
||||
net.ipv6.conf.default.forwarding = 0
|
||||
net.ipv6.conf.default.hop_limit = 64
|
||||
net.ipv6.conf.default.keep_addr_on_down = 0
|
||||
net.ipv6.conf.default.max_addresses = 16
|
||||
net.ipv6.conf.default.max_desync_factor = 600
|
||||
net.ipv6.conf.default.mc_forwarding = 0
|
||||
net.ipv6.conf.default.mldv1_unsolicited_report_interval = 10000
|
||||
net.ipv6.conf.default.mldv2_unsolicited_report_interval = 1000
|
||||
net.ipv6.conf.default.mtu = 1280
|
||||
net.ipv6.conf.default.ndisc_notify = 0
|
||||
net.ipv6.conf.default.optimistic_dad = 0
|
||||
net.ipv6.conf.default.proxy_ndp = 0
|
||||
net.ipv6.conf.default.regen_max_retry = 3
|
||||
net.ipv6.conf.default.router_probe_interval = 60
|
||||
net.ipv6.conf.default.router_solicitation_delay = 1
|
||||
net.ipv6.conf.default.router_solicitation_interval = 4
|
||||
net.ipv6.conf.default.router_solicitations = 3
|
||||
net.ipv6.conf.default.temp_prefered_lft = 86400
|
||||
net.ipv6.conf.default.temp_valid_lft = 604800
|
||||
net.ipv6.conf.default.use_optimistic = 0
|
||||
net.ipv6.conf.default.use_tempaddr = 0
|
||||
net.ipv6.conf.docker0.accept_dad = 1
|
||||
net.ipv6.conf.docker0.accept_ra = 1
|
||||
net.ipv6.conf.docker0.accept_ra_defrtr = 1
|
||||
net.ipv6.conf.docker0.accept_ra_pinfo = 1
|
||||
net.ipv6.conf.docker0.accept_ra_rt_info_max_plen = 0
|
||||
net.ipv6.conf.docker0.accept_ra_rtr_pref = 1
|
||||
net.ipv6.conf.docker0.accept_redirects = 1
|
||||
net.ipv6.conf.docker0.accept_source_route = 0
|
||||
net.ipv6.conf.docker0.autoconf = 1
|
||||
net.ipv6.conf.docker0.dad_transmits = 1
|
||||
net.ipv6.conf.docker0.disable_ipv6 = 0
|
||||
net.ipv6.conf.docker0.enhanced_dad = 1
|
||||
net.ipv6.conf.docker0.force_mld_version = 0
|
||||
net.ipv6.conf.docker0.force_tllao = 0
|
||||
net.ipv6.conf.docker0.forwarding = 0
|
||||
net.ipv6.conf.docker0.hop_limit = 64
|
||||
net.ipv6.conf.docker0.keep_addr_on_down = 0
|
||||
net.ipv6.conf.docker0.max_addresses = 16
|
||||
net.ipv6.conf.docker0.max_desync_factor = 600
|
||||
net.ipv6.conf.docker0.mc_forwarding = 0
|
||||
net.ipv6.conf.docker0.mldv1_unsolicited_report_interval = 10000
|
||||
net.ipv6.conf.docker0.mldv2_unsolicited_report_interval = 1000
|
||||
net.ipv6.conf.docker0.mtu = 1500
|
||||
net.ipv6.conf.docker0.ndisc_notify = 0
|
||||
net.ipv6.conf.docker0.optimistic_dad = 0
|
||||
net.ipv6.conf.docker0.proxy_ndp = 0
|
||||
net.ipv6.conf.docker0.regen_max_retry = 3
|
||||
net.ipv6.conf.docker0.router_probe_interval = 60
|
||||
net.ipv6.conf.docker0.router_solicitation_delay = 1
|
||||
net.ipv6.conf.docker0.router_solicitation_interval = 4
|
||||
net.ipv6.conf.docker0.router_solicitations = 3
|
||||
net.ipv6.conf.docker0.temp_prefered_lft = 86400
|
||||
net.ipv6.conf.docker0.temp_valid_lft = 604800
|
||||
net.ipv6.conf.docker0.use_optimistic = 0
|
||||
net.ipv6.conf.docker0.use_tempaddr = 0
|
||||
net.ipv6.conf.ens33.accept_dad = 1
|
||||
net.ipv6.conf.ens33.accept_ra = 1
|
||||
net.ipv6.conf.ens33.accept_ra_defrtr = 0
|
||||
net.ipv6.conf.ens33.accept_ra_pinfo = 0
|
||||
net.ipv6.conf.ens33.accept_ra_rt_info_max_plen = 0
|
||||
net.ipv6.conf.ens33.accept_ra_rtr_pref = 0
|
||||
net.ipv6.conf.ens33.accept_redirects = 1
|
||||
net.ipv6.conf.ens33.accept_source_route = 0
|
||||
net.ipv6.conf.ens33.autoconf = 1
|
||||
net.ipv6.conf.ens33.dad_transmits = 1
|
||||
net.ipv6.conf.ens33.disable_ipv6 = 0
|
||||
net.ipv6.conf.ens33.enhanced_dad = 1
|
||||
net.ipv6.conf.ens33.force_mld_version = 0
|
||||
net.ipv6.conf.ens33.force_tllao = 0
|
||||
net.ipv6.conf.ens33.forwarding = 0
|
||||
net.ipv6.conf.ens33.hop_limit = 64
|
||||
net.ipv6.conf.ens33.keep_addr_on_down = 0
|
||||
net.ipv6.conf.ens33.max_addresses = 16
|
||||
net.ipv6.conf.ens33.max_desync_factor = 600
|
||||
net.ipv6.conf.ens33.mc_forwarding = 0
|
||||
net.ipv6.conf.ens33.mldv1_unsolicited_report_interval = 10000
|
||||
net.ipv6.conf.ens33.mldv2_unsolicited_report_interval = 1000
|
||||
net.ipv6.conf.ens33.mtu = 1500
|
||||
net.ipv6.conf.ens33.ndisc_notify = 0
|
||||
net.ipv6.conf.ens33.optimistic_dad = 0
|
||||
net.ipv6.conf.ens33.proxy_ndp = 0
|
||||
net.ipv6.conf.ens33.regen_max_retry = 3
|
||||
net.ipv6.conf.ens33.router_probe_interval = 60
|
||||
net.ipv6.conf.ens33.router_solicitation_delay = 1
|
||||
net.ipv6.conf.ens33.router_solicitation_interval = 4
|
||||
net.ipv6.conf.ens33.router_solicitations = 3
|
||||
net.ipv6.conf.ens33.temp_prefered_lft = 86400
|
||||
net.ipv6.conf.ens33.temp_valid_lft = 604800
|
||||
net.ipv6.conf.ens33.use_optimistic = 0
|
||||
net.ipv6.conf.ens33.use_tempaddr = 0
|
||||
net.ipv6.conf.lo.accept_dad = -1
|
||||
net.ipv6.conf.lo.accept_ra = 1
|
||||
net.ipv6.conf.lo.accept_ra_defrtr = 1
|
||||
net.ipv6.conf.lo.accept_ra_pinfo = 1
|
||||
net.ipv6.conf.lo.accept_ra_rt_info_max_plen = 0
|
||||
net.ipv6.conf.lo.accept_ra_rtr_pref = 1
|
||||
net.ipv6.conf.lo.accept_redirects = 1
|
||||
net.ipv6.conf.lo.accept_source_route = 0
|
||||
net.ipv6.conf.lo.autoconf = 1
|
||||
net.ipv6.conf.lo.dad_transmits = 1
|
||||
net.ipv6.conf.lo.disable_ipv6 = 0
|
||||
net.ipv6.conf.lo.enhanced_dad = 1
|
||||
net.ipv6.conf.lo.force_mld_version = 0
|
||||
net.ipv6.conf.lo.force_tllao = 0
|
||||
net.ipv6.conf.lo.forwarding = 0
|
||||
net.ipv6.conf.lo.hop_limit = 64
|
||||
net.ipv6.conf.lo.keep_addr_on_down = 0
|
||||
net.ipv6.conf.lo.max_addresses = 16
|
||||
net.ipv6.conf.lo.max_desync_factor = 600
|
||||
net.ipv6.conf.lo.mc_forwarding = 0
|
||||
net.ipv6.conf.lo.mldv1_unsolicited_report_interval = 10000
|
||||
net.ipv6.conf.lo.mldv2_unsolicited_report_interval = 1000
|
||||
net.ipv6.conf.lo.mtu = 65536
|
||||
net.ipv6.conf.lo.ndisc_notify = 0
|
||||
net.ipv6.conf.lo.optimistic_dad = 0
|
||||
net.ipv6.conf.lo.proxy_ndp = 0
|
||||
net.ipv6.conf.lo.regen_max_retry = 3
|
||||
net.ipv6.conf.lo.router_probe_interval = 60
|
||||
net.ipv6.conf.lo.router_solicitation_delay = 1
|
||||
net.ipv6.conf.lo.router_solicitation_interval = 4
|
||||
net.ipv6.conf.lo.router_solicitations = 3
|
||||
net.ipv6.conf.lo.temp_prefered_lft = 86400
|
||||
net.ipv6.conf.lo.temp_valid_lft = 604800
|
||||
net.ipv6.conf.lo.use_optimistic = 0
|
||||
net.ipv6.conf.lo.use_tempaddr = -1
|
||||
net.ipv6.fwmark_reflect = 0
|
||||
net.ipv6.icmp.ratelimit = 1000
|
||||
net.ipv6.idgen_delay = 1
|
||||
net.ipv6.idgen_retries = 3
|
||||
net.ipv6.ip6frag_high_thresh = 4194304
|
||||
net.ipv6.ip6frag_low_thresh = 3145728
|
||||
net.ipv6.ip6frag_secret_interval = 600
|
||||
net.ipv6.ip6frag_time = 60
|
||||
net.ipv6.ip_nonlocal_bind = 0
|
||||
net.ipv6.mld_max_msf = 64
|
||||
net.ipv6.mld_qrv = 2
|
||||
net.ipv6.neigh.default.anycast_delay = 100
|
||||
net.ipv6.neigh.default.app_solicit = 0
|
||||
net.ipv6.neigh.default.base_reachable_time_ms = 30000
|
||||
net.ipv6.neigh.default.delay_first_probe_time = 5
|
||||
net.ipv6.neigh.default.gc_interval = 30
|
||||
net.ipv6.neigh.default.gc_stale_time = 60
|
||||
net.ipv6.neigh.default.gc_thresh1 = 128
|
||||
net.ipv6.neigh.default.gc_thresh2 = 512
|
||||
net.ipv6.neigh.default.gc_thresh3 = 1024
|
||||
net.ipv6.neigh.default.locktime = 0
|
||||
net.ipv6.neigh.default.mcast_solicit = 3
|
||||
net.ipv6.neigh.default.proxy_delay = 80
|
||||
net.ipv6.neigh.default.proxy_qlen = 64
|
||||
net.ipv6.neigh.default.retrans_time_ms = 1000
|
||||
net.ipv6.neigh.default.ucast_solicit = 3
|
||||
net.ipv6.neigh.default.unres_qlen = 31
|
||||
net.ipv6.neigh.default.unres_qlen_bytes = 65536
|
||||
net.ipv6.neigh.docker0.anycast_delay = 100
|
||||
net.ipv6.neigh.docker0.app_solicit = 0
|
||||
net.ipv6.neigh.docker0.base_reachable_time_ms = 30000
|
||||
net.ipv6.neigh.docker0.delay_first_probe_time = 5
|
||||
net.ipv6.neigh.docker0.gc_stale_time = 60
|
||||
net.ipv6.neigh.docker0.locktime = 0
|
||||
net.ipv6.neigh.docker0.mcast_solicit = 3
|
||||
net.ipv6.neigh.docker0.proxy_delay = 80
|
||||
net.ipv6.neigh.docker0.proxy_qlen = 64
|
||||
net.ipv6.neigh.docker0.retrans_time_ms = 1000
|
||||
net.ipv6.neigh.docker0.ucast_solicit = 3
|
||||
net.ipv6.neigh.docker0.unres_qlen = 31
|
||||
net.ipv6.neigh.docker0.unres_qlen_bytes = 65536
|
||||
net.ipv6.neigh.ens33.anycast_delay = 100
|
||||
net.ipv6.neigh.ens33.app_solicit = 0
|
||||
net.ipv6.neigh.ens33.base_reachable_time_ms = 30000
|
||||
net.ipv6.neigh.ens33.delay_first_probe_time = 5
|
||||
net.ipv6.neigh.ens33.gc_stale_time = 60
|
||||
net.ipv6.neigh.ens33.locktime = 0
|
||||
net.ipv6.neigh.ens33.mcast_solicit = 3
|
||||
net.ipv6.neigh.ens33.proxy_delay = 80
|
||||
net.ipv6.neigh.ens33.proxy_qlen = 64
|
||||
net.ipv6.neigh.ens33.retrans_time_ms = 1000
|
||||
net.ipv6.neigh.ens33.ucast_solicit = 3
|
||||
net.ipv6.neigh.ens33.unres_qlen = 31
|
||||
net.ipv6.neigh.ens33.unres_qlen_bytes = 65536
|
||||
net.ipv6.neigh.lo.anycast_delay = 100
|
||||
net.ipv6.neigh.lo.app_solicit = 0
|
||||
net.ipv6.neigh.lo.base_reachable_time_ms = 30000
|
||||
net.ipv6.neigh.lo.delay_first_probe_time = 5
|
||||
net.ipv6.neigh.lo.gc_stale_time = 60
|
||||
net.ipv6.neigh.lo.locktime = 0
|
||||
net.ipv6.neigh.lo.mcast_solicit = 3
|
||||
net.ipv6.neigh.lo.proxy_delay = 80
|
||||
net.ipv6.neigh.lo.proxy_qlen = 64
|
||||
net.ipv6.neigh.lo.retrans_time_ms = 1000
|
||||
net.ipv6.neigh.lo.ucast_solicit = 3
|
||||
net.ipv6.neigh.lo.unres_qlen = 31
|
||||
net.ipv6.neigh.lo.unres_qlen_bytes = 65536
|
||||
net.ipv6.route.gc_elasticity = 9
|
||||
net.ipv6.route.gc_interval = 30
|
||||
net.ipv6.route.gc_min_interval = 0
|
||||
net.ipv6.route.gc_min_interval_ms = 500
|
||||
net.ipv6.route.gc_thresh = 1024
|
||||
net.ipv6.route.gc_timeout = 60
|
||||
net.ipv6.route.max_size = 16384
|
||||
net.ipv6.route.min_adv_mss = 1220
|
||||
net.ipv6.route.mtu_expires = 600
|
||||
net.ipv6.xfrm6_gc_thresh = 32768
|
||||
net.netfilter.nf_conntrack_acct = 0
|
||||
net.netfilter.nf_conntrack_buckets = 16384
|
||||
net.netfilter.nf_conntrack_checksum = 1
|
||||
net.netfilter.nf_conntrack_count = 2
|
||||
net.netfilter.nf_conntrack_dccp_loose = 1
|
||||
net.netfilter.nf_conntrack_dccp_timeout_closereq = 64
|
||||
net.netfilter.nf_conntrack_dccp_timeout_closing = 64
|
||||
net.netfilter.nf_conntrack_dccp_timeout_open = 43200
|
||||
net.netfilter.nf_conntrack_dccp_timeout_partopen = 480
|
||||
net.netfilter.nf_conntrack_dccp_timeout_request = 240
|
||||
net.netfilter.nf_conntrack_dccp_timeout_respond = 480
|
||||
net.netfilter.nf_conntrack_dccp_timeout_timewait = 240
|
||||
net.netfilter.nf_conntrack_events = 1
|
||||
net.netfilter.nf_conntrack_events_retry_timeout = 15
|
||||
net.netfilter.nf_conntrack_expect_max = 256
|
||||
net.netfilter.nf_conntrack_frag6_high_thresh = 4194304
|
||||
net.netfilter.nf_conntrack_frag6_low_thresh = 3145728
|
||||
net.netfilter.nf_conntrack_frag6_timeout = 60
|
||||
net.netfilter.nf_conntrack_generic_timeout = 600
|
||||
net.netfilter.nf_conntrack_helper = 1
|
||||
net.netfilter.nf_conntrack_icmp_timeout = 30
|
||||
net.netfilter.nf_conntrack_icmpv6_timeout = 30
|
||||
net.netfilter.nf_conntrack_log_invalid = 0
|
||||
net.netfilter.nf_conntrack_max = 65536
|
||||
net.netfilter.nf_conntrack_sctp_timeout_closed = 10
|
||||
net.netfilter.nf_conntrack_sctp_timeout_cookie_echoed = 3
|
||||
net.netfilter.nf_conntrack_sctp_timeout_cookie_wait = 3
|
||||
net.netfilter.nf_conntrack_sctp_timeout_established = 432000
|
||||
net.netfilter.nf_conntrack_sctp_timeout_heartbeat_acked = 210
|
||||
net.netfilter.nf_conntrack_sctp_timeout_heartbeat_sent = 30
|
||||
net.netfilter.nf_conntrack_sctp_timeout_shutdown_ack_sent = 3
|
||||
net.netfilter.nf_conntrack_sctp_timeout_shutdown_recd = 0
|
||||
net.netfilter.nf_conntrack_sctp_timeout_shutdown_sent = 0
|
||||
net.netfilter.nf_conntrack_tcp_be_liberal = 0
|
||||
net.netfilter.nf_conntrack_tcp_loose = 1
|
||||
net.netfilter.nf_conntrack_tcp_max_retrans = 3
|
||||
net.netfilter.nf_conntrack_tcp_timeout_close = 10
|
||||
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
|
||||
net.netfilter.nf_conntrack_tcp_timeout_established = 432000
|
||||
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
|
||||
net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30
|
||||
net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300
|
||||
net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60
|
||||
net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120
|
||||
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
|
||||
net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300
|
||||
net.netfilter.nf_conntrack_timestamp = 0
|
||||
net.netfilter.nf_conntrack_udp_timeout = 30
|
||||
net.netfilter.nf_conntrack_udp_timeout_stream = 180
|
||||
net.netfilter.nf_log.0 = NONE
|
||||
net.netfilter.nf_log.1 = NONE
|
||||
net.netfilter.nf_log.10 = NONE
|
||||
net.netfilter.nf_log.11 = NONE
|
||||
net.netfilter.nf_log.12 = NONE
|
||||
net.netfilter.nf_log.2 = NONE
|
||||
net.netfilter.nf_log.3 = NONE
|
||||
net.netfilter.nf_log.4 = NONE
|
||||
net.netfilter.nf_log.5 = NONE
|
||||
net.netfilter.nf_log.6 = NONE
|
||||
net.netfilter.nf_log.7 = NONE
|
||||
net.netfilter.nf_log.8 = NONE
|
||||
net.netfilter.nf_log.9 = NONE
|
||||
net.netfilter.nf_log_all_netns = 0
|
||||
net.nf_conntrack_max = 65536
|
||||
net.unix.max_dgram_qlen = 512
|
||||
user.max_ipc_namespaces = 14990
|
||||
user.max_mnt_namespaces = 14990
|
||||
user.max_net_namespaces = 14990
|
||||
user.max_pid_namespaces = 14990
|
||||
user.max_user_namespaces = 0
|
||||
user.max_uts_namespaces = 14990
|
||||
vm.admin_reserve_kbytes = 8192
|
||||
vm.block_dump = 0
|
||||
vm.dirty_background_bytes = 0
|
||||
vm.dirty_background_ratio = 10
|
||||
vm.dirty_bytes = 0
|
||||
vm.dirty_expire_centisecs = 3000
|
||||
vm.dirty_ratio = 30
|
||||
vm.dirty_writeback_centisecs = 500
|
||||
vm.drop_caches = 0
|
||||
vm.extfrag_threshold = 500
|
||||
vm.hugepages_treat_as_movable = 0
|
||||
vm.hugetlb_shm_group = 0
|
||||
vm.laptop_mode = 0
|
||||
vm.legacy_va_layout = 0
|
||||
vm.lowmem_reserve_ratio = 256 256 32
|
||||
vm.max_map_count = 65530
|
||||
vm.memory_failure_early_kill = 0
|
||||
vm.memory_failure_recovery = 1
|
||||
vm.min_free_kbytes = 67584
|
||||
vm.min_slab_ratio = 5
|
||||
vm.min_unmapped_ratio = 1
|
||||
vm.mmap_min_addr = 4096
|
||||
vm.nr_hugepages = 0
|
||||
vm.nr_hugepages_mempolicy = 0
|
||||
vm.nr_overcommit_hugepages = 0
|
||||
vm.nr_pdflush_threads = 0
|
||||
vm.numa_zonelist_order = default
|
||||
vm.oom_dump_tasks = 1
|
||||
vm.oom_kill_allocating_task = 0
|
||||
vm.overcommit_kbytes = 0
|
||||
vm.overcommit_memory = 0
|
||||
vm.overcommit_ratio = 50
|
||||
vm.page-cluster = 3
|
||||
vm.panic_on_oom = 0
|
||||
vm.percpu_pagelist_fraction = 0
|
||||
vm.stat_interval = 1
|
||||
vm.swappiness = 30
|
||||
vm.user_reserve_kbytes = 117506
|
||||
vm.vfs_cache_pressure = 100
|
||||
vm.zone_reclaim_mode = 0
|
||||
1
tests/fixtures/centos-7.7/tracepath.json
vendored
Normal file
1
tests/fixtures/centos-7.7/tracepath.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"pmtu": 1500, "forward_hops": null, "return_hops": null, "hops": [{"ttl": 1, "guess": true, "host": "[LOCALHOST]", "reply_ms": null, "pmtu": 1500, "asymmetric_difference": null, "reached": false}, {"ttl": 1, "guess": false, "host": "dsldevice.attlocal.net", "reply_ms": 4.063, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 1, "guess": false, "host": "dsldevice.attlocal.net", "reply_ms": 6.368, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 2, "guess": false, "host": "76-220-24-1.lightspeed.sntcca.sbcglobal.net", "reply_ms": 24.092, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 3, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 4, "guess": false, "host": "12.242.117.16", "reply_ms": 161.527, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 5, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 6, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 3, "guess": false, "host": "71.148.149.0", "reply_ms": 12000.559, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 3, "guess": false, "host": "71.148.149.0", "reply_ms": 11967.523, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 3, "guess": false, "host": "71.148.149.0", "reply_ms": 11829.634, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 10, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 11, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 12, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 13, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 14, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 15, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 16, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 17, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 18, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 19, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 20, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 21, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 22, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 23, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 24, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 25, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 26, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 27, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 28, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 29, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}, {"ttl": 30, "guess": false, "host": null, "reply_ms": null, "pmtu": null, "asymmetric_difference": null, "reached": false}]}
|
||||
34
tests/fixtures/centos-7.7/tracepath.out
vendored
Normal file
34
tests/fixtures/centos-7.7/tracepath.out
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
1?: [LOCALHOST] pmtu 1500
|
||||
1: dsldevice.attlocal.net 4.063ms
|
||||
1: dsldevice.attlocal.net 6.368ms
|
||||
2: 76-220-24-1.lightspeed.sntcca.sbcglobal.net 24.092ms
|
||||
3: no reply
|
||||
4: 12.242.117.16 161.527ms
|
||||
5: no reply
|
||||
6: no reply
|
||||
3: 71.148.149.0 12000.559ms
|
||||
3: 71.148.149.0 11967.523ms
|
||||
3: 71.148.149.0 11829.634ms
|
||||
10: no reply
|
||||
11: no reply
|
||||
12: no reply
|
||||
13: no reply
|
||||
14: no reply
|
||||
15: no reply
|
||||
16: no reply
|
||||
17: no reply
|
||||
18: no reply
|
||||
19: no reply
|
||||
20: no reply
|
||||
21: no reply
|
||||
22: no reply
|
||||
23: no reply
|
||||
24: no reply
|
||||
25: no reply
|
||||
26: no reply
|
||||
27: no reply
|
||||
28: no reply
|
||||
29: no reply
|
||||
30: no reply
|
||||
Too many hops: pmtu 1500
|
||||
Resume: pmtu 1500
|
||||
1
tests/fixtures/centos-7.7/tracepath6.json
vendored
Normal file
1
tests/fixtures/centos-7.7/tracepath6.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"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}]}
|
||||
5
tests/fixtures/centos-7.7/tracepath6.out
vendored
Normal file
5
tests/fixtures/centos-7.7/tracepath6.out
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
1?: [LOCALHOST] pmtu 1500
|
||||
1: dust.inr.ac.ru 0.411ms
|
||||
2: dust.inr.ac.ru asymm 1 0.390ms pmtu 1480
|
||||
2: 3ffe:2400:0:109::2 463.514ms reached
|
||||
Resume: pmtu 1480 hops 2 back 2
|
||||
1
tests/fixtures/centos-7.7/traceroute.json
vendored
Normal file
1
tests/fixtures/centos-7.7/traceroute.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "151.101.197.67", "destination_name": "www.cnn.com", "hops": [{"hop": 1, "probes": [{"annotation": null, "asn": null, "ip": "192.168.1.254", "name": "dsldevice.attlocal.net", "rtt": 4.024}, {"annotation": null, "asn": null, "ip": "192.168.1.254", "name": "dsldevice.attlocal.net", "rtt": 3.683}, {"annotation": null, "asn": null, "ip": "192.168.1.254", "name": "dsldevice.attlocal.net", "rtt": 3.706}]}, {"hop": 2, "probes": [{"annotation": null, "asn": null, "ip": "76.220.24.1", "name": "76-220-24-1.lightspeed.sntcca.sbcglobal.net", "rtt": 24.038}, {"annotation": null, "asn": null, "ip": "76.220.24.1", "name": "76-220-24-1.lightspeed.sntcca.sbcglobal.net", "rtt": 23.911}, {"annotation": null, "asn": null, "ip": "76.220.24.1", "name": "76-220-24-1.lightspeed.sntcca.sbcglobal.net", "rtt": 23.724}]}, {"hop": 3, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 4, "probes": [{"annotation": null, "asn": null, "ip": "12.122.149.186", "name": "12.122.149.186", "rtt": 42.273}, {"annotation": null, "asn": null, "ip": "12.122.149.186", "name": "12.122.149.186", "rtt": 42.213}, {"annotation": null, "asn": null, "ip": "12.122.149.186", "name": "12.122.149.186", "rtt": 42.083}]}, {"hop": 5, "probes": [{"annotation": null, "asn": null, "ip": "12.122.2.77", "name": "12.122.2.77", "rtt": 36.789}, {"annotation": null, "asn": null, "ip": "12.122.2.77", "name": "12.122.2.77", "rtt": 43.691}, {"annotation": null, "asn": null, "ip": "12.122.2.77", "name": "12.122.2.77", "rtt": 36.597}]}, {"hop": 6, "probes": [{"annotation": null, "asn": null, "ip": "12.122.2.94", "name": "sd2ca21crs.ip.att.net", "rtt": 41.587}, {"annotation": null, "asn": null, "ip": "12.122.2.94", "name": "sd2ca21crs.ip.att.net", "rtt": 40.24}, {"annotation": null, "asn": null, "ip": "12.122.2.94", "name": "sd2ca21crs.ip.att.net", "rtt": 44.659}]}, {"hop": 7, "probes": [{"annotation": null, "asn": null, "ip": "12.123.215.161", "name": "12.123.215.161", "rtt": 37.858}, {"annotation": null, "asn": null, "ip": "12.123.215.161", "name": "12.123.215.161", "rtt": 37.321}, {"annotation": null, "asn": null, "ip": "12.123.215.161", "name": "12.123.215.161", "rtt": 37.092}]}, {"hop": 8, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 9, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 10, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 11, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 12, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 13, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 14, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 15, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 16, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 17, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 18, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 19, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 20, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 21, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 22, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 23, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 24, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 25, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 26, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 27, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 28, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 29, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}, {"hop": 30, "probes": [{"annotation": null, "asn": null, "ip": null, "name": null, "rtt": null}]}]}
|
||||
32
tests/fixtures/centos-7.7/traceroute.out
vendored
Normal file
32
tests/fixtures/centos-7.7/traceroute.out
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
traceroute to www.cnn.com (151.101.197.67), 30 hops max, 60 byte packets
|
||||
1 dsldevice.attlocal.net (192.168.1.254) 4.024 ms 3.683 ms 3.706 ms
|
||||
2 76-220-24-1.lightspeed.sntcca.sbcglobal.net (76.220.24.1) 24.038 ms 23.911 ms 23.724 ms
|
||||
3 * * *
|
||||
4 12.122.149.186 (12.122.149.186) 42.273 ms 42.213 ms 42.083 ms
|
||||
5 12.122.2.77 (12.122.2.77) 36.789 ms 43.691 ms 36.597 ms
|
||||
6 sd2ca21crs.ip.att.net (12.122.2.94) 41.587 ms 40.240 ms 44.659 ms
|
||||
7 12.123.215.161 (12.123.215.161) 37.858 ms 37.321 ms 37.092 ms
|
||||
8 * * *
|
||||
9 * * *
|
||||
10 * * *
|
||||
11 * * *
|
||||
12 * * *
|
||||
13 * * *
|
||||
14 * * *
|
||||
15 * * *
|
||||
16 * * *
|
||||
17 * * *
|
||||
18 * * *
|
||||
19 * * *
|
||||
20 * * *
|
||||
21 * * *
|
||||
22 * * *
|
||||
23 * * *
|
||||
24 * * *
|
||||
25 * * *
|
||||
26 * * *
|
||||
27 * * *
|
||||
28 * * *
|
||||
29 * * *
|
||||
30 * * *
|
||||
|
||||
28
tests/fixtures/create_fixtures.sh
vendored
28
tests/fixtures/create_fixtures.sh
vendored
@@ -101,3 +101,31 @@ sudo lastb > lastb.out
|
||||
|
||||
cat /etc/group > group.out
|
||||
sudo cat /etc/gshadow > gshadow.out
|
||||
|
||||
# linux:
|
||||
ping -4 www.cnn.com -c 20 -O > ping-hostname-O.out
|
||||
ping -4 www.cnn.com -c 20 -O -p abcd > ping-hostname-O-p.out
|
||||
ping -4 www.cnn.com -c 20 -O -D -p abcd -s 1400 > ping-hostname-O-D-p-s.out
|
||||
ping 127.0.0.1 -c 20 -O > ping-ip-O.out
|
||||
ping 127.0.0.1 -c 20 -O -D > ping-ip-O-D.out
|
||||
ping6 2a04:4e42:600::323 -c 20 -O -p abcd > ping6-ip-O-p.out
|
||||
ping6 2a04:4e42:600::323 -c 20 -O -D -p abcd > ping6-ip-O-D-p.out
|
||||
ping6 www.cnn.com -c 20 -O -D -p abcd -s 1400 > ping6-hostname-O-D-p-s.out
|
||||
ping6 www.cnn.com -c 20 -O -D -p abcd > ping6-hostname-O-D-p.out
|
||||
ping6 www.cnn.com -c 20 -O -p abcd > ping6-hostname-O-p.out
|
||||
|
||||
# osx/bsd:
|
||||
ping -c 3 -s 40 127.0.0.1 > ping-ip-s.out
|
||||
ping -c 3 -s 40 localhost > ping-hostname-s.out
|
||||
ping -c 3 -p ff 127.0.0.1 > ping-ip-p.out
|
||||
ping -c 3 127.0.0.1 > ping-ip.out
|
||||
ping -c 3 -p ff cnn.com > ping-hostname-p.out
|
||||
ping -c 3 cnn.com > ping-hostname.out
|
||||
ping6 -c 3 -s 40 localhost > ping6-hostname-s.out
|
||||
ping6 -c 3 -s 40 ::1 > ping6-ip-s.out
|
||||
ping6 -c 3 -p ff ::1 > ping6-ip-p.out
|
||||
ping6 -c 3 ::1 > ping6-ip.out
|
||||
ping6 -c 3 -p ff localhost > ping6-hostname-p.out
|
||||
ping6 -c 3 localhost > ping6-hostname.out
|
||||
|
||||
|
||||
|
||||
1
tests/fixtures/fedora32/ping-hostname-O-D-p-s.json
vendored
Normal file
1
tests/fixtures/fedora32/ping-hostname-O-D-p-s.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "151.101.129.67", "data_bytes": 1400, "pattern": "0xabcd", "destination": "turner-tls.map.fastly.net", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19040.0, "round_trip_ms_min": 25.934, "round_trip_ms_avg": 43.176, "round_trip_ms_max": 149.271, "round_trip_ms_stddev": 26.937, "responses": [{"type": "reply", "timestamp": 1595191335.548399, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 1, "ttl": 59, "time_ms": 46.1, "duplicate": false}, {"type": "reply", "timestamp": 1595191336.134174, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 2, "ttl": 59, "time_ms": 61.5, "duplicate": false}, {"type": "reply", "timestamp": 1595191337.101575, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 3, "ttl": 59, "time_ms": 26.3, "duplicate": false}, {"type": "reply", "timestamp": 1595191338.108023, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 4, "ttl": 59, "time_ms": 30.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191339.229213, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 5, "ttl": 59, "time_ms": 149.0, "duplicate": false}, {"type": "reply", "timestamp": 1595191340.114026, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 6, "ttl": 59, "time_ms": 32.4, "duplicate": false}, {"type": "reply", "timestamp": 1595191341.122628, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 7, "ttl": 59, "time_ms": 37.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191342.110785, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 8, "ttl": 59, "time_ms": 26.0, "duplicate": false}, {"type": "reply", "timestamp": 1595191343.118652, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 9, "ttl": 59, "time_ms": 32.3, "duplicate": false}, {"type": "reply", "timestamp": 1595191344.1303, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 10, "ttl": 59, "time_ms": 43.4, "duplicate": false}, {"type": "reply", "timestamp": 1595191345.162284, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 11, "ttl": 59, "time_ms": 71.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191346.123086, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 12, "ttl": 59, "time_ms": 31.1, "duplicate": false}, {"type": "reply", "timestamp": 1595191347.127689, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 13, "ttl": 59, "time_ms": 33.6, "duplicate": false}, {"type": "reply", "timestamp": 1595191348.142817, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 14, "ttl": 59, "time_ms": 45.6, "duplicate": false}, {"type": "reply", "timestamp": 1595191349.125383, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 15, "ttl": 59, "time_ms": 25.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191350.136294, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 16, "ttl": 59, "time_ms": 34.0, "duplicate": false}, {"type": "reply", "timestamp": 1595191351.135889, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 17, "ttl": 59, "time_ms": 31.2, "duplicate": false}, {"type": "reply", "timestamp": 1595191352.134199, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 18, "ttl": 59, "time_ms": 26.2, "duplicate": false}, {"type": "reply", "timestamp": 1595191353.147391, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 19, "ttl": 59, "time_ms": 38.5, "duplicate": false}, {"type": "reply", "timestamp": 1595191354.15064, "bytes": 1408, "response_ip": "151.101.129.67", "icmp_seq": 20, "ttl": 59, "time_ms": 39.5, "duplicate": false}]}
|
||||
26
tests/fixtures/fedora32/ping-hostname-O-D-p-s.out
vendored
Normal file
26
tests/fixtures/fedora32/ping-hostname-O-D-p-s.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING turner-tls.map.fastly.net (151.101.129.67) 1400(1428) bytes of data.
|
||||
[1595191335.548399] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=1 ttl=59 time=46.1 ms
|
||||
[1595191336.134174] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=2 ttl=59 time=61.5 ms
|
||||
[1595191337.101575] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=3 ttl=59 time=26.3 ms
|
||||
[1595191338.108023] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=4 ttl=59 time=30.9 ms
|
||||
[1595191339.229213] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=5 ttl=59 time=149 ms
|
||||
[1595191340.114026] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=6 ttl=59 time=32.4 ms
|
||||
[1595191341.122628] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=7 ttl=59 time=37.9 ms
|
||||
[1595191342.110785] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=8 ttl=59 time=26.0 ms
|
||||
[1595191343.118652] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=9 ttl=59 time=32.3 ms
|
||||
[1595191344.130300] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=10 ttl=59 time=43.4 ms
|
||||
[1595191345.162284] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=11 ttl=59 time=71.9 ms
|
||||
[1595191346.123086] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=12 ttl=59 time=31.1 ms
|
||||
[1595191347.127689] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=13 ttl=59 time=33.6 ms
|
||||
[1595191348.142817] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=14 ttl=59 time=45.6 ms
|
||||
[1595191349.125383] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=15 ttl=59 time=25.9 ms
|
||||
[1595191350.136294] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=16 ttl=59 time=34.0 ms
|
||||
[1595191351.135889] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=17 ttl=59 time=31.2 ms
|
||||
[1595191352.134199] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=18 ttl=59 time=26.2 ms
|
||||
[1595191353.147391] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=19 ttl=59 time=38.5 ms
|
||||
[1595191354.150640] 1408 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=20 ttl=59 time=39.5 ms
|
||||
|
||||
--- turner-tls.map.fastly.net ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19040ms
|
||||
rtt min/avg/max/mdev = 25.934/43.176/149.271/26.937 ms
|
||||
1
tests/fixtures/fedora32/ping-hostname-O-p.json
vendored
Normal file
1
tests/fixtures/fedora32/ping-hostname-O-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "151.101.197.67", "data_bytes": 56, "pattern": "0xabcd", "destination": "turner-tls.map.fastly.net", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19026.0, "round_trip_ms_min": 37.406, "round_trip_ms_avg": 44.894, "round_trip_ms_max": 57.881, "round_trip_ms_stddev": 6.101, "responses": [{"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 1, "ttl": 56, "time_ms": 38.2, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 2, "ttl": 56, "time_ms": 38.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 3, "ttl": 56, "time_ms": 39.3, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 4, "ttl": 56, "time_ms": 49.2, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 5, "ttl": 56, "time_ms": 47.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 6, "ttl": 56, "time_ms": 48.2, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 7, "ttl": 56, "time_ms": 53.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 8, "ttl": 56, "time_ms": 47.1, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 9, "ttl": 56, "time_ms": 47.3, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 10, "ttl": 56, "time_ms": 51.8, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 11, "ttl": 56, "time_ms": 55.1, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 12, "ttl": 56, "time_ms": 40.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 13, "ttl": 56, "time_ms": 39.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 14, "ttl": 56, "time_ms": 40.1, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 15, "ttl": 56, "time_ms": 41.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 16, "ttl": 56, "time_ms": 57.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 17, "ttl": 56, "time_ms": 45.7, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 18, "ttl": 56, "time_ms": 39.3, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 19, "ttl": 56, "time_ms": 37.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.197.67", "icmp_seq": 20, "ttl": 56, "time_ms": 40.4, "duplicate": false}]}
|
||||
26
tests/fixtures/fedora32/ping-hostname-O-p.out
vendored
Normal file
26
tests/fixtures/fedora32/ping-hostname-O-p.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING turner-tls.map.fastly.net (151.101.197.67) 56(84) bytes of data.
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=1 ttl=56 time=38.2 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=2 ttl=56 time=38.5 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=3 ttl=56 time=39.3 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=4 ttl=56 time=49.2 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=5 ttl=56 time=47.4 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=6 ttl=56 time=48.2 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=7 ttl=56 time=53.4 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=8 ttl=56 time=47.1 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=9 ttl=56 time=47.3 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=10 ttl=56 time=51.8 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=11 ttl=56 time=55.1 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=12 ttl=56 time=40.6 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=13 ttl=56 time=39.5 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=14 ttl=56 time=40.1 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=15 ttl=56 time=41.4 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=16 ttl=56 time=57.9 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=17 ttl=56 time=45.7 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=18 ttl=56 time=39.3 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=19 ttl=56 time=37.4 ms
|
||||
64 bytes from 151.101.197.67 (151.101.197.67): icmp_seq=20 ttl=56 time=40.4 ms
|
||||
|
||||
--- turner-tls.map.fastly.net ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19026ms
|
||||
rtt min/avg/max/mdev = 37.406/44.894/57.881/6.101 ms
|
||||
1
tests/fixtures/fedora32/ping-hostname-O.json
vendored
Normal file
1
tests/fixtures/fedora32/ping-hostname-O.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "151.101.129.67", "data_bytes": 56, "pattern": null, "destination": "turner-tls.map.fastly.net", "packets_transmitted": 20, "packets_received": 19, "packet_loss_percent": 5.0, "duplicates": 0, "time_ms": 19075.0, "round_trip_ms_min": 24.317, "round_trip_ms_avg": 61.577, "round_trip_ms_max": 274.537, "round_trip_ms_stddev": 69.94, "responses": [{"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 1, "ttl": 59, "time_ms": 27.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 2, "ttl": 59, "time_ms": 31.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 3, "ttl": 59, "time_ms": 25.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 4, "ttl": 59, "time_ms": 65.1, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 5, "ttl": 59, "time_ms": 32.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 6, "ttl": 59, "time_ms": 32.2, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 7, "ttl": 59, "time_ms": 156.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 8, "ttl": 59, "time_ms": 216.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 9, "ttl": 59, "time_ms": 275.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 10, "ttl": 59, "time_ms": 25.7, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 11, "ttl": 59, "time_ms": 29.5, "duplicate": false}, {"type": "timeout", "timestamp": null, "icmp_seq": 12}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 13, "ttl": 59, "time_ms": 25.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 14, "ttl": 59, "time_ms": 33.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 15, "ttl": 59, "time_ms": 24.3, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 16, "ttl": 59, "time_ms": 35.8, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 17, "ttl": 59, "time_ms": 24.8, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 18, "ttl": 59, "time_ms": 34.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 19, "ttl": 59, "time_ms": 30.7, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "151.101.129.67", "icmp_seq": 20, "ttl": 59, "time_ms": 45.8, "duplicate": false}]}
|
||||
25
tests/fixtures/fedora32/ping-hostname-O.out
vendored
Normal file
25
tests/fixtures/fedora32/ping-hostname-O.out
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
PING turner-tls.map.fastly.net (151.101.129.67) 56(84) bytes of data.
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=1 ttl=59 time=27.5 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=2 ttl=59 time=31.5 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=3 ttl=59 time=25.5 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=4 ttl=59 time=65.1 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=5 ttl=59 time=32.4 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=6 ttl=59 time=32.2 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=7 ttl=59 time=156 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=8 ttl=59 time=216 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=9 ttl=59 time=275 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=10 ttl=59 time=25.7 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=11 ttl=59 time=29.5 ms
|
||||
no answer yet for icmp_seq=12
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=13 ttl=59 time=25.9 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=14 ttl=59 time=33.0 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=15 ttl=59 time=24.3 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=16 ttl=59 time=35.8 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=17 ttl=59 time=24.8 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=18 ttl=59 time=34.0 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=19 ttl=59 time=30.7 ms
|
||||
64 bytes from 151.101.129.67 (151.101.129.67): icmp_seq=20 ttl=59 time=45.8 ms
|
||||
|
||||
--- turner-tls.map.fastly.net ping statistics ---
|
||||
20 packets transmitted, 19 received, 5% packet loss, time 19075ms
|
||||
rtt min/avg/max/mdev = 24.317/61.577/274.537/69.940 ms
|
||||
1
tests/fixtures/fedora32/ping-ip-O-D.json
vendored
Normal file
1
tests/fixtures/fedora32/ping-ip-O-D.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "127.0.0.1", "data_bytes": 56, "pattern": null, "destination": "127.0.0.1", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19450.0, "round_trip_ms_min": 0.043, "round_trip_ms_avg": 0.086, "round_trip_ms_max": 0.135, "round_trip_ms_stddev": 0.016, "responses": [{"type": "reply", "timestamp": 1595191373.643436, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.043, "duplicate": false}, {"type": "reply", "timestamp": 1595191374.662543, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.083, "duplicate": false}, {"type": "reply", "timestamp": 1595191375.685291, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 3, "ttl": 64, "time_ms": 0.091, "duplicate": false}, {"type": "reply", "timestamp": 1595191376.709678, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 4, "ttl": 64, "time_ms": 0.092, "duplicate": false}, {"type": "reply", "timestamp": 1595191377.734105, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 5, "ttl": 64, "time_ms": 0.09, "duplicate": false}, {"type": "reply", "timestamp": 1595191378.758107, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 6, "ttl": 64, "time_ms": 0.089, "duplicate": false}, {"type": "reply", "timestamp": 1595191379.781215, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 7, "ttl": 64, "time_ms": 0.087, "duplicate": false}, {"type": "reply", "timestamp": 1595191380.80601, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 8, "ttl": 64, "time_ms": 0.092, "duplicate": false}, {"type": "reply", "timestamp": 1595191381.829806, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 9, "ttl": 64, "time_ms": 0.088, "duplicate": false}, {"type": "reply", "timestamp": 1595191382.853166, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 10, "ttl": 64, "time_ms": 0.135, "duplicate": false}, {"type": "reply", "timestamp": 1595191383.876966, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 11, "ttl": 64, "time_ms": 0.101, "duplicate": false}, {"type": "reply", "timestamp": 1595191384.900636, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 12, "ttl": 64, "time_ms": 0.084, "duplicate": false}, {"type": "reply", "timestamp": 1595191385.925055, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 13, "ttl": 64, "time_ms": 0.071, "duplicate": false}, {"type": "reply", "timestamp": 1595191386.94986, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 14, "ttl": 64, "time_ms": 0.087, "duplicate": false}, {"type": "reply", "timestamp": 1595191387.973041, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 15, "ttl": 64, "time_ms": 0.087, "duplicate": false}, {"type": "reply", "timestamp": 1595191388.997049, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 16, "ttl": 64, "time_ms": 0.073, "duplicate": false}, {"type": "reply", "timestamp": 1595191390.021265, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 17, "ttl": 64, "time_ms": 0.074, "duplicate": false}, {"type": "reply", "timestamp": 1595191391.044904, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 18, "ttl": 64, "time_ms": 0.089, "duplicate": false}, {"type": "reply", "timestamp": 1595191392.069285, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 19, "ttl": 64, "time_ms": 0.09, "duplicate": false}, {"type": "reply", "timestamp": 1595191393.093307, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 20, "ttl": 64, "time_ms": 0.084, "duplicate": false}]}
|
||||
25
tests/fixtures/fedora32/ping-ip-O-D.out
vendored
Normal file
25
tests/fixtures/fedora32/ping-ip-O-D.out
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
|
||||
[1595191373.643436] 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.043 ms
|
||||
[1595191374.662543] 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.083 ms
|
||||
[1595191375.685291] 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.091 ms
|
||||
[1595191376.709678] 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.092 ms
|
||||
[1595191377.734105] 64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.090 ms
|
||||
[1595191378.758107] 64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.089 ms
|
||||
[1595191379.781215] 64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.087 ms
|
||||
[1595191380.806010] 64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.092 ms
|
||||
[1595191381.829806] 64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.088 ms
|
||||
[1595191382.853166] 64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.135 ms
|
||||
[1595191383.876966] 64 bytes from 127.0.0.1: icmp_seq=11 ttl=64 time=0.101 ms
|
||||
[1595191384.900636] 64 bytes from 127.0.0.1: icmp_seq=12 ttl=64 time=0.084 ms
|
||||
[1595191385.925055] 64 bytes from 127.0.0.1: icmp_seq=13 ttl=64 time=0.071 ms
|
||||
[1595191386.949860] 64 bytes from 127.0.0.1: icmp_seq=14 ttl=64 time=0.087 ms
|
||||
[1595191387.973041] 64 bytes from 127.0.0.1: icmp_seq=15 ttl=64 time=0.087 ms
|
||||
[1595191388.997049] 64 bytes from 127.0.0.1: icmp_seq=16 ttl=64 time=0.073 ms
|
||||
[1595191390.021265] 64 bytes from 127.0.0.1: icmp_seq=17 ttl=64 time=0.074 ms
|
||||
[1595191391.044904] 64 bytes from 127.0.0.1: icmp_seq=18 ttl=64 time=0.089 ms
|
||||
[1595191392.069285] 64 bytes from 127.0.0.1: icmp_seq=19 ttl=64 time=0.090 ms
|
||||
[1595191393.093307] 64 bytes from 127.0.0.1: icmp_seq=20 ttl=64 time=0.084 ms
|
||||
|
||||
--- 127.0.0.1 ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19450ms
|
||||
rtt min/avg/max/mdev = 0.043/0.086/0.135/0.016 ms
|
||||
1
tests/fixtures/fedora32/ping-ip-O.json
vendored
Normal file
1
tests/fixtures/fedora32/ping-ip-O.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "127.0.0.1", "data_bytes": 56, "pattern": null, "destination": "127.0.0.1", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19480.0, "round_trip_ms_min": 0.043, "round_trip_ms_avg": 0.093, "round_trip_ms_max": 0.16, "round_trip_ms_stddev": 0.025, "responses": [{"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.043, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.07, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 3, "ttl": 64, "time_ms": 0.09, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 4, "ttl": 64, "time_ms": 0.093, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 5, "ttl": 64, "time_ms": 0.078, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 6, "ttl": 64, "time_ms": 0.16, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 7, "ttl": 64, "time_ms": 0.089, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 8, "ttl": 64, "time_ms": 0.155, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 9, "ttl": 64, "time_ms": 0.084, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 10, "ttl": 64, "time_ms": 0.111, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 11, "ttl": 64, "time_ms": 0.079, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 12, "ttl": 64, "time_ms": 0.103, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 13, "ttl": 64, "time_ms": 0.105, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 14, "ttl": 64, "time_ms": 0.087, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 15, "ttl": 64, "time_ms": 0.081, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 16, "ttl": 64, "time_ms": 0.089, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 17, "ttl": 64, "time_ms": 0.09, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 18, "ttl": 64, "time_ms": 0.089, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 19, "ttl": 64, "time_ms": 0.09, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 20, "ttl": 64, "time_ms": 0.092, "duplicate": false}]}
|
||||
25
tests/fixtures/fedora32/ping-ip-O.out
vendored
Normal file
25
tests/fixtures/fedora32/ping-ip-O.out
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
|
||||
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.043 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.070 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.090 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.093 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.078 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.160 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.089 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.155 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=9 ttl=64 time=0.084 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=10 ttl=64 time=0.111 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=11 ttl=64 time=0.079 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=12 ttl=64 time=0.103 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=13 ttl=64 time=0.105 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=14 ttl=64 time=0.087 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=15 ttl=64 time=0.081 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=16 ttl=64 time=0.089 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=17 ttl=64 time=0.090 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=18 ttl=64 time=0.089 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=19 ttl=64 time=0.090 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=20 ttl=64 time=0.092 ms
|
||||
|
||||
--- 127.0.0.1 ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19480ms
|
||||
rtt min/avg/max/mdev = 0.043/0.093/0.160/0.025 ms
|
||||
1
tests/fixtures/fedora32/ping6-hostname-O-D-p-s.json
vendored
Normal file
1
tests/fixtures/fedora32/ping6-hostname-O-D-p-s.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "2a04:4e42:200::323", "data_bytes": 1400, "pattern": "0xabcd", "destination": "www.cnn.com", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19042.0, "round_trip_ms_min": 30.757, "round_trip_ms_avg": 37.536, "round_trip_ms_max": 59.021, "round_trip_ms_stddev": 5.967, "responses": [{"type": "reply", "timestamp": 1595191433.391154, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 1, "ttl": 59, "time_ms": 34.6, "duplicate": false}, {"type": "reply", "timestamp": 1595191434.063086, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 2, "ttl": 59, "time_ms": 37.2, "duplicate": false}, {"type": "reply", "timestamp": 1595191435.071905, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 3, "ttl": 59, "time_ms": 44.3, "duplicate": false}, {"type": "reply", "timestamp": 1595191436.067128, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 4, "ttl": 59, "time_ms": 37.3, "duplicate": false}, {"type": "reply", "timestamp": 1595191437.06455, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 5, "ttl": 59, "time_ms": 32.2, "duplicate": false}, {"type": "reply", "timestamp": 1595191438.06541, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 6, "ttl": 59, "time_ms": 30.8, "duplicate": false}, {"type": "reply", "timestamp": 1595191439.076718, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 7, "ttl": 59, "time_ms": 40.6, "duplicate": false}, {"type": "reply", "timestamp": 1595191440.076357, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 8, "ttl": 59, "time_ms": 38.2, "duplicate": false}, {"type": "reply", "timestamp": 1595191441.079078, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 9, "ttl": 59, "time_ms": 39.0, "duplicate": false}, {"type": "reply", "timestamp": 1595191442.077537, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 10, "ttl": 59, "time_ms": 34.3, "duplicate": false}, {"type": "reply", "timestamp": 1595191443.104345, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 11, "ttl": 59, "time_ms": 59.0, "duplicate": false}, {"type": "reply", "timestamp": 1595191444.083741, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 12, "ttl": 59, "time_ms": 36.8, "duplicate": false}, {"type": "reply", "timestamp": 1595191445.086748, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 13, "ttl": 59, "time_ms": 37.6, "duplicate": false}, {"type": "reply", "timestamp": 1595191446.088958, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 14, "ttl": 59, "time_ms": 37.3, "duplicate": false}, {"type": "reply", "timestamp": 1595191447.086122, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 15, "ttl": 59, "time_ms": 30.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191448.088312, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 16, "ttl": 59, "time_ms": 30.8, "duplicate": false}, {"type": "reply", "timestamp": 1595191449.098353, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 17, "ttl": 59, "time_ms": 38.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191450.09959, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 18, "ttl": 59, "time_ms": 38.1, "duplicate": false}, {"type": "reply", "timestamp": 1595191451.10105, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 19, "ttl": 59, "time_ms": 37.8, "duplicate": false}, {"type": "reply", "timestamp": 1595191452.100239, "bytes": 1408, "response_ip": "2a04:4e42:200::323", "icmp_seq": 20, "ttl": 59, "time_ms": 35.0, "duplicate": false}]}
|
||||
26
tests/fixtures/fedora32/ping6-hostname-O-D-p-s.out
vendored
Normal file
26
tests/fixtures/fedora32/ping6-hostname-O-D-p-s.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING www.cnn.com(2a04:4e42:200::323 (2a04:4e42:200::323)) 1400 data bytes
|
||||
[1595191433.391154] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=1 ttl=59 time=34.6 ms
|
||||
[1595191434.063086] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=2 ttl=59 time=37.2 ms
|
||||
[1595191435.071905] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=3 ttl=59 time=44.3 ms
|
||||
[1595191436.067128] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=4 ttl=59 time=37.3 ms
|
||||
[1595191437.064550] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=5 ttl=59 time=32.2 ms
|
||||
[1595191438.065410] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=6 ttl=59 time=30.8 ms
|
||||
[1595191439.076718] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=7 ttl=59 time=40.6 ms
|
||||
[1595191440.076357] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=8 ttl=59 time=38.2 ms
|
||||
[1595191441.079078] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=9 ttl=59 time=39.0 ms
|
||||
[1595191442.077537] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=10 ttl=59 time=34.3 ms
|
||||
[1595191443.104345] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=11 ttl=59 time=59.0 ms
|
||||
[1595191444.083741] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=12 ttl=59 time=36.8 ms
|
||||
[1595191445.086748] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=13 ttl=59 time=37.6 ms
|
||||
[1595191446.088958] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=14 ttl=59 time=37.3 ms
|
||||
[1595191447.086122] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=15 ttl=59 time=30.9 ms
|
||||
[1595191448.088312] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=16 ttl=59 time=30.8 ms
|
||||
[1595191449.098353] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=17 ttl=59 time=38.9 ms
|
||||
[1595191450.099590] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=18 ttl=59 time=38.1 ms
|
||||
[1595191451.101050] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=19 ttl=59 time=37.8 ms
|
||||
[1595191452.100239] 1408 bytes from 2a04:4e42:200::323 (2a04:4e42:200::323): icmp_seq=20 ttl=59 time=35.0 ms
|
||||
|
||||
--- www.cnn.com ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19042ms
|
||||
rtt min/avg/max/mdev = 30.757/37.536/59.021/5.967 ms
|
||||
1
tests/fixtures/fedora32/ping6-hostname-O-D-p.json
vendored
Normal file
1
tests/fixtures/fedora32/ping6-hostname-O-D-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "2a04:4e42:2e::323", "data_bytes": 56, "pattern": "0xabcd", "destination": "www.cnn.com", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19043.0, "round_trip_ms_min": 38.533, "round_trip_ms_avg": 44.877, "round_trip_ms_max": 51.366, "round_trip_ms_stddev": 3.83, "responses": [{"type": "reply", "timestamp": 1595191452.2553, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 1, "ttl": 56, "time_ms": 39.1, "duplicate": false}, {"type": "reply", "timestamp": 1595191453.229184, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 2, "ttl": 56, "time_ms": 47.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191454.229065, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 3, "ttl": 56, "time_ms": 46.4, "duplicate": false}, {"type": "reply", "timestamp": 1595191455.230571, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 4, "ttl": 56, "time_ms": 45.1, "duplicate": false}, {"type": "reply", "timestamp": 1595191456.233811, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 5, "ttl": 56, "time_ms": 45.7, "duplicate": false}, {"type": "reply", "timestamp": 1595191457.228052, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 6, "ttl": 56, "time_ms": 38.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191458.228764, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 7, "ttl": 56, "time_ms": 39.0, "duplicate": false}, {"type": "reply", "timestamp": 1595191459.243633, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 8, "ttl": 56, "time_ms": 51.4, "duplicate": false}, {"type": "reply", "timestamp": 1595191460.243509, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 9, "ttl": 56, "time_ms": 49.1, "duplicate": false}, {"type": "reply", "timestamp": 1595191461.242713, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 10, "ttl": 56, "time_ms": 46.6, "duplicate": false}, {"type": "reply", "timestamp": 1595191462.246016, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 11, "ttl": 56, "time_ms": 47.1, "duplicate": false}, {"type": "reply", "timestamp": 1595191463.240552, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 12, "ttl": 56, "time_ms": 38.6, "duplicate": false}, {"type": "reply", "timestamp": 1595191464.248594, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 13, "ttl": 56, "time_ms": 44.3, "duplicate": false}, {"type": "reply", "timestamp": 1595191465.254128, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 14, "ttl": 56, "time_ms": 48.8, "duplicate": false}, {"type": "reply", "timestamp": 1595191466.253777, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 15, "ttl": 56, "time_ms": 45.2, "duplicate": false}, {"type": "reply", "timestamp": 1595191467.259039, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 16, "ttl": 56, "time_ms": 47.3, "duplicate": false}, {"type": "reply", "timestamp": 1595191468.252991, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 17, "ttl": 56, "time_ms": 38.5, "duplicate": false}, {"type": "reply", "timestamp": 1595191469.263167, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 18, "ttl": 56, "time_ms": 47.0, "duplicate": false}, {"type": "reply", "timestamp": 1595191470.264838, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 19, "ttl": 56, "time_ms": 46.3, "duplicate": false}, {"type": "reply", "timestamp": 1595191471.266951, "bytes": 64, "response_ip": "2a04:4e42:2e::323", "icmp_seq": 20, "ttl": 56, "time_ms": 45.4, "duplicate": false}]}
|
||||
26
tests/fixtures/fedora32/ping6-hostname-O-D-p.out
vendored
Normal file
26
tests/fixtures/fedora32/ping6-hostname-O-D-p.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING www.cnn.com(2a04:4e42:2e::323 (2a04:4e42:2e::323)) 56 data bytes
|
||||
[1595191452.255300] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=1 ttl=56 time=39.1 ms
|
||||
[1595191453.229184] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=2 ttl=56 time=47.9 ms
|
||||
[1595191454.229065] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=3 ttl=56 time=46.4 ms
|
||||
[1595191455.230571] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=4 ttl=56 time=45.1 ms
|
||||
[1595191456.233811] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=5 ttl=56 time=45.7 ms
|
||||
[1595191457.228052] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=6 ttl=56 time=38.9 ms
|
||||
[1595191458.228764] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=7 ttl=56 time=39.0 ms
|
||||
[1595191459.243633] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=8 ttl=56 time=51.4 ms
|
||||
[1595191460.243509] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=9 ttl=56 time=49.1 ms
|
||||
[1595191461.242713] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=10 ttl=56 time=46.6 ms
|
||||
[1595191462.246016] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=11 ttl=56 time=47.1 ms
|
||||
[1595191463.240552] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=12 ttl=56 time=38.6 ms
|
||||
[1595191464.248594] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=13 ttl=56 time=44.3 ms
|
||||
[1595191465.254128] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=14 ttl=56 time=48.8 ms
|
||||
[1595191466.253777] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=15 ttl=56 time=45.2 ms
|
||||
[1595191467.259039] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=16 ttl=56 time=47.3 ms
|
||||
[1595191468.252991] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=17 ttl=56 time=38.5 ms
|
||||
[1595191469.263167] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=18 ttl=56 time=47.0 ms
|
||||
[1595191470.264838] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=19 ttl=56 time=46.3 ms
|
||||
[1595191471.266951] 64 bytes from 2a04:4e42:2e::323 (2a04:4e42:2e::323): icmp_seq=20 ttl=56 time=45.4 ms
|
||||
|
||||
--- www.cnn.com ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19043ms
|
||||
rtt min/avg/max/mdev = 38.533/44.877/51.366/3.830 ms
|
||||
1
tests/fixtures/fedora32/ping6-hostname-O-p.json
vendored
Normal file
1
tests/fixtures/fedora32/ping6-hostname-O-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "2a04:4e42:400::323", "data_bytes": 56, "pattern": "0xabcd", "destination": "www.cnn.com", "packets_transmitted": 20, "packets_received": 19, "packet_loss_percent": 5.0, "duplicates": 0, "time_ms": 19049.0, "round_trip_ms_min": 23.598, "round_trip_ms_avg": 65.877, "round_trip_ms_max": 281.064, "round_trip_ms_stddev": 72.64, "responses": [{"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 1, "ttl": 59, "time_ms": 24.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 2, "ttl": 59, "time_ms": 30.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 3, "ttl": 59, "time_ms": 23.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 4, "ttl": 59, "time_ms": 35.8, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 5, "ttl": 59, "time_ms": 32.3, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 6, "ttl": 59, "time_ms": 32.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 7, "ttl": 59, "time_ms": 26.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 8, "ttl": 59, "time_ms": 31.1, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 9, "ttl": 59, "time_ms": 33.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 10, "ttl": 59, "time_ms": 32.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 11, "ttl": 59, "time_ms": 31.0, "duplicate": false}, {"type": "timeout", "timestamp": null, "icmp_seq": 12}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 13, "ttl": 59, "time_ms": 31.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 14, "ttl": 59, "time_ms": 112.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 15, "ttl": 59, "time_ms": 162.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 16, "ttl": 59, "time_ms": 223.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 17, "ttl": 59, "time_ms": 281.0, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 18, "ttl": 59, "time_ms": 33.4, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 19, "ttl": 59, "time_ms": 32.7, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:400::323", "icmp_seq": 20, "ttl": 59, "time_ms": 42.3, "duplicate": false}]}
|
||||
26
tests/fixtures/fedora32/ping6-hostname-O-p.out
vendored
Normal file
26
tests/fixtures/fedora32/ping6-hostname-O-p.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING www.cnn.com(2a04:4e42:400::323 (2a04:4e42:400::323)) 56 data bytes
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=1 ttl=59 time=24.0 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=2 ttl=59 time=30.5 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=3 ttl=59 time=23.6 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=4 ttl=59 time=35.8 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=5 ttl=59 time=32.3 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=6 ttl=59 time=32.4 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=7 ttl=59 time=26.5 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=8 ttl=59 time=31.1 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=9 ttl=59 time=33.9 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=10 ttl=59 time=32.5 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=11 ttl=59 time=31.0 ms
|
||||
no answer yet for icmp_seq=12
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=13 ttl=59 time=31.9 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=14 ttl=59 time=112 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=15 ttl=59 time=162 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=16 ttl=59 time=223 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=17 ttl=59 time=281 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=18 ttl=59 time=33.4 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=19 ttl=59 time=32.7 ms
|
||||
64 bytes from 2a04:4e42:400::323 (2a04:4e42:400::323): icmp_seq=20 ttl=59 time=42.3 ms
|
||||
|
||||
--- www.cnn.com ping statistics ---
|
||||
20 packets transmitted, 19 received, 5% packet loss, time 19049ms
|
||||
rtt min/avg/max/mdev = 23.598/65.877/281.064/72.640 ms
|
||||
1
tests/fixtures/fedora32/ping6-ip-O-D-p.json
vendored
Normal file
1
tests/fixtures/fedora32/ping6-ip-O-D-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "2a04:4e42:600::323", "data_bytes": 56, "pattern": "0xabcd", "destination": "2a04:4e42:600::323", "packets_transmitted": 20, "packets_received": 20, "packet_loss_percent": 0.0, "duplicates": 0, "time_ms": 19042.0, "round_trip_ms_min": 27.88, "round_trip_ms_avg": 45.072, "round_trip_ms_max": 148.38, "round_trip_ms_stddev": 27.078, "responses": [{"type": "reply", "timestamp": 1595191413.333769, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 1, "ttl": 59, "time_ms": 34.6, "duplicate": false}, {"type": "reply", "timestamp": 1595191414.342973, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 2, "ttl": 59, "time_ms": 41.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191415.332214, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 3, "ttl": 59, "time_ms": 28.8, "duplicate": false}, {"type": "reply", "timestamp": 1595191416.342603, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 4, "ttl": 59, "time_ms": 36.8, "duplicate": false}, {"type": "reply", "timestamp": 1595191417.344996, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 5, "ttl": 59, "time_ms": 37.6, "duplicate": false}, {"type": "reply", "timestamp": 1595191418.348619, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 6, "ttl": 59, "time_ms": 37.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191419.357154, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 7, "ttl": 59, "time_ms": 44.4, "duplicate": false}, {"type": "reply", "timestamp": 1595191420.350087, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 8, "ttl": 59, "time_ms": 35.1, "duplicate": false}, {"type": "reply", "timestamp": 1595191421.346691, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 9, "ttl": 59, "time_ms": 29.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191422.355843, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 10, "ttl": 59, "time_ms": 37.4, "duplicate": false}, {"type": "reply", "timestamp": 1595191423.397934, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 11, "ttl": 59, "time_ms": 76.7, "duplicate": false}, {"type": "reply", "timestamp": 1595191424.470798, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 12, "ttl": 59, "time_ms": 148.0, "duplicate": false}, {"type": "reply", "timestamp": 1595191425.358652, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 13, "ttl": 59, "time_ms": 33.6, "duplicate": false}, {"type": "reply", "timestamp": 1595191426.404587, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 14, "ttl": 59, "time_ms": 77.2, "duplicate": false}, {"type": "reply", "timestamp": 1595191427.359785, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 15, "ttl": 59, "time_ms": 29.7, "duplicate": false}, {"type": "reply", "timestamp": 1595191428.367539, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 16, "ttl": 59, "time_ms": 34.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191429.372551, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 17, "ttl": 59, "time_ms": 37.2, "duplicate": false}, {"type": "reply", "timestamp": 1595191430.364571, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 18, "ttl": 59, "time_ms": 27.9, "duplicate": false}, {"type": "reply", "timestamp": 1595191431.375232, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 19, "ttl": 59, "time_ms": 37.1, "duplicate": false}, {"type": "reply", "timestamp": 1595191432.375802, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 20, "ttl": 59, "time_ms": 34.3, "duplicate": false}]}
|
||||
26
tests/fixtures/fedora32/ping6-ip-O-D-p.out
vendored
Normal file
26
tests/fixtures/fedora32/ping6-ip-O-D-p.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING 2a04:4e42:600::323(2a04:4e42:600::323) 56 data bytes
|
||||
[1595191413.333769] 64 bytes from 2a04:4e42:600::323: icmp_seq=1 ttl=59 time=34.6 ms
|
||||
[1595191414.342973] 64 bytes from 2a04:4e42:600::323: icmp_seq=2 ttl=59 time=41.9 ms
|
||||
[1595191415.332214] 64 bytes from 2a04:4e42:600::323: icmp_seq=3 ttl=59 time=28.8 ms
|
||||
[1595191416.342603] 64 bytes from 2a04:4e42:600::323: icmp_seq=4 ttl=59 time=36.8 ms
|
||||
[1595191417.344996] 64 bytes from 2a04:4e42:600::323: icmp_seq=5 ttl=59 time=37.6 ms
|
||||
[1595191418.348619] 64 bytes from 2a04:4e42:600::323: icmp_seq=6 ttl=59 time=37.9 ms
|
||||
[1595191419.357154] 64 bytes from 2a04:4e42:600::323: icmp_seq=7 ttl=59 time=44.4 ms
|
||||
[1595191420.350087] 64 bytes from 2a04:4e42:600::323: icmp_seq=8 ttl=59 time=35.1 ms
|
||||
[1595191421.346691] 64 bytes from 2a04:4e42:600::323: icmp_seq=9 ttl=59 time=29.9 ms
|
||||
[1595191422.355843] 64 bytes from 2a04:4e42:600::323: icmp_seq=10 ttl=59 time=37.4 ms
|
||||
[1595191423.397934] 64 bytes from 2a04:4e42:600::323: icmp_seq=11 ttl=59 time=76.7 ms
|
||||
[1595191424.470798] 64 bytes from 2a04:4e42:600::323: icmp_seq=12 ttl=59 time=148 ms
|
||||
[1595191425.358652] 64 bytes from 2a04:4e42:600::323: icmp_seq=13 ttl=59 time=33.6 ms
|
||||
[1595191426.404587] 64 bytes from 2a04:4e42:600::323: icmp_seq=14 ttl=59 time=77.2 ms
|
||||
[1595191427.359785] 64 bytes from 2a04:4e42:600::323: icmp_seq=15 ttl=59 time=29.7 ms
|
||||
[1595191428.367539] 64 bytes from 2a04:4e42:600::323: icmp_seq=16 ttl=59 time=34.9 ms
|
||||
[1595191429.372551] 64 bytes from 2a04:4e42:600::323: icmp_seq=17 ttl=59 time=37.2 ms
|
||||
[1595191430.364571] 64 bytes from 2a04:4e42:600::323: icmp_seq=18 ttl=59 time=27.9 ms
|
||||
[1595191431.375232] 64 bytes from 2a04:4e42:600::323: icmp_seq=19 ttl=59 time=37.1 ms
|
||||
[1595191432.375802] 64 bytes from 2a04:4e42:600::323: icmp_seq=20 ttl=59 time=34.3 ms
|
||||
|
||||
--- 2a04:4e42:600::323 ping statistics ---
|
||||
20 packets transmitted, 20 received, 0% packet loss, time 19042ms
|
||||
rtt min/avg/max/mdev = 27.880/45.072/148.380/27.078 ms
|
||||
1
tests/fixtures/fedora32/ping6-ip-O-p.json
vendored
Normal file
1
tests/fixtures/fedora32/ping6-ip-O-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "2a04:4e42:600::323", "data_bytes": 56, "pattern": "0xabcd", "destination": "2a04:4e42:600::323", "packets_transmitted": 20, "packets_received": 17, "packet_loss_percent": 15.0, "duplicates": 0, "time_ms": 19193.0, "round_trip_ms_min": 26.566, "round_trip_ms_avg": 33.623, "round_trip_ms_max": 43.945, "round_trip_ms_stddev": 5.029, "responses": [{"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 1, "ttl": 59, "time_ms": 34.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 2, "ttl": 59, "time_ms": 36.6, "duplicate": false}, {"type": "timeout", "timestamp": null, "icmp_seq": 3}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 4, "ttl": 59, "time_ms": 28.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 5, "ttl": 59, "time_ms": 36.8, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 6, "ttl": 59, "time_ms": 28.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 7, "ttl": 59, "time_ms": 39.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 8, "ttl": 59, "time_ms": 28.2, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 9, "ttl": 59, "time_ms": 28.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 10, "ttl": 59, "time_ms": 36.5, "duplicate": false}, {"type": "timeout", "timestamp": null, "icmp_seq": 11}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 12, "ttl": 59, "time_ms": 33.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 13, "ttl": 59, "time_ms": 28.1, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 14, "ttl": 59, "time_ms": 27.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 15, "ttl": 59, "time_ms": 36.0, "duplicate": false}, {"type": "timeout", "timestamp": null, "icmp_seq": 16}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 17, "ttl": 59, "time_ms": 26.6, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 18, "ttl": 59, "time_ms": 38.5, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 19, "ttl": 59, "time_ms": 43.9, "duplicate": false}, {"type": "reply", "timestamp": null, "bytes": 64, "response_ip": "2a04:4e42:600::323", "icmp_seq": 20, "ttl": 59, "time_ms": 37.9, "duplicate": false}]}
|
||||
26
tests/fixtures/fedora32/ping6-ip-O-p.out
vendored
Normal file
26
tests/fixtures/fedora32/ping6-ip-O-p.out
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
PATTERN: 0xabcd
|
||||
PING 2a04:4e42:600::323(2a04:4e42:600::323) 56 data bytes
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=1 ttl=59 time=34.9 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=2 ttl=59 time=36.6 ms
|
||||
no answer yet for icmp_seq=3
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=4 ttl=59 time=28.9 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=5 ttl=59 time=36.8 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=6 ttl=59 time=28.9 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=7 ttl=59 time=39.5 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=8 ttl=59 time=28.2 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=9 ttl=59 time=28.9 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=10 ttl=59 time=36.5 ms
|
||||
no answer yet for icmp_seq=11
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=12 ttl=59 time=33.9 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=13 ttl=59 time=28.1 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=14 ttl=59 time=27.6 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=15 ttl=59 time=36.0 ms
|
||||
no answer yet for icmp_seq=16
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=17 ttl=59 time=26.6 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=18 ttl=59 time=38.5 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=19 ttl=59 time=43.9 ms
|
||||
64 bytes from 2a04:4e42:600::323: icmp_seq=20 ttl=59 time=37.9 ms
|
||||
|
||||
--- 2a04:4e42:600::323 ping statistics ---
|
||||
20 packets transmitted, 17 received, 15% packet loss, time 19193ms
|
||||
rtt min/avg/max/mdev = 26.566/33.623/43.945/5.029 ms
|
||||
1
tests/fixtures/freebsd12/ping-hostname-p.json
vendored
Normal file
1
tests/fixtures/freebsd12/ping-hostname-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "151.101.1.67", "data_bytes": 56, "pattern": "0xff", "destination": "cnn.com", "packets_transmitted": 3, "packets_received": 3, "packet_loss_percent": 0.0, "duplicates": 0, "round_trip_ms_min": 28.389, "round_trip_ms_avg": 31.745, "round_trip_ms_max": 34.505, "round_trip_ms_stddev": 2.532, "responses": [{"type": "reply", "bytes": 64, "response_ip": "151.101.1.67", "icmp_seq": 0, "ttl": 59, "time_ms": 32.34, "duplicate": false}, {"type": "reply", "bytes": 64, "response_ip": "151.101.1.67", "icmp_seq": 1, "ttl": 59, "time_ms": 34.505, "duplicate": false}, {"type": "reply", "bytes": 64, "response_ip": "151.101.1.67", "icmp_seq": 2, "ttl": 59, "time_ms": 28.389, "duplicate": false}]}
|
||||
9
tests/fixtures/freebsd12/ping-hostname-p.out
vendored
Normal file
9
tests/fixtures/freebsd12/ping-hostname-p.out
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
PATTERN: 0xff
|
||||
PING cnn.com (151.101.1.67): 56 data bytes
|
||||
64 bytes from 151.101.1.67: icmp_seq=0 ttl=59 time=32.340 ms
|
||||
64 bytes from 151.101.1.67: icmp_seq=1 ttl=59 time=34.505 ms
|
||||
64 bytes from 151.101.1.67: icmp_seq=2 ttl=59 time=28.389 ms
|
||||
|
||||
--- cnn.com ping statistics ---
|
||||
3 packets transmitted, 3 packets received, 0.0% packet loss
|
||||
round-trip min/avg/max/stddev = 28.389/31.745/34.505/2.532 ms
|
||||
1
tests/fixtures/freebsd12/ping-hostname-s.json
vendored
Normal file
1
tests/fixtures/freebsd12/ping-hostname-s.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "127.0.0.1", "data_bytes": 40, "pattern": null, "destination": "localhost", "packets_transmitted": 3, "packets_received": 3, "packet_loss_percent": 0.0, "duplicates": 0, "round_trip_ms_min": 0.022, "round_trip_ms_avg": 0.03, "round_trip_ms_max": 0.038, "round_trip_ms_stddev": 0.006, "responses": [{"type": "reply", "bytes": 48, "response_ip": "127.0.0.1", "icmp_seq": 0, "ttl": 64, "time_ms": 0.022, "duplicate": false}, {"type": "reply", "bytes": 48, "response_ip": "127.0.0.1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.038, "duplicate": false}, {"type": "reply", "bytes": 48, "response_ip": "127.0.0.1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.03, "duplicate": false}]}
|
||||
8
tests/fixtures/freebsd12/ping-hostname-s.out
vendored
Normal file
8
tests/fixtures/freebsd12/ping-hostname-s.out
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
PING localhost (127.0.0.1): 40 data bytes
|
||||
48 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.022 ms
|
||||
48 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.038 ms
|
||||
48 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.030 ms
|
||||
|
||||
--- localhost ping statistics ---
|
||||
3 packets transmitted, 3 packets received, 0.0% packet loss
|
||||
round-trip min/avg/max/stddev = 0.022/0.030/0.038/0.006 ms
|
||||
1
tests/fixtures/freebsd12/ping-hostname.json
vendored
Normal file
1
tests/fixtures/freebsd12/ping-hostname.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "151.101.65.67", "data_bytes": 56, "pattern": null, "destination": "cnn.com", "packets_transmitted": 3, "packets_received": 3, "packet_loss_percent": 0.0, "duplicates": 0, "round_trip_ms_min": 27.01, "round_trip_ms_avg": 33.831, "round_trip_ms_max": 42.506, "round_trip_ms_stddev": 6.461, "responses": [{"type": "reply", "bytes": 64, "response_ip": "151.101.65.67", "icmp_seq": 0, "ttl": 59, "time_ms": 27.01, "duplicate": false}, {"type": "reply", "bytes": 64, "response_ip": "151.101.65.67", "icmp_seq": 1, "ttl": 59, "time_ms": 31.978, "duplicate": false}, {"type": "reply", "bytes": 64, "response_ip": "151.101.65.67", "icmp_seq": 2, "ttl": 59, "time_ms": 42.506, "duplicate": false}]}
|
||||
8
tests/fixtures/freebsd12/ping-hostname.out
vendored
Normal file
8
tests/fixtures/freebsd12/ping-hostname.out
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
PING cnn.com (151.101.65.67): 56 data bytes
|
||||
64 bytes from 151.101.65.67: icmp_seq=0 ttl=59 time=27.010 ms
|
||||
64 bytes from 151.101.65.67: icmp_seq=1 ttl=59 time=31.978 ms
|
||||
64 bytes from 151.101.65.67: icmp_seq=2 ttl=59 time=42.506 ms
|
||||
|
||||
--- cnn.com ping statistics ---
|
||||
3 packets transmitted, 3 packets received, 0.0% packet loss
|
||||
round-trip min/avg/max/stddev = 27.010/33.831/42.506/6.461 ms
|
||||
1
tests/fixtures/freebsd12/ping-ip-p.json
vendored
Normal file
1
tests/fixtures/freebsd12/ping-ip-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "127.0.0.1", "data_bytes": 56, "pattern": "0xff", "destination": "127.0.0.1", "packets_transmitted": 3, "packets_received": 3, "packet_loss_percent": 0.0, "duplicates": 0, "round_trip_ms_min": 0.034, "round_trip_ms_avg": 0.037, "round_trip_ms_max": 0.042, "round_trip_ms_stddev": 0.003, "responses": [{"type": "reply", "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 0, "ttl": 64, "time_ms": 0.036, "duplicate": false}, {"type": "reply", "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.042, "duplicate": false}, {"type": "reply", "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.034, "duplicate": false}]}
|
||||
9
tests/fixtures/freebsd12/ping-ip-p.out
vendored
Normal file
9
tests/fixtures/freebsd12/ping-ip-p.out
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
PATTERN: 0xff
|
||||
PING 127.0.0.1 (127.0.0.1): 56 data bytes
|
||||
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.036 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.042 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.034 ms
|
||||
|
||||
--- 127.0.0.1 ping statistics ---
|
||||
3 packets transmitted, 3 packets received, 0.0% packet loss
|
||||
round-trip min/avg/max/stddev = 0.034/0.037/0.042/0.003 ms
|
||||
1
tests/fixtures/freebsd12/ping-ip-s.json
vendored
Normal file
1
tests/fixtures/freebsd12/ping-ip-s.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "127.0.0.1", "data_bytes": 40, "pattern": null, "destination": "127.0.0.1", "packets_transmitted": 3, "packets_received": 3, "packet_loss_percent": 0.0, "duplicates": 0, "round_trip_ms_min": 0.024, "round_trip_ms_avg": 0.032, "round_trip_ms_max": 0.036, "round_trip_ms_stddev": 0.006, "responses": [{"type": "reply", "bytes": 48, "response_ip": "127.0.0.1", "icmp_seq": 0, "ttl": 64, "time_ms": 0.024, "duplicate": false}, {"type": "reply", "bytes": 48, "response_ip": "127.0.0.1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.036, "duplicate": false}, {"type": "reply", "bytes": 48, "response_ip": "127.0.0.1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.036, "duplicate": false}]}
|
||||
8
tests/fixtures/freebsd12/ping-ip-s.out
vendored
Normal file
8
tests/fixtures/freebsd12/ping-ip-s.out
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
PING 127.0.0.1 (127.0.0.1): 40 data bytes
|
||||
48 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.024 ms
|
||||
48 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.036 ms
|
||||
48 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.036 ms
|
||||
|
||||
--- 127.0.0.1 ping statistics ---
|
||||
3 packets transmitted, 3 packets received, 0.0% packet loss
|
||||
round-trip min/avg/max/stddev = 0.024/0.032/0.036/0.006 ms
|
||||
1
tests/fixtures/freebsd12/ping-ip.json
vendored
Normal file
1
tests/fixtures/freebsd12/ping-ip.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"destination_ip": "127.0.0.1", "data_bytes": 56, "pattern": null, "destination": "127.0.0.1", "packets_transmitted": 3, "packets_received": 3, "packet_loss_percent": 0.0, "duplicates": 0, "round_trip_ms_min": 0.022, "round_trip_ms_avg": 0.033, "round_trip_ms_max": 0.041, "round_trip_ms_stddev": 0.008, "responses": [{"type": "reply", "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 0, "ttl": 64, "time_ms": 0.022, "duplicate": false}, {"type": "reply", "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.036, "duplicate": false}, {"type": "reply", "bytes": 64, "response_ip": "127.0.0.1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.041, "duplicate": false}]}
|
||||
8
tests/fixtures/freebsd12/ping-ip.out
vendored
Normal file
8
tests/fixtures/freebsd12/ping-ip.out
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
PING 127.0.0.1 (127.0.0.1): 56 data bytes
|
||||
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.022 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.036 ms
|
||||
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.041 ms
|
||||
|
||||
--- 127.0.0.1 ping statistics ---
|
||||
3 packets transmitted, 3 packets received, 0.0% packet loss
|
||||
round-trip min/avg/max/stddev = 0.022/0.033/0.041/0.008 ms
|
||||
1
tests/fixtures/freebsd12/ping6-hostname-p.json
vendored
Normal file
1
tests/fixtures/freebsd12/ping6-hostname-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"source_ip": "::1", "destination_ip": "::1", "data_bytes": 56, "pattern": "0xff", "destination": "localhost", "packets_transmitted": 3, "packets_received": 3, "packet_loss_percent": 0.0, "duplicates": 0, "round_trip_ms_min": 0.036, "round_trip_ms_avg": 0.045, "round_trip_ms_max": 0.051, "round_trip_ms_stddev": 0.007, "responses": [{"type": "reply", "bytes": 16, "response_ip": "::1", "icmp_seq": 0, "ttl": 64, "time_ms": 0.036, "duplicate": false}, {"type": "reply", "bytes": 16, "response_ip": "::1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.051, "duplicate": false}, {"type": "reply", "bytes": 16, "response_ip": "::1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.048, "duplicate": false}]}
|
||||
9
tests/fixtures/freebsd12/ping6-hostname-p.out
vendored
Normal file
9
tests/fixtures/freebsd12/ping6-hostname-p.out
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
PATTERN: 0xff
|
||||
PING6(56=40+8+8 bytes) ::1 --> ::1
|
||||
16 bytes from ::1, icmp_seq=0 hlim=64 time=0.036 ms
|
||||
16 bytes from ::1, icmp_seq=1 hlim=64 time=0.051 ms
|
||||
16 bytes from ::1, icmp_seq=2 hlim=64 time=0.048 ms
|
||||
|
||||
--- localhost ping6 statistics ---
|
||||
3 packets transmitted, 3 packets received, 0.0% packet loss
|
||||
round-trip min/avg/max/std-dev = 0.036/0.045/0.051/0.007 ms
|
||||
1
tests/fixtures/freebsd12/ping6-hostname-s.json
vendored
Normal file
1
tests/fixtures/freebsd12/ping6-hostname-s.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"source_ip": "::1", "destination_ip": "::1", "data_bytes": 88, "pattern": null, "destination": "localhost", "packets_transmitted": 3, "packets_received": 3, "packet_loss_percent": 0.0, "duplicates": 0, "round_trip_ms_min": 0.035, "round_trip_ms_avg": 0.056, "round_trip_ms_max": 0.082, "round_trip_ms_stddev": 0.019, "responses": [{"type": "reply", "bytes": 48, "response_ip": "::1", "icmp_seq": 0, "ttl": 64, "time_ms": 0.035, "duplicate": false}, {"type": "reply", "bytes": 48, "response_ip": "::1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.082, "duplicate": false}, {"type": "reply", "bytes": 48, "response_ip": "::1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.051, "duplicate": false}]}
|
||||
8
tests/fixtures/freebsd12/ping6-hostname-s.out
vendored
Normal file
8
tests/fixtures/freebsd12/ping6-hostname-s.out
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
PING6(88=40+8+40 bytes) ::1 --> ::1
|
||||
48 bytes from ::1, icmp_seq=0 hlim=64 time=0.035 ms
|
||||
48 bytes from ::1, icmp_seq=1 hlim=64 time=0.082 ms
|
||||
48 bytes from ::1, icmp_seq=2 hlim=64 time=0.051 ms
|
||||
|
||||
--- localhost ping6 statistics ---
|
||||
3 packets transmitted, 3 packets received, 0.0% packet loss
|
||||
round-trip min/avg/max/std-dev = 0.035/0.056/0.082/0.019 ms
|
||||
1
tests/fixtures/freebsd12/ping6-hostname.json
vendored
Normal file
1
tests/fixtures/freebsd12/ping6-hostname.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"source_ip": "::1", "destination_ip": "::1", "data_bytes": 56, "pattern": null, "destination": "localhost", "packets_transmitted": 3, "packets_received": 3, "packet_loss_percent": 0.0, "duplicates": 0, "round_trip_ms_min": 0.036, "round_trip_ms_avg": 0.042, "round_trip_ms_max": 0.048, "round_trip_ms_stddev": 0.005, "responses": [{"type": "reply", "bytes": 16, "response_ip": "::1", "icmp_seq": 0, "ttl": 64, "time_ms": 0.036, "duplicate": false}, {"type": "reply", "bytes": 16, "response_ip": "::1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.041, "duplicate": false}, {"type": "reply", "bytes": 16, "response_ip": "::1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.048, "duplicate": false}]}
|
||||
8
tests/fixtures/freebsd12/ping6-hostname.out
vendored
Normal file
8
tests/fixtures/freebsd12/ping6-hostname.out
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
PING6(56=40+8+8 bytes) ::1 --> ::1
|
||||
16 bytes from ::1, icmp_seq=0 hlim=64 time=0.036 ms
|
||||
16 bytes from ::1, icmp_seq=1 hlim=64 time=0.041 ms
|
||||
16 bytes from ::1, icmp_seq=2 hlim=64 time=0.048 ms
|
||||
|
||||
--- localhost ping6 statistics ---
|
||||
3 packets transmitted, 3 packets received, 0.0% packet loss
|
||||
round-trip min/avg/max/std-dev = 0.036/0.042/0.048/0.005 ms
|
||||
1
tests/fixtures/freebsd12/ping6-ip-p.json
vendored
Normal file
1
tests/fixtures/freebsd12/ping6-ip-p.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"source_ip": "::1", "destination_ip": "::1", "data_bytes": 56, "pattern": "0xff", "destination": "::1", "packets_transmitted": 3, "packets_received": 3, "packet_loss_percent": 0.0, "duplicates": 0, "round_trip_ms_min": 0.036, "round_trip_ms_avg": 0.045, "round_trip_ms_max": 0.054, "round_trip_ms_stddev": 0.007, "responses": [{"type": "reply", "bytes": 16, "response_ip": "::1", "icmp_seq": 0, "ttl": 64, "time_ms": 0.036, "duplicate": false}, {"type": "reply", "bytes": 16, "response_ip": "::1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.054, "duplicate": false}, {"type": "reply", "bytes": 16, "response_ip": "::1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.045, "duplicate": false}]}
|
||||
9
tests/fixtures/freebsd12/ping6-ip-p.out
vendored
Normal file
9
tests/fixtures/freebsd12/ping6-ip-p.out
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
PATTERN: 0xff
|
||||
PING6(56=40+8+8 bytes) ::1 --> ::1
|
||||
16 bytes from ::1, icmp_seq=0 hlim=64 time=0.036 ms
|
||||
16 bytes from ::1, icmp_seq=1 hlim=64 time=0.054 ms
|
||||
16 bytes from ::1, icmp_seq=2 hlim=64 time=0.045 ms
|
||||
|
||||
--- ::1 ping6 statistics ---
|
||||
3 packets transmitted, 3 packets received, 0.0% packet loss
|
||||
round-trip min/avg/max/std-dev = 0.036/0.045/0.054/0.007 ms
|
||||
1
tests/fixtures/freebsd12/ping6-ip-s.json
vendored
Normal file
1
tests/fixtures/freebsd12/ping6-ip-s.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"source_ip": "::1", "destination_ip": "::1", "data_bytes": 88, "pattern": null, "destination": "::1", "packets_transmitted": 3, "packets_received": 3, "packet_loss_percent": 0.0, "duplicates": 0, "round_trip_ms_min": 0.036, "round_trip_ms_avg": 0.058, "round_trip_ms_max": 0.088, "round_trip_ms_stddev": 0.022, "responses": [{"type": "reply", "bytes": 48, "response_ip": "::1", "icmp_seq": 0, "ttl": 64, "time_ms": 0.036, "duplicate": false}, {"type": "reply", "bytes": 48, "response_ip": "::1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.088, "duplicate": false}, {"type": "reply", "bytes": 48, "response_ip": "::1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.049, "duplicate": false}]}
|
||||
8
tests/fixtures/freebsd12/ping6-ip-s.out
vendored
Normal file
8
tests/fixtures/freebsd12/ping6-ip-s.out
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
PING6(88=40+8+40 bytes) ::1 --> ::1
|
||||
48 bytes from ::1, icmp_seq=0 hlim=64 time=0.036 ms
|
||||
48 bytes from ::1, icmp_seq=1 hlim=64 time=0.088 ms
|
||||
48 bytes from ::1, icmp_seq=2 hlim=64 time=0.049 ms
|
||||
|
||||
--- ::1 ping6 statistics ---
|
||||
3 packets transmitted, 3 packets received, 0.0% packet loss
|
||||
round-trip min/avg/max/std-dev = 0.036/0.058/0.088/0.022 ms
|
||||
1
tests/fixtures/freebsd12/ping6-ip.json
vendored
Normal file
1
tests/fixtures/freebsd12/ping6-ip.json
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"source_ip": "::1", "destination_ip": "::1", "data_bytes": 56, "pattern": null, "destination": "::1", "packets_transmitted": 3, "packets_received": 3, "packet_loss_percent": 0.0, "duplicates": 0, "round_trip_ms_min": 0.034, "round_trip_ms_avg": 0.044, "round_trip_ms_max": 0.053, "round_trip_ms_stddev": 0.008, "responses": [{"type": "reply", "bytes": 16, "response_ip": "::1", "icmp_seq": 0, "ttl": 64, "time_ms": 0.034, "duplicate": false}, {"type": "reply", "bytes": 16, "response_ip": "::1", "icmp_seq": 1, "ttl": 64, "time_ms": 0.053, "duplicate": false}, {"type": "reply", "bytes": 16, "response_ip": "::1", "icmp_seq": 2, "ttl": 64, "time_ms": 0.045, "duplicate": false}]}
|
||||
8
tests/fixtures/freebsd12/ping6-ip.out
vendored
Normal file
8
tests/fixtures/freebsd12/ping6-ip.out
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
PING6(56=40+8+8 bytes) ::1 --> ::1
|
||||
16 bytes from ::1, icmp_seq=0 hlim=64 time=0.034 ms
|
||||
16 bytes from ::1, icmp_seq=1 hlim=64 time=0.053 ms
|
||||
16 bytes from ::1, icmp_seq=2 hlim=64 time=0.045 ms
|
||||
|
||||
--- ::1 ping6 statistics ---
|
||||
3 packets transmitted, 3 packets received, 0.0% packet loss
|
||||
round-trip min/avg/max/std-dev = 0.034/0.044/0.053/0.008 ms
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user