Menu

Tree [861af0] main /
 History

HTTPS access


File Date Author Commit
 .vscode 2024-02-04 David Verbree David Verbree [ff3f1c] Added additional mouse support for scroll wheel
 pages 2024-06-02 verbreda verbreda [15744a] Fixed max pkt size with rtags, added auto multi...
 parsers 2024-06-02 verbreda verbreda [861af0] Refixed max pkt size for pkt defs
 scripts 2024-01-22 David Verbree David Verbree [955b12] Fixed build with hyphen in path and fixed str w...
 src 2024-06-02 verbreda verbreda [15744a] Fixed max pkt size with rtags, added auto multi...
 .gitignore 2023-12-20 David Verbree David Verbree [d0bed7] More refactoring and added IGMP page
 .gitlab-ci.yml 2024-01-27 David Verbree David Verbree [300891] Update coverage regex
 .gitmodules 2024-01-27 David Verbree David Verbree [7ad625] Ciupdates
 CMakeLists.txt 2024-06-01 David Verbree David Verbree [6c0d58] Updated build to not require google test submod...
 CMakeLists.txt.googletest.in 2024-01-14 David Verbree David Verbree [5e0107] Add PTP parser and googletest unit test framework
 CodeCoverage.cmake 2024-01-27 David Verbree David Verbree [2216b3] Major restructure for cleaner unit tests
 INSTALL 2023-12-22 David Verbree David Verbree [bfb613] Added/fixed post install deb setcap script
 LICENSE 2023-10-28 David Verbree David Verbree [a934b6] Add LICENSE
 README.md 2024-06-01 David Verbree David Verbree [6c0d58] Updated build to not require google test submod...
 babyshark.code-workspace 2024-04-30 David Verbree David Verbree [261ffa] Initial addition of R tag support
 build_all.sh 2024-01-25 David Verbree David Verbree [8fc759] Update build_all.sh
 help.txt 2024-03-02 David Verbree David Verbree [5f9e96] Added mouse disable keystroke, add stream favor...
 sgdb.sh 2023-12-06 David Verbree David Verbree [53cd7c] Fixed bandwidth calc

Read Me

BabyShark

BabyShark is a text-based GUI network monitoring and debug tool. It is designed
to be used on embedded linux systems where a display manager is not supported
or X11 forwarding is too much of a pain or insecure. It fills the gap between
a full featured WireShark and an overly complicated command line tool like TShark
or TCPDump.

The primary goal of BabyShark is to monitor specific packet "streams" (same source, destination MAC, IP, and UDP port, VLAN, and PCP value).

BabyShark supports the following features:

  • VLAN-tagged Ethernet frame monitoring
  • IPv4 monitoring
  • Raw packet hex view
  • ARP monitoring
  • Supports both wired and wireless (WiFi) Ethernet
  • Supports bluetooth monitoring
  • Test packet generation / transmittal
  • Packet definitions stored in XML file
  • NCurses colorization
  • Per-stream data and wired bandwidth statistics.

Building from source

The following prerequites must be installed:

  • cmake
  • g++
  • libc6-dev
  • libpcap-dev (>=1.0)
  • libncurses-dev (>=6.0)

Run the build_all.sh script to build both the debug and release versions as well as the .deb installer.

Building with unit tests

The following additional prerequisites must be installed to build the unit tests:

  • govr
  • lcov

From the root of the cloned directory, initialize and update the googletest-src git submodule:

git submodule update --init

Create and change to the debug build directory and initialize CMake build type as tests:

mkdir -p build/debug
cd build/debug

cmake -DCMAKE_BUILD_TYPE=tests ../..
make

The unit test executable is located here:

./parsers/parser_tests