MoonGen is a fully scriptable high-speed packet generator built on DPDK and LuaJIT. It can saturate a 10 Gbit/s connection with 64 byte packets on a single CPU core while executing user-provided Lua scripts for each packet. Multi-core support allows for even higher rates. It also features precise and accurate timestamping and rate control.



The fancy formal firewall universal understander (fffuu) is a fully formally verified tool to verify iptables firewall rules.



The QScanner is a tool for large-scale QUIC scans. It establishes QUIC connections using a fork of quic-go. The fork is adatped to expose further information regarding the handshake.

The scanner retrieves information regarding * the connection * the QUIC transport parameters * TLS handshake information * X.509 certificates


Nonlinear Sibling Classification

This code can measure clock skew of remote hosts and discern whether a set of IPv4/IPv6 addresses is located on the same host or not.



For our goal to create an IPv6 hitlist and to evaluate the responsiveness of discovered IPv6 addresses, we developed an IPv6 capable version of ZMap.

In addition to adding general IPv6 support we include the following new probe modules:

  • ICMPv6 Echo Request
  • IPv6 TCP SYN (any port)
  • IPV6 UDP (any port and payload)

More information and access to our IPv6 hitlist is available on our website.



Vermont (VERsatile MONitoring Toolkit) is an open-source software toolkit for the creation and processing of network flow data, based on monitored Internet packet data. The IETF standard IPFIX (IP Flow Information eXport) defines the formats and procedures for handling these flows. Furthermore, the Netflow.v9 and the PSAMP (Packet Sampling) standards are supported. Vermont runs on Linux and derivatives of BSD. It can receive and process raw packets via PCAP as well as IPFIX/Netflow.v9 flow data.



We operate a browser-based service to analyze the properties of Internet connections at ''. The service specializes on the analysis of in-path Network Address Translation and tests for the NAT port mapping behavior, NAT mapping timeout, hole-punching, and SCTP compatibility, amongst other things.

The service was created in 2011 and is based on Java-Applets, a technology which is barely supported by modern browsers, and virtually non-existent support among mobile browsers. Our goal is to reimplement the service as far as possible using modern browser technologies (i.e. JavaScript) on the client-side. In addition, we aim to develop new tests beyond NAT analysis that are not present in the existing implementation.