2021-04-23 08:26:00 -07:00
|
|
|
[Home](https://kellyjonbrazil.github.io/jc/)
|
2022-01-25 17:07:47 -08:00
|
|
|
<a id="jc.parsers.ufw_appinfo"></a>
|
|
|
|
|
|
|
|
# jc.parsers.ufw\_appinfo
|
2021-04-23 08:26:00 -07:00
|
|
|
|
2022-01-19 17:30:14 -08:00
|
|
|
jc - JSON CLI output utility `ufw app info [application]` command
|
|
|
|
output parser
|
2021-04-23 08:26:00 -07:00
|
|
|
|
2022-01-19 17:30:14 -08:00
|
|
|
Supports individual apps via `ufw app info [application]` and all apps list
|
|
|
|
via `ufw app info all`.
|
2021-04-26 10:02:02 -07:00
|
|
|
|
2022-01-19 17:30:14 -08:00
|
|
|
Because `ufw` application definitions allow overlapping ports and port
|
|
|
|
ranges, this parser preserves that behavior, but also provides `normalized`
|
|
|
|
lists and ranges that remove duplicate ports and merge overlapping ranges.
|
2021-04-23 08:26:00 -07:00
|
|
|
|
|
|
|
Usage (cli):
|
|
|
|
|
2022-01-25 17:07:47 -08:00
|
|
|
$ ufw app info OpenSSH | jc --ufw-appinfo
|
2021-04-23 08:26:00 -07:00
|
|
|
|
2022-01-25 17:07:47 -08:00
|
|
|
or
|
2021-04-23 08:26:00 -07:00
|
|
|
|
2022-01-25 17:07:47 -08:00
|
|
|
$ jc ufw app info OpenSSH
|
2021-04-23 08:26:00 -07:00
|
|
|
|
|
|
|
Usage (module):
|
|
|
|
|
2022-01-25 17:07:47 -08:00
|
|
|
import jc
|
|
|
|
result = jc.parse('ufw_appinfo', ufw_appinfo_command_output)
|
2022-01-18 15:38:03 -08:00
|
|
|
|
2022-01-25 17:07:47 -08:00
|
|
|
or
|
2022-01-18 15:38:03 -08:00
|
|
|
|
2022-01-25 17:07:47 -08:00
|
|
|
import jc.parsers.ufw_appinfo
|
|
|
|
result = jc.parsers.ufw_appinfo.parse(ufw_appinfo_command_output)
|
2021-04-23 08:26:00 -07:00
|
|
|
|
|
|
|
Schema:
|
|
|
|
|
2022-01-25 17:07:47 -08:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"profile": string,
|
|
|
|
"title": string,
|
|
|
|
"description": string,
|
|
|
|
"tcp_list": [
|
|
|
|
integer
|
|
|
|
],
|
|
|
|
"tcp_ranges": [
|
|
|
|
{
|
|
|
|
"start": integer, # [0]
|
|
|
|
"end": integer
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"udp_list": [
|
|
|
|
integer
|
|
|
|
],
|
|
|
|
"udp_ranges": [
|
|
|
|
{
|
|
|
|
"start": integer, # [0]
|
|
|
|
"end": integer
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"normalized_tcp_list": [
|
|
|
|
integers # [1]
|
|
|
|
],
|
|
|
|
"normalized_tcp_ranges": [
|
|
|
|
{
|
|
|
|
"start": integer, # [0]
|
|
|
|
"end": integers # [2]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"normalized_udp_list": [
|
|
|
|
integers # [1]
|
|
|
|
],
|
|
|
|
"normalized_udp_ranges": [
|
|
|
|
{
|
|
|
|
"start": integer, # [0]
|
|
|
|
"end": integers # [2]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
[0] 'any' is converted to start/end: 0/65535
|
|
|
|
[1] duplicates and overlapping are removed
|
|
|
|
[2] overlapping are merged
|
|
|
|
|
|
|
|
**Examples**:
|
|
|
|
|
|
|
|
|
|
|
|
$ ufw app info MSN | jc --ufw-appinfo -p
|
|
|
|
[
|
|
|
|
{
|
|
|
|
- `"profile"` - "MSN",
|
|
|
|
- `"title"` - "MSN Chat",
|
|
|
|
- `"description"` - "MSN chat protocol (with file transfer and voice)",
|
|
|
|
- `"tcp_list"` - [
|
|
|
|
1863,
|
|
|
|
6901
|
|
|
|
],
|
|
|
|
- `"udp_list"` - [
|
|
|
|
1863,
|
|
|
|
6901
|
|
|
|
],
|
|
|
|
- `"tcp_ranges"` - [
|
|
|
|
{
|
|
|
|
- `"start"` - 6891,
|
|
|
|
- `"end"` - 6900
|
|
|
|
}
|
|
|
|
],
|
|
|
|
- `"normalized_tcp_list"` - [
|
|
|
|
1863,
|
|
|
|
6901
|
|
|
|
],
|
|
|
|
- `"normalized_tcp_ranges"` - [
|
|
|
|
{
|
|
|
|
- `"start"` - 6891,
|
|
|
|
- `"end"` - 6900
|
|
|
|
}
|
|
|
|
],
|
|
|
|
- `"normalized_udp_list"` - [
|
|
|
|
1863,
|
|
|
|
6901
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
$ ufw app info MSN | jc --ufw-appinfo -p -r
|
|
|
|
[
|
|
|
|
{
|
|
|
|
- `"profile"` - "MSN",
|
|
|
|
- `"title"` - "MSN Chat",
|
|
|
|
- `"description"` - "MSN chat protocol (with file transfer and voice)",
|
|
|
|
- `"tcp_list"` - [
|
|
|
|
"1863",
|
|
|
|
"6901"
|
|
|
|
],
|
|
|
|
- `"udp_list"` - [
|
|
|
|
"1863",
|
|
|
|
"6901"
|
|
|
|
],
|
|
|
|
- `"tcp_ranges"` - [
|
|
|
|
{
|
|
|
|
- `"start"` - "6891",
|
|
|
|
- `"end"` - "6900"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
<a id="jc.parsers.ufw_appinfo.info"></a>
|
|
|
|
|
|
|
|
## info Objects
|
|
|
|
|
2021-04-23 08:26:00 -07:00
|
|
|
```python
|
2022-01-25 17:07:47 -08:00
|
|
|
class info()
|
2021-04-23 08:26:00 -07:00
|
|
|
```
|
2022-01-25 17:07:47 -08:00
|
|
|
|
2021-04-23 08:26:00 -07:00
|
|
|
Provides parser metadata (version, author, etc.)
|
|
|
|
|
2022-01-25 17:07:47 -08:00
|
|
|
<a id="jc.parsers.ufw_appinfo.parse"></a>
|
|
|
|
|
|
|
|
#### parse
|
|
|
|
|
2021-04-23 08:26:00 -07:00
|
|
|
```python
|
2022-01-25 17:07:47 -08:00
|
|
|
def parse(data, raw=False, quiet=False)
|
2021-04-23 08:26:00 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
Main text parsing function
|
|
|
|
|
2022-01-25 17:07:47 -08:00
|
|
|
**Arguments**:
|
2021-04-23 08:26:00 -07:00
|
|
|
|
2022-01-25 17:07:47 -08:00
|
|
|
|
|
|
|
- `data` - (string) text data to parse
|
|
|
|
- `raw` - (boolean) unprocessed output if True
|
|
|
|
- `quiet` - (boolean) suppress warning messages if True
|
|
|
|
|
2021-04-23 08:26:00 -07:00
|
|
|
|
2022-01-25 17:07:47 -08:00
|
|
|
**Returns**:
|
2021-04-23 08:26:00 -07:00
|
|
|
|
2022-01-25 17:07:47 -08:00
|
|
|
|
|
|
|
List of Dictionaries. Raw or processed structured data.
|
2021-04-23 08:26:00 -07:00
|
|
|
|
|
|
|
## Parser Information
|
|
|
|
Compatibility: linux
|
|
|
|
|
2021-12-01 16:12:51 -08:00
|
|
|
Version 1.1 by Kelly Brazil (kellyjonbrazil@gmail.com)
|