Start at your own machine: is the interface up with the right IP and gateway? Then ping outward, reading exactly what each reply — or lack of one — means.
Why: half of "no internet" problems are visible on the local machine — no IP, a 169.254 APIPA address (DHCP failed), or a missing default gateway — so inspect your own interface before blaming the network. When: this is the first command in almost every investigation. Where: a 169.254.x.x address means the host never reached a DHCP server.
ip address # Linux: interfaces, IPs, and up/down state
ip route # Linux: routing table + default gateway
ifconfig # macOS / older Linux
ipconfig /all # Windows: IP, mask, gateway, DNS, DHCP
# Red flags: no IP, a 169.254.x.x (APIPA = DHCP failed), or no default route.Why: ping sends ICMP echoes and times the replies, answering "can I reach this host and how healthy is the path?" — the single most-used connectivity test. When: ping the gateway, then a public IP, then a public name, to separate local, routing, and DNS problems. Where: pinging 8.8.8.8 vs google.com isolates whether DNS is the culprit.
ping 192.168.1.1 # the gateway — local link OK?
ping 8.8.8.8 # a public IP — routing/internet OK?
ping google.com # a public NAME — DNS OK too?
# Linux/macOS: ping runs until Ctrl-C. Windows: ping -t for continuous.
# "Request timed out" = no reply; "Destination unreachable" = no route.Why: ping tells you more than up/down — latency, jitter, and packet loss diagnose a degraded (not dead) link, which is often harder to spot than a full outage. When: rising latency or intermittent loss points to congestion, a flaky link, or an overloaded device. Where: 100% loss to an IP but success to its neighbor localizes the fault to that host or its last hop.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=12.3 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=210 ms <- latency spike
request timeout for icmp_seq 3 <- packet loss
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 3 received, 25% packet loss
25% loss / erratic times = degraded path (congestion, flaky link),
not a clean outage. TTL hints at hop count to the target.