Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 3.139.83.202
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
share /
netplan /
netplan /
cli /
commands /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
__init__.py
1.35
KB
-rw-r--r--
apply.py
19.52
KB
-rw-r--r--
generate.py
3.46
KB
-rw-r--r--
get.py
2.73
KB
-rw-r--r--
info.py
2.43
KB
-rw-r--r--
ip.py
5.77
KB
-rw-r--r--
migrate.py
19.99
KB
-rw-r--r--
set.py
8.7
KB
-rw-r--r--
sriov_rebind.py
1.91
KB
-rw-r--r--
try_command.py
7.99
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : ip.py
#!/usr/bin/python3 # # Copyright (C) 2018 Canonical, Ltd. # Author: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 3. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. '''netplan ip command line''' import logging import os import sys import subprocess from subprocess import CalledProcessError import netplan.cli.utils as utils lease_path = { 'networkd': { 'pattern': 'run/systemd/netif/leases/{lease_id}', 'method': 'ifindex', }, 'NetworkManager': { 'pattern': 'var/lib/NetworkManager/dhclient-{lease_id}-{interface}.lease', 'method': 'nm_connection', }, } class NetplanIp(utils.NetplanCommand): def __init__(self): super().__init__(command_id='ip', description='Retrieve IP information from the system', leaf=False) def run(self): self.command_leases = NetplanIpLeases() # subcommand: leases p_ip_leases = self.subparsers.add_parser('leases', help='Display IP leases', add_help=False) p_ip_leases.set_defaults(func=self.command_leases.run, commandclass=self.command_leases) self.parse_args() self.run_command() class NetplanIpLeases(utils.NetplanCommand): def __init__(self): super().__init__(command_id='ip leases', description='Display IP leases', leaf=True) def run(self): self.parser.add_argument('interface', help='Interface for which to display IP lease settings.') self.parser.add_argument('--root-dir', help='Search for configuration files in this root directory instead of /') self.func = self.command_ip_leases self.parse_args() self.run_command() def command_ip_leases(self): if self.interface == 'help': # pragma: nocover (covered in autopkgtest) self.print_usage() def find_lease_file(mapping): def lease_method_ifindex(): ifindex_f = os.path.join('/sys/class/net', self.interface, 'ifindex') try: with open(ifindex_f) as f: return f.readlines()[0].strip() except Exception as e: logging.debug('Cannot read file %s: %s', ifindex_f, str(e)) raise def lease_method_nm_connection(): # pragma: nocover (covered in autopkgtest) # FIXME: handle older versions of NM where 'nmcli dev show' doesn't exist try: nmcli_dev_out = utils.nmcli_out(['dev', 'show', self.interface]) for line in nmcli_dev_out.splitlines(): if 'GENERAL.CONNECTION' in line: conn_id = line.split(':')[1].rstrip().strip() nmcli_con_out = utils.nmcli_out(['con', 'show', 'id', conn_id]) for line in nmcli_con_out.splitlines(): if 'connection.uuid' in line: return line.split(':')[1].rstrip().strip() except Exception as e: raise Exception('Could not find a NetworkManager connection for the interface: %s' % str(e)) raise Exception('Could not find a NetworkManager connection for the interface') lease_pattern = lease_path[mapping['backend']]['pattern'] lease_method = lease_path[mapping['backend']]['method'] try: lease_id = eval("lease_method_" + lease_method)() # We found something to build the path to the lease file with, # at this point we may have something to look at; but if not, # we'll rely on open() throwing an error. # This might happen if networkd doesn't use DHCP for the interface, # for instance. with open(os.path.join('/', os.path.abspath(self.root_dir) if self.root_dir else "", lease_pattern.format(interface=self.interface, lease_id=lease_id))) as f: for line in f.readlines(): print(line.rstrip()) except Exception as e: print("No lease found for interface '%s': %s" % (self.interface, str(e)), file=sys.stderr) sys.exit(1) argv = [utils.get_generator_path()] if self.root_dir: argv += ['--root-dir', self.root_dir] argv += ['--mapping', self.interface] # Extract out of the generator our mapping in a dict. logging.debug('command ip leases: running %s', argv) try: out = subprocess.check_output(argv, universal_newlines=True) except CalledProcessError: # pragma: nocover (better be covered in autopkgtest) sys.exit(1) mapping = {} mapping_s = out.split(',') for keyvalue in mapping_s: key, value = keyvalue.strip().split('=') mapping[key] = value find_lease_file(mapping)
Close