DEV Community

Cover image for TUI tool for generating packets of arbitrary input and monitoring packets!
Ochi Daiki
Ochi Daiki

Posted on

TUI tool for generating packets of arbitrary input and monitoring packets!

Hi! Today, I have a tool that I really want to introduce to you all.

It is a TUI tool that I am currently developing, and it has two functions.
The repository for the tool is https://github.com/ddddddO/packemon.

The first is the ability to generate and send packets!

  • Send generated packets to any network interfaces.
    • You can specify the network interface with --interface flag. Default is eth0.
  • Packets of various protocols are supported.
    • You can configure and generate arbitrary packets at each layer of the TCP/IP model.
    • Details are in the README of the repository.

Second, you can monitor packets sent and received!

  • Monitor any network interfaces.
    • You can specify network interface with --interface flag.
  • Can filter packets to be displayed.
    • You can filter the values for each item (e.g. Dst, Proto, SrcIP.... . etc.) displayed in the listed packets.
  • Specified packets can be saved to pcapng file.
  • Packets of various protocols are supported.

Finally

This tool is a full scratch implementation of the protocol stack. When I tried to establish a connection with my own implementation of TCP 3-way-handshake with this tool, the kernel was sending TCP RST packets. So I have included a process to drop the RST packets sent using eBPF. Also, this is only supported on Linux.

Please see the README for more information! The README also includes instructions on how to use and install it.

If you use it I will be happy!

Top comments (0)