netstat
Overview
The netstat command displays network connections, routing tables, interface statistics, masquerade connections, and multicast memberships. It’s a powerful tool for network troubleshooting and monitoring.
Syntax
netstat [options]Common Options
| Option | Description |
|---|---|
-a |
Show all sockets |
-t |
Show TCP connections |
-u |
Show UDP connections |
-l |
Show only listening sockets |
-n |
Show numerical addresses |
-p |
Show process ID/name |
-r |
Show routing table |
-i |
Show interface statistics |
-s |
Show protocol statistics |
Key Use Cases
- Monitor network connections
- Troubleshoot network issues
- Check listening ports
- View routing information
- Analyze network statistics
Examples with Explanations
Example 1: List All Listening Ports
netstat -tulnShows TCP and UDP listening ports with numerical addresses
Example 2: View Process Information
netstat -tulnpShows listening ports with associated processes
Example 3: Check Routing Table
netstat -rDisplays kernel routing table
Understanding Output
Connection states: - LISTEN: Waiting for connections - ESTABLISHED: Active connection - TIME_WAIT: Closed but waiting - CLOSE_WAIT: Remote end closed - SYN_SENT: Actively connecting
Columns: - Proto: Protocol (TCP/UDP) - Local Address: Local end of socket - Foreign Address: Remote end of socket - State: Socket state - PID/Program name: Process using socket
Common Usage Patterns
Find listening services:
netstat -tulnp | grep LISTENCheck established connections:
netstat -tun | grep ESTABLISHEDView interface statistics:
netstat -i
Performance Analysis
- Use
-cfor continuous output - Combine with grep for specific info
- Consider using newer tools (ss)
- Monitor system resource usage
- Check for unusual connections