Exemple #1
0
 def testDpkgCmdParser(self):
     """Ensure we can extract packages from dpkg output."""
     parser = linux_cmd_parser.DpkgCmdParser()
     content = open(os.path.join(self.base_path, "dpkg.out")).read()
     out = list(
         parser.Parse("/usr/bin/dpkg", ["--list"], content, "", 0, 5, None))
     self.assertEqual(len(out), 181)
     self.assertTrue(isinstance(out[1], rdfvalue.SoftwarePackage))
     self.assertTrue(out[0].name, "acpi-support-base")
Exemple #2
0
 def testDpkgCmdParserPrecise(self):
   """Ensure we can extract packages from dpkg output on ubuntu precise."""
   parser = linux_cmd_parser.DpkgCmdParser()
   content = open(
       os.path.join(self.base_path, "checks/data/dpkg.precise.out"),
       "rb").read()
   out = list(
       parser.Parse("/usr/bin/dpkg", ["--list"], content, "", 0, 5, None))
   self.assertEqual(len(out), 30)
   self.assertTrue(isinstance(out[1], rdf_client.SoftwarePackage))
   self.assertTrue(out[0].name, "adduser")
Exemple #3
0
def GetDPKGData():
  if DPKG_SW:
    return DPKG_SW

  # Load some dpkg data
  parser = linux_cmd_parser.DpkgCmdParser()
  test_data = os.path.join(CHECKS_DIR, "data/dpkg.out")
  with open(test_data, "rb") as f:
    DPKG_SW.extend(
        parser.Parse("/usr/bin/dpkg", ["-l"], f.read(), "", 0, 5, None))
  return DPKG_SW
Exemple #4
0
from grr.lib import test_lib
from grr.lib.checks import checks
from grr.lib.checks import checks_test_lib
from grr.lib.checks import filters
from grr.lib.rdfvalues import anomaly as anomaly_rdf
from grr.parsers import config_file as config_file_parsers
from grr.parsers import linux_cmd_parser
from grr.parsers import wmi_parser

CHECKS_DIR = os.path.join(config_lib.CONFIG["Test.data_dir"], "checks")
TRIGGER_1 = ("DebianPackagesStatus", "Linux", None, None)
TRIGGER_2 = ("WMIInstalledSoftware", "Windows", None, None)
TRIGGER_3 = ("DebianPackagesStatus", None, None, "foo")

# Load some dpkg data
parser = linux_cmd_parser.DpkgCmdParser()
test_data = os.path.join(config_lib.CONFIG["Test.data_dir"], "dpkg.out")
with open(test_data) as f:
    DPKG_SW = list(
        parser.Parse("/usr/bin/dpkg", ["-l"], f.read(), "", 0, 5, None))

# Load some wmi data
parser = wmi_parser.WMIInstalledSoftwareParser()
test_data = os.path.join(config_lib.CONFIG["Test.data_dir"], "wmi_sw.yaml")
WMI_SW = []
with open(test_data) as f:
    wmi = yaml.safe_load(f)
    for sw in wmi:
        WMI_SW.extend(parser.Parse(None, sw, None))

# Load an sshd config