3.0 KiB
3.0 KiB
network troubleshooting using the ss (Socket Statistics)
1. Introduction to ss:
ss is a powerful utility for investigating sockets. It replaces the older netstat command and provides more detailed information about network connections.
2. Basic usage:
To display all connections:
ss
3. Common options:
-t: Show TCP sockets-u: Show UDP sockets-l: Show only listening sockets-a: Show both listening and non-listening sockets-n: Don't resolve service names-p: Show process using the socket
4. Displaying TCP connections:
ss -t
5. Showing listening sockets:
ss -l
6. Combining options:
To show listening TCP sockets with process information:
ss -tlp
7. Filtering connections:
- By state:
ss state established - By port:
ss sport = :80 - By IP address:
ss dst 192.168.1.1
8. Advanced filtering:
Use expressions for complex filters:
ss -t '( dport = :ssh or sport = :ssh )'
9. Displaying socket statistics:
ss -s
10. Checking for specific issues:
- High number of TIME_WAIT connections:
```
ss -t state time-wait | wc -l
```
- Connections in SYN-SENT state (potential connectivity issues):
```
ss -t state syn-sent
```
11. Investigating socket buffers:
ss -tm
12. Displaying timer information:
ss -to
13. Checking for UNIX domain sockets:
ss -x
14. Combining with other tools:
- Use with
grepfor specific searches:ss -tuln | grep :80 - Pipe to
lessfor easier navigation:ss -tuna | less
15. Troubleshooting steps:
- a. Check for listening services:
ss -tlnp - b. Verify established connections:
ss -tnp state established - c. Look for connection attempts:
ss -tnp state syn-sent - d. Investigate connection closures:
ss -tnp state time-wait - e. Check for any unusual states or high connection counts
16. Performance considerations:
- Use `ss -i` to display TCP internal information
- Monitor retransmission rates and window sizes
17. Security checks:
- Look for unexpected listening ports
- Check for connections from unknown IP addresses
18. Debugging application issues:
- Use `-p` option to correlate sockets with processes
- Investigate socket states for hung connections
19. Network tuning:
- Use socket statistics to identify bottlenecks
- Adjust system parameters based on observed behavior
20. Scripting with ss:
- Use in shell scripts for automated monitoring
- Combine with `awk` or `sed` for custom output formatting
Remember that some ss commands may require root privileges to access all information. Always use caution when interpreting network data, especially in production environments.