1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-17 00:07:37 +02:00
Files
jc/docs/parsers/arp.md
2022-01-26 13:03:51 -08:00

2.9 KiB

Home

jc.parsers.arp

jc - JSON CLI output utility arp command output parser

Supports arp and arp -a output.

Usage (cli):

$ arp | jc --arp

or

$ jc arp

Usage (module):

import jc
result = jc.parse('arp', arp_command_output)

or

import jc.parsers.arp
result = jc.parsers.arp.parse(arp_command_output)

Schema:

[
  {
    "name":         string,
    "address":      string,
    "hwtype":       string,
    "hwaddress":    string,
    "flags_mask":   string,
    "iface":        string,
    "permanent":    boolean,
    "expires":      integer
  }
]

Examples:

$ arp | jc --arp -p
[
  {
    "address": "192.168.71.254",
    "hwtype": "ether",
    "hwaddress": "00:50:56:f0:98:26",
    "flags_mask": "C",
    "iface": "ens33"
  },
  {
    "address": "gateway",
    "hwtype": "ether",
    "hwaddress": "00:50:56:f7:4a:fc",
    "flags_mask": "C",
    "iface": "ens33"
  }
]

$ arp | jc --arp -p -r
[
  {
    "address": "gateway",
    "hwtype": "ether",
    "hwaddress": "00:50:56:f7:4a:fc",
    "flags_mask": "C",
    "iface": "ens33"
  },
  {
    "address": "192.168.71.254",
    "hwtype": "ether",
    "hwaddress": "00:50:56:fe:7a:b4",
    "flags_mask": "C",
    "iface": "ens33"
  }
]

$ arp -a | jc --arp -p
[
  {
    "name": null,
    "address": "192.168.71.254",
    "hwtype": "ether",
    "hwaddress": "00:50:56:f0:98:26",
    "iface": "ens33"
    "permanent": false,
    "expires": 1182
  },
  {
    "name": "gateway",
    "address": "192.168.71.2",
    "hwtype": "ether",
    "hwaddress": "00:50:56:f7:4a:fc",
    "iface": "ens33"
    "permanent": false,
    "expires": 110
  }
]

$ arp -a | jc --arp -p -r
[
  {
    "name": "?",
    "address": "192.168.71.254",
    "hwtype": "ether",
    "hwaddress": "00:50:56:fe:7a:b4",
    "iface": "ens33"
    "permanent": false,
    "expires": "1182"
  },
  {
    "name": "_gateway",
    "address": "192.168.71.2",
    "hwtype": "ether",
    "hwaddress": "00:50:56:f7:4a:fc",
    "iface": "ens33"
    "permanent": false,
    "expires": "110"
  }
]

parse

def parse(data, raw=False, quiet=False)

Main text parsing function

Parameters:

data:        (string)  text data to parse
raw:         (boolean) unprocessed output if True
quiet:       (boolean) suppress warning messages if True

Returns:

List of Dictionaries. Raw or processed structured data.

Parser Information

Compatibility: linux, aix, freebsd, darwin

Version 1.8 by Kelly Brazil (kellyjonbrazil@gmail.com)