profile
Profile Suricata processes to ensure they are running and installed properly.
To import...
from dynamite_nsm.services.suricata import profile as suricata_profile
ProcessProfiler
__init__(self)
special
Get information about the Suricata service
Source code in dynamite_nsm/services/suricata/profile.py
def __init__(self):
"""
Get information about the Suricata service
"""
self.env_dict = utilities.get_environment_file_dict()
self.suricata_home = self.env_dict.get('SURICATA_HOME')
self.suricata_config = self.env_dict.get('SURICATA_CONFIG')
profile.BaseProcessProfiler.__init__(self,
install_directory=self.suricata_home,
config_directory=self.suricata_config,
required_install_files=['bin', 'include', 'lib'],
required_config_files=['rules'])
is_attached_to_network(self)
Determine if Suricata is bound to one or more network interfaces
Returns:
Type | Description |
---|---|
bool |
True, if attached to one or more network interfaces |
Source code in dynamite_nsm/services/suricata/profile.py
def is_attached_to_network(self) -> bool:
"""Determine if Suricata is bound to one or more network interfaces
Returns:
True, if attached to one or more network interfaces
"""
return any(self.get_attached_interfaces())
is_running(self)
Determine of Suricata is running
Returns:
Type | Description |
---|---|
bool |
True, if running |
Source code in dynamite_nsm/services/suricata/profile.py
def is_running(self) -> bool:
"""
Determine of Suricata is running
Returns:
True, if running
"""
if self.suricata_home:
try:
return suricata_process.ProcessManager().status()['running']
except KeyError:
return suricata_process.ProcessManager().status()['RUNNING']
return False