[show private | hide private]
[frames | no frames]

## Module Hierarchy

- `Halberd`: HTTP load balancer detector module.
  - `clientlib`: HTTP/HTTPS client module.
  - `clues`: Clue management package
    - `analysis`: Utilities for clue analysis.
    - `Clue`: Clue generation module.
    - `file`: Utilities for clue storage.
  - `conflib`: Configuration file management module.
  - `crew`: A work crew is instantiated passing a ScanTask object as a parameter, thus defining the target and the way the scanning should be done.
  - `logger`: Logger singleton.
  - `reportlib`: Output module.
  - `ScanTask`: Scanning tasks.
  - `shell`: Provides scanning patterns to be used as building blocks for more complex scans.
  - `util`: Miscellaneous functions.

## Class Hierarchy

- `Halberd.ScanTask.ScanTask`: Describes the way a scan should be performed.
- `Halberd.clientlib.HTTPClient`: Special-purpose HTTP client.
  - `Halberd.clientlib.HTTPSClient`: Special-purpose HTTPS client.
- `Halberd.clues.Clue.Clue`: A clue is what we use to tell real servers behind a virtual IP.
- `Halberd.clues.file.ClueDir`: Stores clues hierarchically using the underlying filesystem.
- `Halberd.conflib.ConfReader`: Takes care of turning configuration files into meaningful information.
- `Halberd.crew.ScanState`: Shared state among scanner threads.
- `Halberd.crew.WorkCrew`: Pool of scanners working in parallel.
- `Halberd.shell.BaseStrategy`: Defines the strategy used to scan.
  - `Halberd.shell.ClueReaderStrategy`: Clue reader strategy.
  - `Halberd.shell.MultiScanStrategy`: Scan multiple URLs.
  - `Halberd.shell.UniScanStrategy`: Scan a single URL.
- `__builtin__.object`: The most base type
  - `__builtin__.type`: type(object) -> the object's type type(name, bases, dict) -> a new type
  - `threading._Verbose`
    - `threading.Thread`
      - `Halberd.crew.BaseScanner`: Base class for load balancer scanning threads.
        - `Halberd.crew.Manager`: Performs management tasks during the scan.
        - `Halberd.crew.Scanner`: Scans the target host from the local machine.
- `exceptions.Exception`: Common base class for all exceptions.
  - `Halberd.ScanTask.ConfError`: Error with configuration file(s)
  - `Halberd.clientlib.HTTPError`: Generic HTTP exception
    - `Halberd.clientlib.ConnectionRefused`: Unable to reach webserver
    - `Halberd.clientlib.HTTPSError`: Generic HTTPS exception
    - `Halberd.clientlib.InvalidURL`: Invalid or unsupported URL
    - `Halberd.clientlib.TimedOut`: Operation timed out
    - `Halberd.clientlib.UnknownReply`: The remote host didn't return an HTTP reply
  - `Halberd.conflib.InvalidConfFile`: Invalid configuration file.
  - `Halberd.clues.file.InvalidFile`: The loaded file is not a valid clue file.
  - `Halberd.shell.ScanError`: Generic error during scanning.

Generated by Epydoc 2.1 on Wed Jul 18 22:25:58 2007 | http://epydoc.sf.net