26 February 2026

syslog tcpdump networking linux sles troubleshooting

Syslog Message Troubleshooting with tcpdump

Quick one-liner: Troubleshoot syslog forwarding with tcpdump — capture, decode, and read syslog messages in plain text on the wire.


🤔 Why This Matters

When you configure a server or firewall to forward logs to a central syslog server, it's not always obvious whether the messages are actually making it across the network. The syslog daemon on the receiving end shows nothing, and you're left guessing: is the sender not sending? Is the firewall blocking? Is the port wrong?

Instead of checking config files back and forth, the fastest way to verify is to capture the traffic directly with tcpdump.


🔧 The Command

On the receiving syslog server, run:

sudo tcpdump -A -i eth0 port 514

Or for TCP syslog (port 601):

sudo tcpdump -A -i eth0 port 601
Flag What It Does
-A Print packets in ASCII — so you can read the syslog message text
-i eth0 Capture on the specified interface (replace with your network interface)
port 514 Filter for UDP syslog traffic (or port 601 for TCP)

📊 What You'll See

When syslog messages arrive, you'll see output like:

14:23:01.123456 IP sender.example.com.514 > receiver.example.com.syslog: SYSLOG auth.crit: sshd[1234]: Failed password for root from 10.0.0.1 port 22 ssh2

The -A flag prints the payload in readable text, so you can verify: - The sender hostname/IP - The severity (info, warning, error, critical) - The message content

If you see nothing, the messages aren't reaching your server — check the sender's config, firewall rules, and routing.


🔍 Advanced Filtering

Capture only from a specific sender:

sudo tcpdump -A -i eth0 port 514 and host 10.0.0.5

Capture and save to a file for later analysis:

sudo tcpdump -w /tmp/syslog-capture.pcap -i eth0 port 514

Then open the .pcap in Wireshark.

Count messages per second:

sudo tcpdump -l -i eth0 port 514 | grep -c "SYSLOG"

✅ Quick Reference

Command What It Does
tcpdump -A -i eth0 port 514 Capture UDP syslog messages in plain text
tcpdump -A -i eth0 port 601 Capture TCP syslog messages
tcpdump -A -i eth0 port 514 and host 10.0.0.5 Filter by sender IP
tcpdump -w capture.pcap -i eth0 port 514 Save to file for Wireshark
tcpdump -l -i eth0 port 514 \| grep -c SYSLOG Count messages in real-time