<%- partial('google-analytics') %>

Packets Are Easy

Omnipacket Blog

Flowcoder -- A Ping

Flowcoder is a WYSIWYG Network Programmer with a Visual DSL (Domain Specific Language), an IDE and a Packet Processor. The screencast below is a super simple example of Flowcoder use.

We take a pcap log with ICMP Echo packet sent to google.com ( and the associated reply, import them into Flowcoder, and build an executable flowchart around them.

The flowchart takes a name of a new host to ping from a variable initialized to “omnipacket.com”, does a DNS lookup, gets the resolved IP back (, assign it to another variable.

The variable is then used to overwrite the value of IP Destination Address in the outgoing ICMP Echo request. The flowchart gets Echo Reply back. The detailed trace of what happen is visible in the bottom pane of the dialog. We recommend watching full screen.

DOCSIS 3.1 Analysis with Proofreader

DOCSIS 3.1 pcap files can be analyzed with Proofreader. The tool decodes stack layers from Ethernet II to L2TPv3, the DOCSIS layers above, DEPI/UEPI, upstream/downstream. One can also edit DOCSIS packets with Safepcap and simulate DOCSIS 3.1 traffic on the wire with Flowcoder.

When Proofreader detects a discrepancy in the structure of a packet, it stops decoding and adds a comment in red.

When L2TPv3 session establishment packets can’t be found in .pcap file, one can fill the helper table describing types of DOCSIS traffic as function of L2TPv3 Session ID.

DOCSIS Specs Supported:

  • DOCSIS 3.1 Physical Layer Specification (CM-SP-PHYv3.1-I07-150910)
  • Remote Downstream External PHY Interface [DEPI] (CM-SP-R-DEPI-I02-151001)
  • Remote Upstream External PHY Interface [UEPI] (CM-SP-R-UEPI-I02-160121)
  • DOCSIS 3.1 MAC and Upper Layer Protocols Interface Specification, CM-SP-MULPIv3.1-I07-150910
  • Generic Control Plane Specification (CM-SP-GCP-I01-150615)
  • ISO/IEC 13818-1, Information technology, Generic Coding of Moving Pictures and Associated Audio Information
  • IETF RFC 3931, Layer Two Tunneling Protocol - Version 3 (L2TPv3)
  • IEEE Std 802.1Q-2003, Virtual Bridged Local Area Networks

[DOCSIS 3.1 example, .xml]
[DOCSIS 3.1 example, .txt]

<% if (config.disqus_shortname){ %> <% } %> <% if (theme.fancybox){ %> <%- css('fancybox/jquery.fancybox') %> <%- js('fancybox/jquery.fancybox.pack') %> <% } %> <%- js('js/script') %>