Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jekor/gressgraph
visualize your iptables firewall
https://github.com/jekor/gressgraph
Last synced: 3 months ago
JSON representation
visualize your iptables firewall
- Host: GitHub
- URL: https://github.com/jekor/gressgraph
- Owner: jekor
- License: mit
- Created: 2012-05-06T17:02:52.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2020-06-15T17:20:42.000Z (over 4 years ago)
- Last Synced: 2024-05-13T19:31:58.476Z (6 months ago)
- Language: Haskell
- Size: 50.8 KB
- Stars: 153
- Watchers: 9
- Forks: 22
- Open Issues: 3
-
Metadata Files:
- Readme: README.markdown
- License: LICENSE
Awesome Lists containing this project
- awesome-hacking-lists - jekor/gressgraph - visualize your iptables firewall (Haskell)
README
# gressgraph - Visualize Your Firewall
Visualize your firewall by graphing its rules.
Warning: This was only tested on small firewall rulesets.
## Requirements
* [Graphviz](http://www.graphviz.org/)
* iptablesIf compiling from source:
* GHC (>= 6.8.2)
* lhs2TeX (>= 1.11)
* GNU MakeFor Ubuntu Server 16.04 run the following to install prerequisites
```
$ sudo apt install iptables graphviz make lhs2tex ghc libghc-parsec3-dev
```## Usage
```ShellSession
$ iptables -L -vx | gressgraph > iptables.twopi
$ twopi -Tsvg iptables.twopi > iptables.svg
```See the source for more detailed documentation, including a description of
how the program was written.Note: There are no commandline options. Also, I've only tested the program
on my own simple iptables ruleset. It's likely that it will fail to parse your
rules.## Building
```ShellSession
$ make
$ make test
```If you didn't receive gressgraph.pdf:
```ShellSession
$ make doc
```## Troubleshooting
### The program hangs after outputting `"// Interfaces"`.
gressgraph is waiting for input. Make sure you've sent it something on its
stdin (it does not take a file as a commandline argument).# Building
I build gressgraph with [Nix](http://nixos.org/nix/) to try to ensure reproducible builds:
```
nix-build dev.nix
````default.nix` is for inclusion in a top-level file (such as `all-packages.nix`). `dev.nix` builds gressgraph with a fixed version of nixpkgs, providing stability at the cost of inflating the nix store.