How to Install Wireshark on macOS?

Wireshark on macOS

Wireshark is one of the most powerful and widely used network protocol analyzers. Whether you’re a cybersecurity professional, network engineer, student, or curious enthusiast, having Wireshark on your macOS device opens the door to deep network visibility and analysis. However, some macOS users face challenges when it comes to installing certain dependencies like wxPython, which is often necessary for GUI components or custom tools that extend Wireshark’s functionality.

In this blog, we’ll walk you through two detailed methods to install wxPython and get Wireshark running on your Mac seamlessly:

  • Method 1: Using pip to install wxPython
  • Method 2: Using setup.py to install wxPython

We’ll also wrap it up with verification steps to make sure everything is working as expected. So, grab a coffee and let’s dive right in!

Why Install Wireshark on macOS?

Before we get into the nitty-gritty of installation, let’s understand why you’d want Wireshark on macOS:

  • Monitor Network Traffic: View incoming/outgoing packets in real-time.
  • Debug Network Issues: Identify failed connections or abnormal behavior.
  • Learn Protocols: Deep dive into TCP/IP, DNS, HTTP, SSL, and more.
  • Capture Data for Security Analysis: Discover potential threats or vulnerabilities.

However, installing Wireshark isn’t always as simple as clicking ‘Install’. Especially when dealing with dependencies like wxPython, macOS can be a bit tricky.

Prerequisites

Before starting, make sure your macOS is up-to-date and that you have:

  • Homebrew installed – You can install it via Terminal:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Python 3 installed – Preferably through Homebrew:brew install python

You can verify installation with:

python3 --version
pip3 --version

Now, let’s get into it!

Method 1: Using pip to Install wxPython

This is one of the more straightforward methods for those comfortable with Python and pip.

Step 1: Ensure pip is Up-to-Date

Before anything, update pip:

pip3 install --upgrade pip

This avoids compatibility issues later.

Step 2: Install Dependencies via Homebrew

wxPython may need some packages to be present on your system:

brew install cairo pango gtk+3 gdk-pixbuf

These libraries help wxPython function properly.

Step 3: Install wxPython Using pip

Now let’s attempt installing wxPython via pip:

pip3 install -U wxPython

This might take some time depending on your internet and CPU speed. The pip installer will fetch the binary wheel (pre-built package) compatible with your macOS version.

If everything goes smoothly, you’re good to go. But if you face issues like compilation errors or missing modules, jump to Method 2.

Step 4: Validate wxPython Installation

After installation, check if wxPython is available:

python3

Then within the Python shell, type:

import wx
print(wx.version())

If you don’t see any errors and get a version number, wxPython is installed successfully.

Method 2: Using setup.py to Install wxPython

If pip doesn’t work or you need a more controlled setup, this method involves downloading the source and building it manually.

Step 1: Clone the wxPython Source Code

First, navigate to a folder where you want to download the source:

cd ~/Downloads

Then clone wxPython:

git clone https://github.com/wxWidgets/Phoenix.git

Navigate into the Phoenix directory:

cd Phoenix

Step 2: Build wxPython from Source

Run the following command to build wxPython:

python3 build.py dox etg --nodoc
python3 build.py build

This process can take a while, so be patient. It builds the source files and compiles the wxWidgets bindings.

Step 3: Install the Built Package

Once the build is complete, install it:

pip3 install .

This installs the freshly built wxPython package locally.

Verifying wxPython Installation on macOS

After installing wxPython (via either method), it’s important to verify everything is functioning.

Method 1: Python Console Test

Open the Terminal and type:

python3

Once inside the Python shell:

import wx
print(wx.version())

You should see something like:

4.1.1 gtk3 (phoenix) wxWidgets 3.1.5

If you see an ImportError, revisit the steps above or try the other method.

Method 2: Run a Simple GUI Test

Save the following script in a file named wx_test.py:

import wx

app = wx.App(False)
frame = wx.Frame(None, wx.ID_ANY, "Hello wxPython")
frame.Show(True)
app.MainLoop()

Then run it:

python3 wx_test.py

If a small GUI window pops up saying “Hello wxPython”, your installation is complete and working!

Installing Wireshark on macOS

Now that wxPython is out of the way, let’s install Wireshark:

Step 1: Install via Homebrew

brew install --cask wireshark

During installation, it may prompt you to allow packet capture permissions. Grant it by following the on-screen instructions.

Step 2: Grant Permissions for Packet Capture

Wireshark on macOS needs special permissions to access network interfaces. You may need to run:

sudo chgrp admin /dev/bpf*
sudo chmod g+rw /dev/bpf*

To make this persistent after reboot, consider creating a launch daemon.

Step 3: Launch Wireshark

You can now launch Wireshark from Applications or via terminal:

open /Applications/Wireshark.app

Common Errors & Fixes

wxPython pip install fails with compiler error

  • Ensure Xcode command-line tools are installed:xcode-select --install
  • Update pip and setuptools:pip3 install --upgrade pip setuptools wheel

GUI test script crashes or doesn’t open

  • Double-check GTK+3 and other dependencies are installed.
  • Try re-running using a virtual environment.

Final Thoughts

Installing Wireshark on macOS isn’t just about downloading the app—it’s about making sure all its dependencies and environment settings are properly configured. wxPython in particular can be finicky on macOS, but with the two methods explained above, you should be equipped to handle both the easy and the tricky installations.

Whether you’re capturing packets for troubleshooting, auditing your home network, or diving deep into cybersecurity, having a solid Wireshark setup gives you the visibility you need.

If you found this guide helpful, feel free to share it with others or bookmark it for future reference. And if you hit any snags, drop a comment or send a message—there’s always a workaround.

Happy packet hunting! 🚀

About the Author

You may also like these