Reverse Proxy Grapher
rev-proxy-grapher generates Graphviz graphs illustrating reverse proxy flows from a YAML topology file. It optionally incorporates nmap XML files for port and service details.
Description
rev-proxy-grapher is a tool designed to visualize the topology of reverse proxy networks. Users provide a manually curated YAML file that describes the network structure, proxy definitions, and optionally nmap output files containing additional port and service information. The tool processes this input to produce a Graphviz-compatible graph in various output formats.
This utility is particularly useful for network administrators and security professionals managing complex reverse proxy setups. It helps in documenting and understanding the flow from external interfaces to internal services, making it easier to audit, troubleshoot, or present proxy configurations.
The tool supports customization through various flags for DNS resolution, output formatting, and limiting external representations, enhancing its flexibility for different visualization needs.
How It Works
The tool reads a YAML file specifying the network topology and proxy configurations. It parses this data to build a graph structure, optionally integrating details from provided nmap XML scan files for node ports and services. Using pydotplus and Graphviz, it renders the graph with customizable layout parameters like font, size, and separation. DNS resolution can be enabled to label IPs with hostnames, and external limits refine the external-facing view.
Installation
sudo apt install rev-proxy-grapherFlags
Examples
rev-proxy-grapher -hrev-proxy-grapher --topology topology.yamlrev-proxy-grapher --topology topology.yaml --resolve-dnsrev-proxy-grapher --topology topology.yaml --nmap-xml scan1.xml scan2.xmlrev-proxy-grapher --topology topology.yaml --limit-ext 192.168.1.0/24rev-proxy-grapher --topology topology.yaml --out proxy-graph.png --font Arial --fontsize 12rev-proxy-grapher --topology topology.yaml --verbose