The API traffic analyzer for Kubernetes providing real-time K8s protocol-level visibility, capturing and monitoring all traffic and payloads going in, out and across containers, pods, nodes and clusters. Inspired by Wireshark, purposely built for Kubernetes
Go to file
2025-04-13 00:25:01 +03:00
.github 👷 Remove kubeshark tap upgrades (#1519) 2024-03-18 17:32:56 +03:00
cmd Merge branch 'master' into node-targeting 2025-04-13 00:25:01 +03:00
config Merge branch 'master' into node-targeting 2025-04-13 00:25:01 +03:00
debounce 🔨 Move cli folder contents into project root (#1253) 2022-11-26 01:17:50 +03:00
errormessage chore: fix some comments (#1548) 2024-08-02 07:49:47 -07:00
helm-chart Merge branch 'master' into node-targeting 2025-04-13 00:25:01 +03:00
internal/connect Make the scritps command directly use the K8s API without requiring a connector to Hub (#1615) 2024-09-23 10:11:44 -07:00
kubernetes Node name and pod label based pod targeting 2025-03-19 19:12:48 +03:00
manifests Merge branch 'master' into node-targeting 2025-04-13 00:25:01 +03:00
misc scripting-revamp-1 (#1630) 2024-10-15 10:35:38 -07:00
semver 🔨 Move cli folder contents into project root (#1253) 2022-11-26 01:17:50 +03:00
utils Fix method name 2024-08-19 21:14:31 +03:00
.gitignore Brought back .gitignore` after having been deleted due to a bad commit. 2024-11-10 15:25:30 -08:00
.goreleaser.yml 👷 Add GoReleaser job for automatically generating the Homebrew formulae (#1258) 2022-12-09 19:19:06 +03:00
CODE_OF_CONDUCT.md 📚 Move CODE_OF_CONDUCT.md and CONTRIBUTING.md to project root (#1251) 2022-11-25 04:37:58 +03:00
codecov.yml codecov yml for tests threshold (#214) 2021-08-15 12:19:00 +03:00
CONTRIBUTING.md 🔨 Viewer to Analyzer 2023-03-17 20:09:09 +03:00
go.mod scripting-revamp-1 (#1630) 2024-10-15 10:35:38 -07:00
go.sum scripting-revamp-1 (#1630) 2024-10-15 10:35:38 -07:00
install.sh Remove brew version before installing with script (#1503) 2024-02-28 11:48:43 -08:00
kubectl.sh 🔧 Add some useful kubectl commands to Makefile 2023-04-10 01:09:34 +03:00
kubeshark.go 🐛 Have a short caller (file:line) log 2022-12-30 08:30:48 +03:00
LICENSE 📜 Update LICENSE 2022-11-30 04:50:12 +03:00
Makefile Node name and pod label based pod targeting 2025-03-19 19:12:48 +03:00
README.md Readme updated (#1705) 2025-01-29 14:05:00 -08:00
RELEASE.md.TEMPLATE Update RELEASE.md.TEMPLATE 2025-03-01 22:23:24 +02:00

Kubeshark: Traffic analyzer for Kubernetes.

GitHub Latest Release Docker pulls Image size Discord Slack

Want to see Kubeshark in action right now? Visit this live demo deployment of Kubeshark.

Kubeshark is a network observability platform for Kubernetes, providing real-time, protocol-level visibility into Kubernetes network. It enables users to inspect all internal and external cluster connections, API calls, and data in transit. Additionally, Kubeshark detects suspicious network behaviors, triggers automated actions, and provides deep insights into the network.

Simple UI

Think TCPDump and Wireshark reimagined for Kubernetes.

Getting Started

Download Kubeshark's binary distribution latest release or use one of the following methods to deploy Kubeshark. The web-based dashboard should open in your browser, showing a real-time view of your cluster's traffic.

Homebrew

Homebrew 🍺 users can install the Kubeshark CLI with:

brew install kubeshark
kubeshark tap

To clean up:

kubeshark clean

Helm

Add the Helm repository and install the chart:

helm repo add kubeshark https://helm.kubeshark.co
helm install kubeshark kubeshark/kubeshark

Follow the on-screen instructions how to connect to the dashboard.

To clean up:

helm uninstall kubeshark

Building From Source

Clone this repository and run the make command to build it. After the build is complete, the executable can be found at ./bin/kubeshark.

Documentation

To learn more, read the documentation.

Additional Use Cases

Dump All Cluster-wide Traffic into a Single PCAP File

Record all cluster traffic and consolidate it into a single PCAP file (tcpdump-style).

Run Kubeshark to start capturing traffic:

kubeshark tap --set headless=true

You can press ^C to stop the command. Kubeshark will continue running in the background.

Take a snapshot of traffic (e.g., from the past 5 minutes):

kubeshark pcapdump --time 5m

Read more here.

Contributing

We ❤️ pull requests! See CONTRIBUTING.md for the contribution guide.