Show HN: Parse Ifconfig output from remote/local server and retrieve as required

README.rst

Parse ifconfig output collected from local or remote server and retrieve required
interface information.

Install ifconfig-parser:

You can access inferface information as below :

>>> import commands
>>> from ifparser import Ifcfg
>>> ifdata = Ifcfg(commands.getoutput('ifconfig -a'))
>>> ifdata.interfaces
['lo', 'docker0', 'eth0']
>>> eth0 = ifdata.get_interface('eth0')
>>> eth0.BROADCAST
True
>>> eth0.hwaddr, eth0.mtu, eth0.ip, eth0.UP
('08:00:27:1f:d8:b0', '1500', '10.0.2.15', True)

You can query for intefaces on particular parameter :

 >>> ifdata.get(itype='Ethernet')
 [obj-docker0, obj-eth0]
 >>> ifdata.get(UP=True)
[obj-lo, obj-docker0, obj-eth0]

Get all interface parameters with get_values. Following dictionary contains all possible values:

>>> eth0 = ifdata.get_interface('eth0')
>>> eth0.get_values()
{'BROADCAST': True,
 'LOOPBACK': False,
 'MULTICAST': True,
 'RUNNING': True,
 'UP': True,
 'bcast': '10.10.2.255',
 'hwaddr': 'FF:FF:27:1f:d8:b0',
 'interface': 'eth0',
 'ip': '10.10.2.15',
 'itype': 'Ethernet',
 'mask': '255.255.255.0',
 'mtu': '1500',
 'rxbytes': '547873',
 'rxpkts': '628',
 'txbytes': '50826',
 'txpkts': '424'}

List of parameters for interface:

  • BROADCAST, LOOPBACK, MULTICAST, RUNNING, UP
  • interface – Interface name, itype – Interface Type
  • ip – IP, bcast – Broadcast, mask – Mask
  • hwaddr – MAC address, mtu – MTU
  • rxbytes – Received Bytes, rxpkts – Received Packets
  • txbytes – Sent Bytes, txpkts – Sent Packets


Original URL: http://feedproxy.google.com/~r/feedsapi/BwPx/~3/X8LBcloQjiQ/ifconfig-parser

Original article

Comments are closed.

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d bloggers like this: