
Linux Ağ Debug Komutları: ip, ss, netstat, nmap, tcpdump, mtr
Linux'ta ağ bağlantılarını nasıl yönetirsiniz? ip, netstat ve ss komutları ile açık portları görme, ağ arayüzlerini yönetme ve bağlantı sorunlarını giderme rehberi.
Linux Ağ Debug Komutları: ip, ss, netstat, nmap, tcpdump, mtr
Sunucu ağ sorunlarının %80'i "bağlantı neden gelmez?" sorusundan kaynaklanır. Linux'ta bu soruyu yanıtlamak için doğru araç seti şarttır: ip ve ss modern standart, netstat eski ama hâlâ yaygın, tcpdump paket yakalamada tartışmasız, mtr yol analizinde ağ yöneticisinin vazgeçilmezi. Bu rehberde ağ debug araçlarını pratik komutlarla, VDS perspektifiyle ele alıyoruz.
Linux Ağ Komut Evrimi: net-tools → iproute2
2000'li yıllara kadar standart araç seti net-tools paketiydi: ifconfig, route, netstat, arp. Bu araçlar procfs'u okur, modern çekirdek özelliklerini (network namespace, ECMP, policy routing) desteklemez. Çoğu Linux dağıtımı artık net-tools'u varsayılan kuruluma dahil etmez.
iproute2 paketi bu ihtiyacı karşıladı. ip komutu tek başına ifconfig + route + arp + tunnel yerine geçer; ss ise netstat'ın yerini alır.
| Eski (net-tools) | Yeni (iproute2) |
|---|---|
ifconfig eth0 |
ip addr show eth0 |
route -n |
ip route show |
arp -n |
ip neigh show |
netstat -tuln |
ss -tuln |
Geçiş notu:
ifconfigvenetstatkomutlarına yönelik makaleler eski referanstır. Yeni VDS kurulumlarında iproute2 + ss ile başlamak daha doğrudur; net-tools ekstra pakettir.
ip Komutu — Yapı ve OBJECT'ler
ip komutunun genel sözdizimi:
ip [OPTIONS] OBJECT { COMMAND | help }
Temel OBJECT'ler:
| OBJECT | Açıklama |
|---|---|
addr |
IP adresleri |
link |
Ağ arayüzleri (link layer) |
route |
Yönlendirme tablosu |
neigh |
ARP/NDISC önbelleği |
rule |
Policy routing kuralları |
tunnel |
Tünel arayüzleri |
netns |
Network namespace'ler |
Çoğul ve tekil form aynıdır: ip address = ip addr = ip a. Kısaltmalar geçerlidir.
ip addr show — Arayüz IP Detayı
Klasik ifconfig yerine kullanın. Tüm arayüzleri, IP adreslerini, broadcast, scope ve MAC bilgisini gösterir:
ip addr show # Tüm arayüzler
ip addr show eth0 # Belirli arayüz
ip a # Kısaltma
# Örnek çıktı:
# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
# link/ether 52:54:00:ab:cd:ef brd ff:ff:ff:ff:ff:ff
# inet 192.0.2.10/24 brd 192.0.2.255 scope global eth0
# inet6 fe80::5054:ff:feab:cdef/64 scope link
IP adresi ekleyip kaldırma (geçici — yeniden başlatmada kaybolur):
ip addr add 192.0.2.50/24 dev eth0 # Ek IP adresi
ip addr del 192.0.2.50/24 dev eth0 # Kaldır
Kalıcı yapılandırma için dağıtıma uygun yöntem kullanın (Netplan, nmcli, /etc/network/interfaces).
ip link show — Link Layer Durum ve MTU
Link katmanı bilgisi: MAC adresi, arayüz durumu, MTU, istatistikler:
ip link show # Tüm arayüzler
ip link show eth0 # Belirli arayüz
ip -s link show eth0 # İstatistiklerle (TX/RX byte, hata sayıları)
# Arayüzü açma / kapatma
ip link set eth0 up
ip link set eth0 down
# MTU değiştirme (Jumbo Frame örneği)
ip link set eth0 mtu 9000
state UP / state DOWN bağlantı katmanı durumunu gösterir; IP seviyesinde sorun aramadan önce link'in UP olduğunu doğrulayın. NO-CARRIER fiziksel kablo sorununa işaret eder.
ip route show — Yönlendirme Tablosu
Eski route -n yerine kullanın. Routing kararları burada şekillenir:
ip route show # Tüm rotalar
ip route show dev eth0 # Belirli arayüze ait rotalar
ip route get 8.8.8.8 # Hedefe gidecek rota (interface + src)
# Örnek çıktı:
# default via 192.0.2.1 dev eth0 proto dhcp src 192.0.2.10 metric 100
# 192.0.2.0/24 dev eth0 proto kernel scope link src 192.0.2.10
# Geçici default gateway ekle / kaldır
ip route add default via 192.0.2.1 dev eth0
ip route del default via 192.0.2.1
ip route get 8.8.8.8 komutu "bu paket hangi arayüzden, hangi kaynak IP ile çıkar?" sorusunu cevaplamanın en hızlı yoludur.
ip neigh show — ARP Önbelleği
ARP tablosunu görmek ve temizlemek için:
ip neigh show # Tüm ARP girişleri
ip neigh show dev eth0 # Belirli arayüz
# Örnek çıktı:
# 192.0.2.1 dev eth0 lladdr 52:54:00:12:34:56 REACHABLE
# 192.0.2.5 dev eth0 lladdr 52:54:00:ab:cd:ef STALE
ip neigh flush dev eth0 # ARP cache temizle
Durumlar: REACHABLE yakın zamanda erişilen, STALE eski ama henüz silinmemiş, FAILED ARP yanıtı gelmedi (host erişilemez veya MAC değişmiş).
ss (Socket Statistics) — Modern ve Hızlı
ss, netstat'ın modern halefi; kernel'in tcp_diag/netlink API'sini kullandığı için çok daha hızlıdır. Çok sayıda bağlantısı olan sunucularda netstat -an donabilir; ss aynı işi saniyeler içinde tamamlar.
Temel ss Kullanımı
ss -tuln # TCP + UDP, listening portlar (process bilgisi olmadan)
ss -tulnp # Aynı + hangi process (root ile çalıştırın)
ss -tunap # Tüm TCP/UDP + process (established dahil)
ss -s # Özet istatistik (socket türü sayıları)
ss -tulnp çıktısı örneği:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1234,fd=3))
tcp LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=5678,fd=6))
tcp LISTEN 0 128 0.0.0.0:443 0.0.0.0:* users:(("nginx",pid=5678,fd=7))
tcp LISTEN 0 151 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=9012,fd=21))
MySQL'in 127.0.0.1:3306 adresine bağlı olduğu görülüyor — dışarıya kapalı, doğru yapılandırma.
Aktif Bağlantılar ve Filtreleme
ss -tnp state established # Kurulu TCP bağlantıları + process
ss -tnp dst :443 # 443. porta giden bağlantılar
ss -tnp src 192.0.2.10 # Belirli kaynak IP
ss -tulnp | grep :8080 # 8080 portu dinleniyor mu?
ss -tnp state time-wait # TIME-WAIT durumu (yük altında artabilir)
ss ile Bağlantı Sayısı Özeti
ss -s
# Çıktı örneği:
# Total: 247
# TCP: 198 (estab 45, closed 12, orphaned 0, timewait 12)
netstat — Deprecated Ama Hâlâ Kullanılan
netstat, net-tools paketinin parçasıdır. Modern Linux dağıtımları (Ubuntu 22.04+, AlmaLinux 9) varsayılan kurulumuna dahil etmez; kullanmak için ayrıca yükleyin:
# Ubuntu / Debian
apt install net-tools -y
# AlmaLinux / Rocky Linux
dnf install net-tools -y
Temel kullanım (ss karşılaştırmalı):
netstat -tuln # ss -tuln muadili (listening portlar)
netstat -plant # ss -tulnp benzeri (process dahil)
netstat -i # Arayüz istatistikleri
netstat -rn # Routing tablosu (ip route show muadili)
netstat -an | grep ESTABLISHED | wc -l # Aktif bağlantı sayısı
Neden
sstercih edilmeli? Yüksek bağlantı sayısında (>10K)netstatbirkaç saniye beklemenize yol açabilir.ssaynı işi milisaniyede yapar. Yeni script ve alışkanlıklardasskullanın; eski belgelerdenetstatgörüncesskarşılığını bilin.
nmap — Port Tarama ve Servis Keşfi
nmap (Network Mapper) ağ keşif ve güvenlik denetim aracıdır. Kendi sunucunuzu dışarıdan nasıl gördüğünüzü anlamak için idealdir.
Yasal uyarı:
nmaptaramasını yalnızca sahibi olduğunuz veya yazılı izniniz olan sistemlerde çalıştırın. İzinsiz port taraması Türkiye'de TCK 243-244 kapsamında suç teşkil edebilir.
# Kurulum
apt install nmap -y # Debian/Ubuntu
dnf install nmap -y # AlmaLinux/Rocky
# En yaygın 100 port hızlı tarama
nmap -F 192.0.2.10
# Tam port tarama (1-65535) — yavaş ama eksiksiz
nmap -p- 192.0.2.10
# SYN stealth tarama (yarı açık, hızlı, root gerekli)
sudo nmap -sS 192.0.2.10
# Servis ve versiyon tespiti
nmap -sV 192.0.2.10
# Çıktı: 22/tcp open ssh OpenSSH 8.9p1
# OS tespiti
sudo nmap -O 192.0.2.10
# Agresif tarama (sV + sC + OS + traceroute)
sudo nmap -A 192.0.2.10
# Belirli port aralığı
nmap -p 80,443,8080-8090 192.0.2.10
Sonuç durumları: open (aktif servis yanıt veriyor), closed (host erişilebilir, port kapalı), filtered (firewall paketi düşürüyor — kullanılmayan portlar için ideal durum).
Buyukweb ipucu: İkinci bir Buyukweb VDS'inizden
nmap -sV -p- KENDİ_IPçalıştırarak saldırgan perspektifinden hangi portların görüldüğünü denetleyin. Beklenmedik açık port, yanlış yapılandırmaya işaret eder.
tcpdump — Paket Yakalama
tcpdump, ağ trafiğini gerçek zamanlı yakalamak için vazgeçilmezdir. DNS çözümleme sorunu, HTTP timeout, SSL el sıkışma hatası — çoğu protokol sorunu tcpdump ile görünür hale gelir. Root yetkisi gerektirir.
# Belirli arayüzde HTTP trafiği
tcpdump -i eth0 port 80
# Birden fazla port
tcpdump -i eth0 'port 80 or port 443'
# Belirli host
tcpdump -i eth0 host 8.8.8.8
# Sayısal çıktı (DNS çözümlemesiz, hızlı)
tcpdump -n -i eth0
# Dosyaya yaz (Wireshark ile analiz için)
tcpdump -i eth0 -w /tmp/capture.pcap
# Yakalanan pcap dosyasını oku
tcpdump -r /tmp/capture.pcap
# Paket başına 200 byte yeterli (banner + header için)
tcpdump -i eth0 -s 200 port 25
Wireshark ile daha derin analiz: pcap dosyasını Wireshark'ta açın, TCP stream'i takip edin (Follow > TCP Stream), HTTP istek/yanıt içeriğini görün. Canlı sunucudan scp capture.pcap yerel: ile çektikten sonra masaüstünde Wireshark ile analiz yapmak iyi bir iş akışıdır.
dig ve nslookup — DNS Sorgu
DNS sorunları ağ debug'ın sık konusu. dig (Domain Information Groper) standart DNS sorgu aracıdır.
# Temel A kaydı sorgu
dig buyukweb.com
# Kısa çıktı (sadece IP)
dig +short buyukweb.com
# Belirli DNS sunucusuyla sorgu
dig +short buyukweb.com @8.8.8.8
# MX kayıtları
dig buyukweb.com MX
# TXT kayıtları (SPF, DKIM, DMARC)
dig buyukweb.com TXT
# Ters DNS (IP → hostname)
dig -x 8.8.8.8
# DNSSEC doğrulama
dig +dnssec buyukweb.com
# Trace (kök sunucudan adım adım)
dig +trace buyukweb.com
nslookup daha basit, etkileşimli de kullanılabilir:
nslookup buyukweb.com
nslookup buyukweb.com 8.8.8.8 # Belirli DNS sunucu
DNS propagasyon ve kayıt tipleri için DNS kayıtları rehberine bakın.
traceroute ve mtr — Yol İzleme
Hedefle aranızdaki yolu görmek, gecikme ve paket kaybının hangi hop'ta oluştuğunu bulmak için:
# Klasik traceroute (UDP, root gerekmez)
traceroute example.com
# ICMP traceroute (bazı firewall'lar UDP'yi engeller)
sudo traceroute -I example.com
# TCP traceroute (web trafiği simülasyonu, 443 port)
sudo traceroute -T -p 443 example.com
# tracepath (root gerekmez, PMTUD bilgisi verir)
tracepath example.com
mtr (My Traceroute), traceroute + ping kombinasyonudur; sürekli çalışarak jitter ve paket kaybını istatistiksel olarak gösterir:
# Etkileşimli mod
mtr example.com
# Rapor modu (n iterasyon sonra durur, script'e uygun)
mtr -r -c 20 example.com
# TCP modu (443 port — HTTPS yolu)
mtr --tcp -P 443 example.com
# Sayısal (DNS çözümlemesiz, hızlı)
mtr -n example.com
mtr çıktısında Loss% sütununu okuyun: yalnızca son hop'ta kayıp varsa ve site çalışıyorsa, o router ICMP rate-limit uyguluyordur (yanlış alarm). Ortadaki bir hop'ta kayıp + sonrasında da yüksekse gerçek sorun orada demektir.
iperf3 — Bant Genişliği Test
Sunucular arası gerçek bant genişliği ölçmek için iperf3 kullanın. Hem server hem client rolü oynayabilir.
# Kurulum
apt install iperf3 -y
dnf install iperf3 -y
Server tarafı (dinleyen):
iperf3 -s # 5201 portunda dinle
iperf3 -s -p 9000 # Farklı port
Client tarafı (ölçen):
# TCP test, 30 saniye
iperf3 -c server-ip -t 30
# UDP test, hedef bant genişliği 100 Mbps
iperf3 -c server-ip -u -b 100M -t 30
# Çoklu stream (paralel 4 TCP akışı)
iperf3 -c server-ip -P 4 -t 30
# Ters yön (server → client, upload ölçer)
iperf3 -c server-ip -R -t 30
Çıktı yorumu: bitrate gerçek throughput; Retr TCP retransmit sayısı (yüksekse paket kaybı var), Cwnd congestion window (düşükse ağ darboğazı veya yüksek RTT). UDP testinde Jitter ve Lost/Total Datagrams kritik göstergelerdir.
Senaryo: Buyukweb VDS'iniz ile müşterilerinizin ağı arasında beklenen throughput sağlanamıyorsa — bir VDS server, bir VDS client yapın,
iperf3 -c server-ip -P 4 -t 60ile ölçün. MTU uyuşmazlığı, window scaling kapalı veya paket kaybı net olarak ortaya çıkar.
Bağlantı Sorun Çözme Akışı
Katmanlı yaklaşım — üstten başlayın, sorunu bulduğunuz katmanda durun:
1. ping 8.8.8.8 → ICMP erişimi var mı? (L3 temel kontrol)
2. ip route get 8.8.8.8 → Doğru rota ve çıkış arayüzü var mı?
3. traceroute / mtr → Hangi hop'ta gecikme ya da kayıp?
4. ss -tulnp → Hedef port yerel olarak dinleniyor mu?
5. tcpdump -i eth0 portX → Paket geliyor mu? Yanıt dönüyor mu?
6. nmap -sV -p X hedef → Uzak tarafta port açık mı?
Pratik senaryo — "Web siteme erişilemiyor":
# 1. Sunucu internete bağlı mı?
ping -c 4 8.8.8.8
# 2. Web servisi çalışıyor mu?
ss -tulnp | grep -E ':80|:443'
# 3. Firewall 80/443 açık mı? (UFW kuruluysa)
ufw status | grep -E '80|443'
# 4. Paket sunucuya ulaşıyor mu?
tcpdump -i eth0 -n port 80 &
curl -I http://kendi-ip-adresin
# 5. Uzaktan port durumu (başka bir makineden)
nmap -sV -p 80,443 kendi-ip-adresin
Buyukweb VDS Perspektifi
Buyukweb VDS sunucular (KVM, root erişimli) bu sayfadaki tüm komutları destekler:
tcpdump,nmap,iperf3,ss,ip— root yetkisiyle doğrudan çalışır- Network namespace, policy routing, VLAN tagging — KVM tam sanallaştırma sayesinde mümkündür
- KVM web konsol: VDS'e SSH erişimi kapandığında my.buyukweb.com müşteri panelinden tarayıcı üzerinden erişim;
ip link set eth0 upgibi kurtarma komutları çalıştırılabilir
cPanel paylaşımlı hosting farklıdır: Terminal aracı kısıtlıdır, tcpdump ve raw socket gerektiren komutlar (nmap SYN scan, iperf3 server) çalışmaz. dig, traceroute gibi komutlar genellikle kullanılabilir.
Destek için: 0850 302 60 70
Sık Sorulan Sorular
ifconfig ile ip arasındaki fark nedir?
ifconfig net-tools paketinin parçası, 2000'lerin standardıdır. Artık çoğu dağıtımda varsayılan kurulumda bulunmaz. ip addr show tam muadilidir; ek olarak network namespace, MPLS, policy routing destekler. Yeni script ve alışkanlıklarda ip kullanın.
netstat gerçekten kullanılmıyor mu?
Teknik anlamda deprecated, ancak birçok sistem yöneticisi alışkanlıktan kullanmaya devam ediyor. Eski sistemlerde ve dokümanlarda sıkça karşılaşılır. ss -tulnp ile netstat -plant sonuç olarak aynı bilgiyi verir; ss daha hızlı ve daha doğrudur.
ss neden netstat'tan hızlıdır?
netstat procfs (/proc/net/tcp) dosyalarını ayrıştırır; bu yavaş ve CPU maliyetlidir. ss ise kernel'in NETLINK_INET_DIAG API'sini kullanır — doğrudan kernel'den yapılandırılmış veri alır. 50.000 aktif bağlantılı bir sunucuda fark çok belirgin olur.
Açık portu nasıl kontrol ederim?
Yerel için: ss -tulnp | grep :PORT. Uzak için: nmap -p PORT hedef-ip. Kendi sunucumu dışarıdan görmek için: başka bir VDS'ten nmap -p 80,443 kendi-ip çalıştırın.
tcpdump'ı nasıl kullanırım, root olmadan çalışır mı?
tcpdump varsayılan olarak root gerektirir. setcap cap_net_raw+ep $(which tcpdump) ile belirli kullanıcıya izin verilebilir, ancak üretim sunucusunda root ile kullanmak daha güvenlidir. Temel kullanım: tcpdump -i eth0 port 80 -w /tmp/cap.pcap, ardından scp ile yerel makinede Wireshark analizi yapın.
iperf3 sonuçlarını nasıl yorumlarım?
Bitrate değeri elde edilen throughput. Aynı veri merkezindeki iki VDS arasında 800-950 Mbps beklenir (1G uplink). Retr sıfır olmalı — yüksekse ağda paket kaybı var demektir. UDP testinde Jitter değeri < 1 ms idealdir, > 10 ms gerçek zamanlı iletişim için sorunludur.
VDS'te root erişimi var mı?
Buyukweb VDS'lerde tam root erişimi bulunur; tcpdump, nmap, iperf3 -s, ip gibi tüm araçlar çalışır. Paylaşımlı cPanel hosting'de root yoktur, Terminal aracı kısıtlıdır.
İlgili Büyükweb Hizmetleri
Ağ debug araçlarını tam özgürlükle kullanmak için Türkiye lokasyonlu KVM VDS:
- VDS Sunucu — KVM + root erişim + tüm ağ araçları
- Linux Hosting — cPanel, paylaşımlı
- Linux Web Hosting — PHP + MySQL + SSL
- cPanel Web Hosting — yönetim panelli hosting
Sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.
Linux & Komut Satırı İlgili Hizmetlerimiz
Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin
Etiketler:

