Need help with flightsim?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

622 Stars 105 Forks Other 142 Commits 21 Opened issues


A utility to safely generate malicious network traffic patterns and evaluate controls.

Services available


Need anything else?

Contributors list

Network Flight Simulator

flightsim is a lightweight utility used to generate malicious network traffic and help security teams to evaluate security controls and network visibility. The tool performs tests to simulate DNS tunneling, DGA traffic, requests to known active C2 destinations, and other suspicious traffic patterns.


Download the latest flightsim binary for your OS from the GitHub Releases page. Alternatively, the utility can be built using Golang in any environment (e.g. Linux, MacOS, Windows), as follows:

go get -u

Running Network Flight Simulator

Upon installation, test flightsim as follows:

$ flightsim --help

AlphaSOC Network Flight Simulator™ (

flightsim is an application which generates malicious network traffic for security teams to evaluate security controls (e.g. firewalls) and ensure that monitoring tools are able to detect malicious traffic.

Usage: flightsim [arguments]

Available commands: get Get a list of elements (ie. families) of a certain category (ie. c2) run Run all modules, or a particular module version Prints the version number

Cheatsheet: flightsim run Run all the modules flightsim run c2 Simulate C2 traffic flightsim run c2:trickbot Simulate C2 traffic for the TrickBot family flightsim run ssh-transfer:1GB Simulate a 1GB SSH/SFTP file transfer

flightsim get families:c2       Get a list of all c2 families

The utility runs individual modules to generate malicious traffic. To perform all available tests, simply use

flightsim run
which will generate traffic using the first available non-loopback network interface. Note: when running many modules, flightsim will gather destination addresses from the AlphaSOC API, so requires egress Internet access.

To list the available modules, use

flightsim run --help
. To execute a particular test, use
flightsim run 
, as below.
$ flightsim run --help
usage: flightsim run [flags] [modules]

To run all available modules, call:

flightsim run

To run a specific module:

flightsim run c2

Available modules:

    c2, dga, imposter, miner, scan, sink, spambot, ssh-exfil, ssh-transfer, tunnel-dns, tunnel-icmp

Available flags: -dry print actions without performing any network activity -fast reduce sleep intervals between simulation events -iface string network interface or local IP address to use -size int number of hosts generated for each simulator

$ flightsim run dga

AlphaSOC Network Flight Simulator™ ( The address of the network interface for IP traffic is The address of the network interface for DNS queries is The current time is 26-Oct-21 17:28:51

17:28:51 [dga] Generating a list of DGA domains 17:28:51 [dga] Resolving 17:28:52 [dga] Resolving 17:28:53 [dga] Resolving 17:28:54 [dga] Resolving 17:28:55 [dga] Resolving 17:28:56 [dga] Resolving 17:28:57 [dga] Resolving 17:28:58 [dga] Resolving 17:28:59 [dga] Resolving 17:29:00 [dga] Resolving 17:29:01 [dga] Resolving 17:29:02 [dga] Resolving 17:29:03 [dga] Resolving 17:29:04 [dga] Resolving 17:29:05 [dga] Resolving 17:29:05 [dga] Done (15/15)

All done! Check your SIEM for alerts using the timestamps and details above.

The utility also has a

command which can be used to query information that can later be used with the simulation modules. At present, a list of C2 families can be obtained to be used with the C2 module. To see how to use the
command, run
flightsim get -h
as below.
$ flightsim get -h

AlphaSOC Network Flight Simulator™ ( The current time is 26-Oct-21 17:42:23

usage: flightsim get [flags] element:category

Available elements:


Available categories:


Available flags:

To get a list of C2 families, run:

$ flightsim get families:c2

AlphaSOC Network Flight Simulator™ ( The current time is 16-Nov-21 11:16:51

11:16:51 [families:c2] Fetching c2 families 11:16:55 [families:c2] Adwind, Agent Tesla, Amadey, AsyncRAT, AZORult, BASHLITE, BazarBackdoor, BlackNET RAT, Cobalt Strike, Collector Stealer, CryptBot, DarkComet, DiamondFox, Dridex, Emotet, Gozi, IcedID, Kimsuky, KPOT Stealer, LokiBot, Mirai, NanoCore RAT, njRAT, Oski Stealer, Pony, Predator the Thief, Quakbot, RedLine, RedLine Stealer, Remcos RAT, Smoke Loader, Taurus, TrickBot, XtremeRAT, Zloader 11:16:55 [families:c2] Fetched 35 c2 families

All done!

Description of Modules

The modules packaged with the utility are listed in the table below.

| Module | Description | | ------------- | ----------------------------------------------------------------------------- | |

| Generates both DNS and IP traffic to a random list of known C2 destinations | |
| Simulates DGA traffic using random labels and top-level domains | |
| Generates DNS traffic to a list of imposter domains | |
| Generates Stratum mining protocol traffic to known cryptomining pools | |
| Performs a port scan of random RFC 5737 addresses using common TCP ports | |
| Connects to known sinkholed destinations run by security researchers | |
| Resolves and connects to random Internet SMTP servers to simulate a spam bot | |
| Simulates an SSH file transfer to a service running on a non-standard SSH port| |
| Simulates an SSH file transfer to a service running on an SSH port | |
| Generates DNS tunneling requests to * | |
| Generates ICMP tunneling traffic to an Internet service operated by AlphaSOC |

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.