FrameAssembly v1.5.1 · 81 Protocols (L2–L7) · Free & Open Source

Create and edit .pcap files.

Built for network engineers and security analysts—no Python virtual environments, Scapy scripts, or sudo required. Write .fasm files (host, flow, compile) to build .pcap and .pcapng captures, or decompile existing captures with frameassembly reverse for Wireshark, tcpreplay, and Suricata.

CREATE CUSTOM PCAPS

Build clean captures without lab VMs

Generate exact Ethernet, VLAN, IPv4/IPv6, TCP, UDP, DNS, HTTP, or TLS packets with automatic checksums and zero background noise.

SIMULATE SNMP TRAPS

Test Zabbix, PRTG & LibreNMS alerts

Craft SNMPv1, SNMPv2c, and encrypted SNMPv3 (SHA-256 + AES-128) traps in one line and replay them with tcpreplay.

TEST FIREWALLS & IDS

Automatic TCP handshakes & SEQ/ACK math

Stateful firewalls drop single spoofed packets. FrameAssembly tracks TCP sequence numbers and flips reply ports automatically.

Problem: Need a clean .pcap file in 30 secondsDeclare two hosts, write two packet lines with -> and <-, and compile a valid .pcap capture.
// 1. Name the devices on your network
host laptop { ip 192.168.1.10 mac 00:1a:2b:3c:4d:10 }
host router { ip 192.168.1.1 mac 00:1a:2b:3c:4d:01 }
// 2. Write the packets (1 line = 1 packet)
flow ping_test(a, b) {
a -> b icmp echo_request id 1 seq 1 payload "hello" wait 1ms
a <- b icmp echo_reply id 1 seq 1 payload "hello" wait 2ms
}
// 3. Build the .pcap file
compile {
ping_test(laptop, router)
}
Compiled packets (ping_test.pcap):✓ Ethernet + IP + L4 checksums computed automatically
1 0.000 ms 192.168.1.10 -> 192.168.1.1 ICMP 47 B Echo Request (id=1 seq=1)
2 1.000 ms 192.168.1.1 -> 192.168.1.10 ICMP 47 B Echo Reply (id=1 seq=1)
RECOMMENDED LOCAL SETUP (EASY UPDATES)

Install with Cargo & add the VS Code syntax highlighting extension

All platforms (Linux, macOS, Windows)
$cargo install frameassembly
$code --install-extension SteveWinschel.frameassembly-vscode