0Pricing
Linux Networking & TCP/IP for Developers · Lesson

Packet Capture with Wireshark/tcpdump

Learn to capture and analyze network packets using `tcpdump` on the command line and Wireshark for graphical analysis.

Packet Capture with Wireshark/tcpdump is a free Linux Networking & TCP/IP for Developers lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Linux Networking & TCP/IP for Developers learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

What is Packet Capture?

Packet capture is like taking a snapshot of all the network data flowing in and out of your device. It's a powerful technique for understanding network behavior and troubleshooting issues.

You can see the raw "packets" of information, including their source, destination, and the data they carry. This helps diagnose slow connections, find security problems, or debug network applications.

Introducing `tcpdump`

tcpdump is a command-line utility for capturing and analyzing network traffic. It's pre-installed on most Linux systems, making it a go-to tool for quick network inspections.

It works by "sniffing" packets directly from your network interface. You can view them in real-time or save them for later analysis.

Basic Capture with `tcpdump`

Let's start with the most basic usage: capturing all traffic on a specific network interface. You often need sudo privileges to run tcpdump.

The -i flag specifies the interface (e.g., eth0 or wlan0). If you omit -i, tcpdump tries to pick one automatically.

sudo tcpdump -i eth0

Filtering by Host

Capturing all traffic can be overwhelming. You'll often want to filter for specific connections. The host keyword lets you capture traffic to or from a particular IP address or hostname.

sudo tcpdump -i eth0 host 192.168.1.1

Filtering by Port

Another common filter is by port. This is useful for seeing traffic related to specific services, like web (port 80/443), SSH (port 22), or DNS (port 53).

sudo tcpdump -i eth0 port 80

Combining Filters

You can combine filters using logical operators like and, or, and not. This allows for very precise targeting of the traffic you want to see.

For example, to see HTTP traffic to a specific host, you'd combine host and port.

sudo tcpdump -i eth0 host 192.168.1.1 and port 80

Saving to a File (`.pcap`)

For deeper analysis, it's best to save the captured packets to a file. The -w flag writes the raw packet data to a file with a .pcap extension. This file can then be opened by other tools.

The -c flag limits the number of packets to capture.

sudo tcpdump -i eth0 -c 100 -w my_capture.pcap

Wireshark: The GUI Analyzer

While tcpdump is excellent for command-line capture, Wireshark is the industry-standard graphical tool for deep packet inspection. It provides a user-friendly interface to visualize and analyze captured network data.

Wireshark can capture live traffic or open .pcap files created by tcpdump or other tools.

Importing `tcpdump` Files

A common workflow is to capture packets using tcpdump on a remote server (where a GUI might not be available) and then transfer the .pcap file to your local machine for analysis with Wireshark.

In Wireshark, you simply go to File > Open and select your .pcap file. Wireshark will then display all the captured packets in a structured way.

`tcpdump` Filter Challenge

You need to capture traffic on the eth0 interface that is going to or coming from the IP address 10.0.0.5, but ONLY on port 22 (SSH). Which tcpdump command would achieve this?

Lesson Recap

In this lesson, we explored the powerful world of packet capture. We learned how to use tcpdump to capture and filter network traffic directly from the command line.

  • Basic capture with -i
  • Filtering by host and port
  • Combining filters with and, or, not
  • Saving captures to a .pcap file with -w

We also introduced Wireshark as a graphical tool for in-depth analysis of these captured files. Mastering these tools is crucial for any network troubleshooter!

Frequently asked questions

Is the “Packet Capture with Wireshark/tcpdump” lesson free?

Yes — the full text of “Packet Capture with Wireshark/tcpdump” is free to read here on the web, and the Linux Networking & TCP/IP for Developers course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Linux Networking & TCP/IP for Developers course, upgrade to CoddyKit PRO.

What will I learn in “Packet Capture with Wireshark/tcpdump”?

Learn to capture and analyze network packets using `tcpdump` on the command line and Wireshark for graphical analysis. You practise Linux Networking & TCP/IP for Developers with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Linux Networking & TCP/IP for Developers?

No prior experience is required. Linux Networking & TCP/IP for Developers on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Packet Capture with Wireshark/tcpdump” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Linux Networking & TCP/IP for Developers lesson?

Yes. Every Linux Networking & TCP/IP for Developers lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Packet Capture with Wireshark/tcpdump
  2. Network Performance Tools
  3. Linux Firewall (Netfilter/iptables)
  4. DNS Diagnostics with dig and nslookup
← Back to Linux Networking & TCP/IP for Developers