CasperSecurity

Current Path : /snap/core24/1267/bin/
Upload File :
Current File : //snap/core24/1267/bin/routel

#! /usr/bin/env python3
# SPDX-License-Identifier: GPL-2.0
#
# This is simple script to process JSON output from ip route
# command and format it.  Based on earlier shell script version.
"""Script to parse ip route output into more readable text."""

import sys
import json
import getopt
import subprocess


def usage():
    '''Print usage and exit'''
    print("Usage: {} [tablenr [raw ip args...]]".format(sys.argv[0]))
    sys.exit(64)


def main():
    '''Process the arguments'''
    family = 'inet'
    try:
        opts, args = getopt.getopt(sys.argv[1:], "h46f:", ["help", "family="])
    except getopt.GetoptError as err:
        print(err)
        usage()

    for opt, arg in opts:
        if opt in ["-h", "--help"]:
            usage()
        elif opt == '-6':
            family = 'inet6'
        elif opt == "-4":
            family = 'inet'
        elif opt in ["-f", "--family"]:
            family = arg
        else:
            assert False, "unhandled option"

    if not args:
        args = ['0']

    cmd = ['ip', '-f', family, '-j', 'route', 'list', 'table'] + args
    process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
    tbl = json.load(process.stdout)
    if family == 'inet':
        fmt = '{:15} {:15} {:15} {:8} {:8}{:<16} {}'
    else:
        fmt = '{:32} {:32} {:32} {:8} {:8}{:<16} {}'

    # ip route json keys
    keys = ['dst', 'gateway', 'prefsrc', 'protocol', 'scope', 'dev', 'table']
    print(fmt.format(*map(lambda x: x.capitalize(), keys)))

    for record in tbl:
        fields = [record[k] if k in record else '' for k in keys]
        print(fmt.format(*fields))


if __name__ == "__main__":
    main()
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY