Network Tools and Diagnostics Overview Linux network diagnostics, port scanning, traffic analysis and other tool usage skills. Network Configuration View Configuration
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
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 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 traceroute hostname traceroute -n hostname
Don't resolve hostnames
traceroute -T hostname
Use TCP
mtr hostname
Real-time trace
DNS Query nslookup hostname dig hostname dig +short hostname dig @8.8.8.8 hostname
Specify DNS server
host hostname Ports and Connections ss Command (Recommended)
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 netstat -tlnp
TCP listening
netstat -ulnp
UDP listening
netstat -anp
All connections
netstat -s
Statistics
lsof Network 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
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 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
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
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
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
TCP port test
nc -zv hostname 80 telnet hostname 80
HTTP service test
curl -I http://hostname curl -w "HTTP Code: %{http_code} \n Time: %{time_total}s \n " -o /dev/null -s http://hostname Scenario 3: Network Performance Diagnosis
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