dissect.target.plugins.os.unix.linux.network

Module Contents

Classes

LinuxNetworkPlugin

Linux network interface plugin.

LinuxNetworkConfigParser

NetworkManagerConfigParser

NetworkManager configuration parser.

SystemdNetworkConfigParser

Systemd network configuration parser.

Attributes

dissect.target.plugins.os.unix.linux.network.NetAddress
class dissect.target.plugins.os.unix.linux.network.LinuxNetworkPlugin(target: dissect.target.target.Target)

Bases: dissect.target.plugins.os.default.network.NetworkPlugin

Linux network interface plugin.

dissect.target.plugins.os.unix.linux.network.VlanIdByInterface
class dissect.target.plugins.os.unix.linux.network.LinuxNetworkConfigParser(target: dissect.target.Target)
interfaces() Iterator[dissect.target.helpers.record.UnixInterfaceRecord]

Parse network interfaces from configuration files.

class dissect.target.plugins.os.unix.linux.network.NetworkManagerConfigParser(target: dissect.target.Target)

Bases: LinuxNetworkConfigParser

NetworkManager configuration parser.

NetworkManager configuration files are generally in an INI-like format. Note that Red Hat and Fedora deprecated ifcfg files. Documentation: https://networkmanager.dev/docs/api/latest/nm-settings-keyfile.html

config_paths: list[str] = ['/etc/NetworkManager/system-connections/', '/usr/lib/NetworkManager/system-connections/',...
class ParserContext
source: str
uuid: str | None = None
last_connected: datetime.datetime | None = None
name: str | None = None
mac_address: str | None = None
type: str = ''
dns: set[NetAddress]
ip_interfaces: set[NetInterface]
gateways: set[NetAddress]
dhcp_ipv4: bool = False
dhcp_ipv6: bool = False
vlan: set[int]
to_record() dissect.target.helpers.record.UnixInterfaceRecord
interfaces() Iterator[dissect.target.helpers.record.UnixInterfaceRecord]

Parse network interfaces from configuration files.

class dissect.target.plugins.os.unix.linux.network.SystemdNetworkConfigParser(target: dissect.target.Target)

Bases: LinuxNetworkConfigParser

Systemd network configuration parser.

Systemd network configuration files are generally in an INI-like format with some quirks. Note that drop-in directories are not yet supported.

Documentation: https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html

config_paths: list[str] = ['/etc/systemd/network/', '/run/systemd/network/', '/usr/lib/systemd/network/',...
class DhcpConfig

Bases: NamedTuple

ipv4: bool
ipv6: bool
dns_ip_patttern
interfaces() Iterator

Parse network interfaces from configuration files.

dissect.target.plugins.os.unix.linux.network.MANAGERS