12 Komutlarla sorun giderme
Çok komut ezberlemek yetmez; hangi komutun hangi soruyu cevapladığını bilmen gerekir. ping çalıştırıp çıktıya bakmadan sonraki komuta geçersen kanıt toplamış olmazsın. Bu hafta bir şikâyeti teknik soruya çevirmeyi, uygun testi seçmeyi ve sonucu kayda geçirmeyi çalışacağız.
Sınavda sorulur: şikâyeti teknik soruya çevirme ve kapsam belirleme; fiziksel → IP → gateway → uzak IP → DNS → uygulama kanıt sırası; ipconfig / ip addr / ip route; ipconfig /release, /renew, /flushdns; ping’in üç farklı hedefle üç farklı soru sorması; nslookup; arp -a / ip neigh; curl hata mesajlarının hangi aşamayı gösterdiği; kanıta dayalı teknik kayıt yazma.
Sınav dışı (bilgi amaçlı): Wireshark paket yakalama, Nmap, ss/netstat, tcpdump, dig çıktı alanlarının ayrıntısı, işletim sistemine özgü çıktı biçimlerini ezberlemek.
12.1 Hangi komut hangi soruyu cevaplar?
| Soru | Komut | Cevap neyi daraltır |
|---|---|---|
| Arayüz bağlı mı? | ipconfig / ip addr |
Fiziksel katman |
| Geçerli adresim var mı? | ipconfig / ip addr |
DHCP, adres, prefix |
| Çıkış kapım nerede? | ipconfig / ip route |
Gateway yapılandırması |
| Gateway’e ulaşıyor muyum? | ping <gateway> |
Yerel ağ + prefix |
| Dışarı çıkabiliyor muyum? | ping 1.1.1.1 |
Yönlendirme, ISP |
| İsim çözülüyor mu? | nslookup <ad> |
DNS |
| Hizmet yanıtlıyor mu? | curl -I <url> |
Port, uygulama |
| Yerel komşuyu tanıyor muyum? | arp -a / ip neigh |
Katman 2 teslimi |
Bu hafta bu tabloyla çalışacağız. Satırların sırası da rastgele değil: tabloda yukarıdan aşağı indikçe alt katmandan üst katmana çıkıyorsun.
12.2 Kanıt sırası
Fiziksel / Wi-Fi bağlantısı
↓
IP + prefix + gateway var mı?
↓
Gateway erişiliyor mu?
↓
Uzak IP erişiliyor mu?
↓
DNS çözülüyor mu?
↓
Uygulama/hizmet yanıtlıyor mu?
Bu sıranın gerekçesini 4. haftada görmüştük: alt katman bozukken üst katman testi yanıltır. Kablo takılı değilken nslookup da başarısız olur ve bu başarısızlık sana DNS hakkında hiçbir şey söylemez.
12.3 Vaka 1: Şikâyeti teknik soruya çevirmek
Kullanıcı diyor ki:
“İnternet yok.”
Bu cümleyle bir yere varamazsın. Önce kapsamı netleştir:
- Tek cihaz mı etkileniyor, herkes mi?
- Bağlantı (kablo/Wi-Fi) var mı?
- Yerel yazıcıya/gateway’e erişiliyor mu?
- IP adresi geçerli mi?
- Uzak IP’ye erişiliyor mu?
- Alan adı çözülüyor mu?
- Yalnız tek uygulama mı sorunlu?
Birkaç dakikalık test sonunda aynı şikâyet şuna dönüşür:
“Laptop Wi-Fi’a bağlı,
192.168.20.45/24adresi var. Gateway192.168.20.1yanıtlıyor.1.1.1.1ping’e yanıt veriyor, ancaknslookup example.comzaman aşımına uğruyor.”
İkinci ifade açıkça DNS’e işaret ediyor; ilki ise hiçbir yön göstermiyordu. Sorun gidermek, büyük ölçüde şikâyeti böyle bir ifadeye çevirmektir.
12.4 Vaka 2: Dört bilgiyi ekranda bulmak
Komut çıktısında arayacağın dört bilgi şunlar: IP adresi, prefix, gateway ve DNS sunucusu.
12.4.1 Windows
ipconfigIPv4 Address . . . . . . . : 192.168.20.45 ← adres
Subnet Mask . . . . . . . : 255.255.255.0 ← prefix
Default Gateway . . . . . : 192.168.20.1 ← çıkış kapısı
DNS ve DHCP bilgisini görmek için ayrıntılı çıktıyı iste:
ipconfig /allDNS Servers . . . . . . . : 192.168.20.1 ← isim çözücü
DHCP Enabled. . . . . . . : Yes
Lease Obtained. . . . . . : 9 Eylül 2026 09:14
12.4.2 Linux
ip addr2: enp0s31f6: <UP,LOWER_UP> ...
inet 192.168.20.45/24 brd 192.168.20.255 scope global enp0s31f6
ip routedefault via 192.168.20.1 dev enp0s31f6 ← "prefix'imin dışı buraya"
192.168.20.0/24 dev enp0s31f6 src 192.168.20.45 ← "bu aralık benim ağım"
7. ve 9. haftalarda gördüğümüz “hedef benim prefix’imde mi?” kararı, komut çıktısında bu iki satır olarak görünür.
12.4.3 macOS
ifconfig
route -n get defaultWindows, Linux ve macOS aynı bilgiyi farklı biçimlerde gösterir; sürümden sürüme de değişir. Sınavda beklenen, çıktıyı harfi harfine hatırlaman değil, hangi satırın dört bilgiden hangisi olduğunu tanıyabilmen.
12.4.4 DHCP ve DNS’i yenilemek
ipconfig /release # mevcut DHCP kiralamasını bırakır
ipconfig /renew # DHCP'den yeni yapılandırma ister
ipconfig /flushdns # DNS resolver önbelleğini temizler/release aktif yapılandırmayı bırakır ve bağlantıyı geçici olarak keser. Neyi test ettiğini bilerek çalıştır ve ardından /renew sonucunu kontrol et. Rastgele çalıştırılan komut sana kanıt vermez, yalnız durumu değiştirir, üstelik geri dönüşü olmayan biçimde.
12.5 Vaka 3: Aynı komut, üç farklı soru
ping tek bir test değildir. Hedefi değiştirdiğinde sorduğun soru değişir.
ping 192.168.20.1 # A: gateway'e ulaşıyor muyum?
ping 1.1.1.1 # B: DNS kullanmadan dışarı çıkabiliyor muyum?
ping example.com # C: isim çözme + dışarı çıkış birlikte| Test | Başarılı | Başarısız |
|---|---|---|
| A gateway | Yerel ağ, adres ve prefix sağlam | Kablo/Wi-Fi, IP, prefix veya gateway yapılandırması |
| B uzak IP | Yönlendirme ve dış erişim çalışıyor | ISP, yönlendirme, dış erişim |
| C alan adı | Her şey çalışıyor | A ve B çalışıyorsa: DNS |
Üç testi birlikte çalıştırınca şunu görürsün: A ve B başarılı, C başarısızsa geriye tek hipotez kalır.
Firewall veya uzak sunucu ICMP Echo yanıtını engelleyebilir. 10. haftadaki uyarı burada da geçerlidir: ping hedefe ulaşılıp ulaşılmadığını gösterir, hizmetin çalıştığını kanıtlamaz.
12.6 Vaka 4: İsim çözme ve komşuluk
12.6.1 nslookup
> nslookup example.com
Server: 192.168.20.1 ← kime sordum?
Address: 192.168.20.1
Name: example.com
Addresses: <sonuç ortama göre değişir> ← yanıt geldi mi?
Üç soruya cevap arıyorsun: hangi DNS sunucusuna sordum, sorguya yanıt geldi mi, ad için adres döndü mü. Dönen IP’yi ezberlemenin bir anlamı yok; büyük siteler konuma ve zamana göre farklı adresler döndürür.
Linux ve macOS’ta dig de yaygın olarak kullanılır; çıktısının ayrıntıları sınavda sorulmaz.
12.6.2 arp -a / ip neigh
Yerel ağdaki IP ↔︎ MAC eşleşmelerini gösterir.
Windows:
192.168.20.1 aa-bb-cc-dd-ee-ff dynamic
Linux (ip neigh):
192.168.20.1 dev enp0s31f6 lladdr aa:bb:cc:dd:ee:ff REACHABLE
macOS:
? (192.168.20.1) at aa:bb:cc:dd:ee:ff on en0 ifscope [ethernet]
Üç çıktı da aynı bilgiyi gösterir ama her biri farklı görünür. 9. haftadan hatırla: bir satırın incomplete olması, o IP’nin MAC adresinin öğrenilemediği anlamına gelir.
12.6.3 curl: hata mesajı hangi aşamayı gösterir?
curl -I https://example.com| Sonuç | Hangi aşama |
|---|---|
Could not resolve host |
DNS: isim çözülemedi |
Failed to connect ... port 443 |
Taşıma: port, route, firewall veya hizmet |
HTTP/2 200 veya başka bir kod |
Uygulama: bağlantı kuruldu, sunucu yanıt verdi |
curl hatasını “internet yok” diye okursan elindeki kanıtı çöpe atmış olursun. Mesaj, bağlantının hangi adımda takıldığını söylüyor.
12.7 Kanıt tablosu ve teknik kayıt
Topladığın kanıtları tablo hâlinde yazarsan başka biri de aynı adımları tekrarlayabilir:
| Test | Sonuç | Yorum |
|---|---|---|
| Link/Wi-Fi | bağlı | fiziksel erişim var |
| IP | 192.168.20.45/24 |
geçerli yerel yapılandırma |
| Gateway ping | başarılı | yerel ağ ve gateway yolu çalışıyor |
1.1.1.1 ping |
başarılı | uzak IP erişimi var |
nslookup example.com |
başarısız | büyük olasılıkla DNS |
curl https://example.com |
isim çözülemedi | DNS bulgusunu destekliyor |
12.7.1 Beş satırlık teknik kayıt
Belirti: Lab-PC12 alan adlarıyla web'e erişemiyor.
Kapsam : Aynı switch'teki diğer cihazlar normal.
Kanıt : IP 192.168.20.52/24, gateway ping OK, 1.1.1.1 ping OK,
nslookup timeout.
İşlem : DHCP renew yapıldı; DNS adresi yeniden alındı.
Sonuç : nslookup ve curl başarılı; sorun kapatıldı.
Bu kayıt, “DNS’i düzelttim, oldu” demekten çok daha fazlasını anlatır: kapsamı, kanıtı, yapılan işlemi ve doğrulamayı içerir.
12.8 Kısa subnetting tekrarı
| Prefix | Maske | Blok | Host |
|---|---|---|---|
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
Tekrar 1: 192.168.40.173/27
Blok 32. Bloklar 0, 32, 64, 96, 128, 160, 192, 224. 173 → 160–191.
Ağ : 192.168.40.160
Broadcast : 192.168.40.191
Hostlar : 192.168.40.161–192.168.40.190 (30 host)
Tekrar 2: 10.5.8.90 / 255.255.255.240
255.255.255.240 = /28 → blok 16. 90 → 80–95.
Ağ : 10.5.8.80
Broadcast : 10.5.8.95
Hostlar : 10.5.8.81–10.5.8.94 (14 host)
Tekrar 3: 192.168.12.70/26 ile 192.168.12.120/26 aynı subnette mi?
Blok 64. Hem 70 hem 120, 64–127 bloğunda. İkisi de 192.168.12.64/26 subnetinde, yani evet, doğrudan iletişim kurabilirler.
12.10 Tek sayfa özet
- İyi sorun giderme bir komut listesi değil, bir kanıt sırasıdır.
- Önce kapsam: tek cihaz mı, herkes mi?
- Sıra: fiziksel → IP/prefix → gateway → uzak IP → DNS → uygulama.
- Dört bilgiyi (adres, prefix, gateway, DNS) Windows’ta
ipconfig /allgösterir. SadeipconfigDNS’i göstermez. Linux’ta adres ve prefixip addr, gatewayip routeile görülür. /release,/renew,/flushdns: amacını bilerek çalıştır.pinghedefi değişince soru değişir: gateway → yerel ağ;1.1.1.1→ dış erişim; alan adı → DNS dâhil.nslookupüç şeyi söyler: kime sordum, yanıt geldi mi, adres döndü mü.arp -a/ip neighyerel IP↔︎MAC eşleşmesini gösterir; biçim işletim sistemine göre değişir.curlhata mesajı, bağlantının hangi aşamada takıldığını söyler; okumadan geçme.- Teknik kayıt: belirti, kapsam, kanıt, işlem, doğrulama.
12.11 Bu bölümün kazanımları
Bu bölümü bitiren öğrenci:
- Kanıt sırasını uygular ve neden alttan başlandığını açıklar.
- Adres, prefix, gateway ve DNS bilgisini komut çıktısında bulur.
- DHCP/DNS yenileme komutlarının amacını ve riskini açıklar.
pinghedefini değiştirerek farklı hipotezleri eler.nslookupvearp -a/ip neighçıktılarını yorumlar.curlhata mesajını doğru aşamaya bağlar.- Kanıta dayalı teknik kayıt yazar.