CasperSecurity

Current Path : /usr/share/apport/package-hooks/
Upload File :
Current File : //usr/share/apport/package-hooks/source_network-manager.py

"""Apport package hook for Network Manager

(c) 2008 Canonical Ltd.
Contributors:
Matt Zimmerman <mdz@canonical.com>
Martin Pitt <martin.pitt@canonical.com>
Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>
Thomas Bechtold <thomasbechtold@jpberlin.de>

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; either version 2 of the License, or (at your
option) any later version.  See http://www.gnu.org/copyleft/gpl.html for
the full text of the license.
"""

import os
import subprocess
from apport.hookutils import *


def _network_interfaces():
    interfaces = []
    output = command_output(["ls", "-1", "/sys/class/net"])
    for device in output.split("\n"):
        interfaces.append(device)

    return interfaces


def _device_details(device):
    details = command_output(
        ["udevadm", "info", "--query=all", "--path", "/sys/class/net/%s" % device]
    )

    # add the only extra thing of use from hal we don't get from udev.
    details = details + "\nX: INTERFACE_MAC="
    details = details + command_output(["cat", "/sys/class/net/%s/address" % device])
    return details


def add_info(report, ui=None):
    attach_network(report)
    attach_wifi(report)

    # this is the old config file (still read by NM if available)
    attach_file_if_exists(
        report, "/etc/NetworkManager/nm-system-settings.conf", "nm-system-settings.conf"
    )

    # the new default config file
    attach_file_if_exists(
        report, "/etc/NetworkManager/NetworkManager.conf", "NetworkManager.conf"
    )

    # attach NetworkManager.state: it gives us good hints in rfkill-related bugs.
    attach_file_if_exists(
        report, "/var/lib/NetworkManager/NetworkManager.state", "NetworkManager.state"
    )

    for interface in _network_interfaces():
        key = "NetDevice.%s" % interface
        report[key] = _device_details(interface)

    interesting_modules = {
        "ndiswrapper": "driver-ndiswrapper",
        "ath_hal": "driver-madwifi",
        "b44": "driver-b44",
    }
    interesting_modules_loaded = []
    tags = []
    for line in open("/proc/modules"):
        module = line.split()[0]
        if module in interesting_modules:
            tags.append(interesting_modules[module])
            interesting_modules_loaded.append(module)

    if interesting_modules_loaded:
        report["InterestingModules"] = " ".join(interesting_modules_loaded)
        report.setdefault("Tags", "")
        report["Tags"] += " " + " ".join(tags)

    # add output of nmcli
    report["nmcli-nm"] = command_output(["nmcli", "-f", "all", "gen"])
    report["nmcli-dev"] = command_output(["nmcli", "-f", "all", "dev"])
    report["nmcli-con"] = command_output(["nmcli", "-f", "all", "con"])


## Only for debugging ##
if __name__ == "__main__":
    report = {}
    report["CrashDB"] = "ubuntu"
    add_info(report, None)
    for key in report:
        print("%s: %s" % (key, report[key]))
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