Linux network tools and diagnostics
Pro shows the line behind each finding and how to fix it
Scanned 2/12/2026
npx -y skills add chaterm/terminal-skills --skill network-tools --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Network Tools?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/chaterm-network-tools)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: network-tools
description: Linux network tools and diagnostics
version: 1.0.0
author: terminal-skills
tags: [linux, network, diagnosis, netstat, ss, curl]
---
# Network Tools and Diagnostics
## Overview
Linux network diagnostics, port scanning, traffic analysis and other tool usage skills.
## Network Configuration
### View Configuration
```bash
# IP address
ip addr
ip a
ifconfig # Legacy command
# Routing table
ip route
route -n
netstat -rn
# DNS configuration
cat /etc/resolv.conf
systemd-resolve --status
```
### Configure Network
```bash
# Temporary IP configuration
ip addr add 192.168.1.100/24 dev eth0
ip addr del 192.168.1.100/24 dev eth0
# Enable/Disable interface
ip link set eth0 up
ip link set eth0 down
# Add route
ip route add 10.0.0.0/8 via 192.168.1.1
ip route del 10.0.0.0/8
```
## Connectivity Testing
### ping
```bash
ping hostname
ping -c 4 hostname # Send 4 packets
ping -i 0.2 hostname # 0.2 second interval
ping -s 1000 hostname # Specify packet size
```
### traceroute
```bash
traceroute hostname
traceroute -n hostname # Don't resolve hostnames
traceroute -T hostname # Use TCP
mtr hostname # Real-time trace
```
### DNS Query
```bash
nslookup hostname
dig hostname
dig +short hostname
dig @8.8.8.8 hostname # Specify DNS server
host hostname
```
## Ports and Connections
### ss Command (Recommended)
```bash
# Listening ports
ss -tlnp # TCP listening
ss -ulnp # UDP listening
ss -tlnp | grep :80
# All connections
ss -tanp # TCP connections
ss -s # Statistics
# Filter
ss -t state established
ss -t dst 192.168.1.1
ss -t sport = :80
```
### netstat Command
```bash
netstat -tlnp # TCP listening
netstat -ulnp # UDP listening
netstat -anp # All connections
netstat -s # Statistics
```
### lsof Network
```bash
lsof -i # All network connections
lsof -i :80 # Specific port
lsof -i tcp # TCP connections
lsof -i @192.168.1.1 # Specific host
```
## HTTP Tools
### curl
```bash
# Basic request
curl http://example.com
curl -I http://example.com # Headers only
curl -v http://example.com # Verbose output
# POST request
curl -X POST -d "data=value" http://example.com
curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' http://example.com
# Download
curl -O http://example.com/file.zip
curl -o output.zip http://example.com/file.zip
# Authentication
curl -u user:pass http://example.com
curl -H "Authorization: Bearer token" http://example.com
```
### wget
```bash
wget http://example.com/file.zip
wget -c http://example.com/file.zip # Resume download
wget -r http://example.com # Recursive download
wget --mirror http://example.com # Mirror site
```
## Packet Capture
### tcpdump
```bash
# Basic capture
tcpdump -i eth0
tcpdump -i any
# Filter
tcpdump -i eth0 port 80
tcpdump -i eth0 host 192.168.1.1
tcpdump -i eth0 'tcp port 80 and host 192.168.1.1'
# Save/Read
tcpdump -i eth0 -w capture.pcap
tcpdump -r capture.pcap
# Display content
tcpdump -i eth0 -A port 80 # ASCII
tcpdump -i eth0 -X port 80 # Hexadecimal
```
### Traffic Monitoring
```bash
# Real-time traffic
iftop
iftop -i eth0
# By process
nethogs
nethogs eth0
# Bandwidth test
iperf3 -s # Server
iperf3 -c server_ip # Client
```
## Common Scenarios
### Scenario 1: Troubleshoot Port Usage
```bash
# Check port usage
ss -tlnp | grep :8080
lsof -i :8080
# Find process and handle
kill -9 PID
# Or
fuser -k 8080/tcp
```
### Scenario 2: Test Service Connectivity
```bash
# TCP port test
nc -zv hostname 80
telnet hostname 80
# HTTP service test
curl -I http://hostname
curl -w "HTTP Code: %{http_code}\nTime: %{time_total}s\n" -o /dev/null -s http://hostname
```
### Scenario 3: Network Performance Diagnosis
```bash
# Latency test
ping -c 100 hostname | tail -1
# Route analysis
mtr --report hostname
# Bandwidth test
iperf3 -c server -t 30
```
## Troubleshooting
| Problem | Solution |
|---------|----------|
| Network unreachable | `ping`, `traceroute`, check routing |
| DNS resolution failed | `dig`, `nslookup`, check resolv.conf |
| Port unreachable | `ss -tlnp`, check firewall |
| Connection timeout | `mtr`, `tcpdump` packet capture |
| Insufficient bandwidth | `iftop`, `iperf3` test |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!