Skip to content
Snippets Groups Projects
Select Git revision
  • a830f7dfa6d40d9c90dfdd9adbd190ecce936d6c
  • zig default
  • master
  • zig-threaded
  • openat
  • chdir
  • clear
  • compll
  • v1.18.1
  • v2.2.2
  • v1.18
  • v2.2.1
  • v2.2
  • v1.17
  • v2.1.2
  • v2.1.1
  • v2.1
  • v2.0.1
  • v2.0
  • v2.0-beta3
  • v2.0-beta2
  • v2.0-beta1
  • v1.16
  • v1.15.1
  • v1.15
  • v1.14.2
  • v1.14.1
  • v1.14
28 results

help.c

Blame
  • ipresolve.py 1.34 KiB
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    
    from __future__ import absolute_import, division, print_function, unicode_literals
    import sys
    from deadbeat import movement, log, conf, dns, text, fs
    from deadbeat.movement import itemsetter
    from operator import itemgetter
    
    name = "IP_Resolve"
    description = "Proof-of-concept bulk IP resolver"
    
    conf_def = conf.cfg_root((
        conf.cfg_item(
            "input_files", conf.cast_path_list, "Input log files", default="test-input.txt"),
        conf.cfg_item(
            "output_file", str, "Output file", default="test-output.txt"),
        conf.cfg_section("log", log.log_base_config, "Logging"),
        conf.cfg_section("config", conf.cfg_base_config, "Configuration")
    ))
    
    def main():
        cfg = conf.gather(typedef=conf_def, name=name, description=description)
        log.configure(**cfg.log)
        train = movement.Train()
        file_watcher = fs.FileWatcherSupply(train.esc, filenames=cfg.input_files, tail=True)
        csv_parse = text.CSVParse(fieldsetters=(itemsetter("ip"),))
        resolve = dns.IPtoPTR(train.esc)
        serialise = text.CSVMarshall(fieldgetters=(itemgetter("ip"), itemgetter("hostnames")))
        output = fs.LineFileDrain(train=train, path=cfg.output_file, timestamp=False, flush=False)
        train.update(movement.train_line(file_watcher, csv_parse, resolve, serialise, output))
        train()
    
    
    if __name__ == '__main__':
        sys.exit(main())