MENU

Windows Komut İstemi Kullanarak Belirli Bir Portun Açık Olup Olmadığını Kontrol Etme

Windows Komut İstemi’ni ağ teşhisleri ve sorun giderme için kullanmak, genellikle sistem yöneticileri ve güvenlik personeli için temel ve kritik bir beceri olan belirli bir portun açık olup olmadığını kontrol etme bilgisini gerektirir. Bu makale, Windows ortamında portları kontrol etme yöntemlerine odaklanarak, netstat komutu ve PowerShell kullanarak pratik adımları tanıtır. Bilgi düzeyimizi derinleştirerek port durumunu etkin bir şekilde kavrayalım ve ağ güvenliğini artıralım, başlangıçtan ileri seviye kullanıcılara uygun.

İçindekiler

Port Nedir?

Bilgisayar ağlarında, bir port veri gönderip almak için kullanılan sanal bir erişim noktasıdır. İnternet Protokolü (IP) adresi bilgisayarı tanımlarken, port numarası o bilgisayarda çalışan belirli programları veya hizmetleri tanımlar.

Port Türleri

TürNumara AralığıTanım
Well-known Ports0-1023İnternette yaygın olarak bilinen hizmetlere atanan (örneğin, HTTP 80, HTTPS 443’tür).
Registered Ports1024-49151Yazılım şirketleri tarafından kaydedilen hizmetler için atanmıştır.
Dynamic/Private Ports49152-65535Belirli programlar tarafından geçici kullanım için atanmıştır.

Portların Rolü

Portlar, bir ağdaki bilgisayarlar arasındaki iletişimi etkin bir şekilde yönetmede kritik bir rol oynar. TCP (Transmission Control Protocol) ve UDP (User Datagram Protocol) gibi taşıma katmanı protokolleri, çeşitli amaçlar için portları kullanır, örneğin:

  • Veri Aktarımı: Portlar, verilerin belirli programlar veya hizmetler tarafından doğru bir şekilde gönderilip alınmasını sağlar.
  • Hizmet Tanımlama: Port numaraları, birden fazla hizmetin aynı fiziksel sunucuda eş zamanlı olarak çalışmasına olanak tanır ve ayrıştırılmasını sağlar.
  • Güvenlik Yönetimi: Güvenlik duvarları ve güvenlik yazılımları, port numaralarına dayanarak iletişim izinlerini veya yasaklarını kontrol eder.

Portları doğru bir şekilde anlamak ve yönetmek, ağ güvenliğini sağlamak ve veri iletişimini etkinleştirmek için vazgeçilmezdir.

Portları Kontrol Etmenin Genel Bakışı

Portların durumunu kontrol etmek için, Windows Komut İstemi veya PowerShell kullanılarak yöntemler mevcuttur. Aşağıda, bu araçları kullanarak portları kontrol etme için temel adımları tablolar ve etiketler aracılığıyla anlaşılır şekilde açıklıyoruz.

Kullanılan Araçlar

AraçTanım
netstat commandKomut isteminden erişilebilir. Ağ bağlantıları, yönlendirme tabloları ve aktif bağlantılar hakkında bilgi gösterir.
PowerShellDaha gelişmiş betikleme olanakları sunar. Belirli portlar hakkında detaylı bilgi almayı ve filtrelemeyi sağlar.

Kontrol Sürecinin Genel Bakışı

  1. Komut İstemi veya PowerShell’i Açın: Başlat menüsünden erişin.
  2. Gerekli Komutu Çalıştırın: netstat komutunu veya PowerShell cmdlet’lerini kullanın.
  3. Sonuçları Analiz Edin: Görüntülenen bilgilerden belirli bir portun durumunu belirleyin.

netstat Komutu Kullanarak Portları Kontrol Etme

netstat komutu, bir sistemdeki tüm portların durumunu kolayca kontrol eden bir komut satırı aracıdır. Aşağıda, bu komutu kullanarak portları kontrol etme adımlarını açıklıyoruz.

netstat Komutunu Kullanma Örneği

  1. Komut İstemi’ni Açın: ‘cmd’ yazarak erişin.
  2. Komutu Çalıştırın: netstat -an komutunu girin ve Enter tuşuna basın.
  3. Sonuçları Yorumlama: Çıktıda belirli bir port hakkında bilgi arayın.
Komut SeçeneğiTanım
-aTüm bağlantıları ve dinleme portlarını gösterir.
-nAdresleri ve port numaralarını sayısal formatta gösterir.

Belirli Bir Portu Arama

Birçok sonuç gösterildiğinde, belirli bir port numarasını aramak için findstr komutunu kullanmanız önerilir. Örneğin, port 443 hakkında bilgi aramak için aşağıdakini girin:

netstat -an | findstr 443

Bu yöntem, belirli bir portun durumunu hızlı ve kolay bir şekilde doğrulamanıza olanak tanır.

PowerShell Kullanarak Portları Kontrol Etme

PowerShell, Windows ortamında daha gelişmiş betikleme ve otomasyon sağlayan güçlü bir araçtır. Ağ teşhisleri ve yönetimi için PowerShell, netstat komutundan daha detaylı bilgi sağlayarak belirli port durumlarının doğrulanmasına yardımcı olur. Burada, PowerShell kullanarak port durumlarını kontrol etme adımlarını tanıtıyoruz.

  1. PowerShell’i Açın: Başlat menüsünde ‘PowerShell’ yazın ve görüntülenen Windows PowerShell’i açmak için tıklayın.
  2. TCP Portlarının Durumunu Kontrol Edin: TCP portlarının durumunu kontrol etmek için Get-NetTCPConnection cmdlet’ini kullanın. Bu cmdlet, sistemdeki tüm TCP bağlantıları hakkında bilgi gösterir. Belirli bir portu kontrol etmek için, -LocalPort parametresini ekleyin ve örneğin port 80 üzerindeki TCP bağlantıları hakkında bilgi göstermek için Get-NetTCPConnection -LocalPort 80 komutunu çalıştırın.
  3. UDP Portlarının Durumunu Kontrol Edin: UDP portlarının durumunu kontrol etmek için Get-NetUDPEndpoint cmdlet’ini kullanın. Belirli bir UDP portu hakkında bilgi almak için benzer şekilde -LocalPort parametresini belirtin. Örneğin, DNS sorguları için kullanılan port 53 hakkında UDP uç noktası bilgilerini almak için Get-NetUDPEndpoint -LocalPort 53 komutunu çalıştırın.
  4. Filtreleme ve Analiz: PowerShell’in güçlü filtreleme yeteneklerini kullanarak gerekli bilgileri kolayca çıkarın. Örneğin, dinleme durumundaki tüm TCP portlarını filtrelemek için Get-NetTCPConnection | Where-Object { $_.State -eq "Listen" } komutu kullanılabilir.
  5. Sonuçları Anlama: Get-NetTCPConnection ve Get-NetUDPEndpoint cmdlet’lerinin çıktısı, bağlantı hakkında detaylı bilgiler içerir, örneğin LocalAddress (yerel IP adresi), LocalPort (yerel port), RemoteAddress (uzak IP adresi), RemotePort (uzak port) ve State (durum). Bu bilgileri analiz ederek, belirli bir portun durumunu doğru bir şekilde anlayabilirsiniz.

PowerShell kullanarak port durumlarını kontrol etmek, ağ sorun giderme ve güvenlik izleme için son derece etkilidir. Cmdlet’lerin esnekliği ve güçlü filtreleme yetenekleri, sistem yöneticilerinin ağ durumunu kapsamlı bir şekilde anlamasını ve gerekli önlemleri hızla almasını sağlar.

Pratik Örnek: Belirli Bir Portun Açık Olup Olmadığını Kontrol Etme

Ağ teşhisleri ve güvenlik doğrulamasında, belirli bir portun açık olup olmadığını kontrol etmek kritiktir. Burada, Windows Komut İstemi ve PowerShell kullanarak belirli portların (örnek olarak port 80 ve 443 kullanılarak) açık olup olmadığını doğrulamak için pratik adımları tanıtıyoruz.

Komut İstemi Kullanarak

  1. Komut İstemi’ni Açın: Başlat menüsünde ‘cmd’ yazın ve görüntülenen Komut İstemi’ni açmak için tıklayın.
  2. netstat komutunu kullanın: Ardından, Komut İstemi’ne netstat -an | findstr :80 girin ve Enter tuşuna basın. Bu, port 80 ile ilgili tüm bağlantıları gösterir. Benzer şekilde, port 443 üzerindeki HTTPS bağlantıları hakkında bilgi almak için findstr :443 kullanın.
  3. Sonuçları Yorumlama: Bilgiler arasında ‘DİNLENİYOR’ durumu görünüyorsa, port açıktır ve dış bağlantılar için beklemektedir. Hiçbir şey gösterilmiyorsa, port kullanılmıyor veya kapalı olabilir.

PowerShell Kullanarak

  1. PowerShell’i Açın: Başlat menüsünde ‘PowerShell’ yazın ve görüntülenen Windows PowerShell’i açmak için tıklayın.
  2. Get-NetTCPConnection cmdlet’ini kullanın: PowerShell’de Get-NetTCPConnection -LocalPort 80 girin ve Enter tuşuna basın. Bu, port 80 ile ilgili tüm TCP bağlantı bilgilerini gösterir. HTTPS bağlantıları için, -LocalPort 443 kullanın.
  3. Sonuçları Yorumlama: State sütunu Listen gösteriyorsa, port açık ve dinleme durumundadır. Hiçbir şey gösterilmiyorsa veya Listen durumunda hiç giriş yoksa, port açık değildir veya kullanılmıyor demektir.

Bu adımlar, belirli bir portun açık olup olmadığını doğrulamak için kullanılabilir. Bu komutlar, sistemlerin ve ağların güvenlik durumunu anlamak için son derece etkili araçlardır.

İleri Düzey: Birden Fazla Port Durumunu Etkin Bir Şekilde İzleme

Sistem ve ağ yöneticileri için, birden fazla portun durumunu sürekli olarak izlemek, güvenlik ve performansı sürekli iyileştirmek için temeldir. Burada, belirli portlar ötesinde bir sistemdeki birden fazla portun durumunu aynı anda izlemek için ileri teknikler tanıtıyoruz.

Betikler Kullanarak Otomasyon

Komut İstemi ve netstat

  • Toplu Dosya Oluşturma: Birden fazla portu aynı anda izlemek için, Komut İstemi’nde çalıştırılabilir bir toplu dosya oluşturun. Örneğin, port 80 ve 443’ü izleyen bir toplu dosyanın içeriği şu şekilde olabilir:
@echo off
netstat -an | findstr :80
netstat -an | findstr :443
pause

Bu toplu dosyayı çalıştırmak, konsolda port 80 ve 443’ün durumunu gösterir. pause komutu, sonuçları kontrol etmek için bir duraklama sağlar.

PowerShell ile İzleme

  • Betik Oluşturma: PowerShell ile, daha karmaşık izleme betikleri oluşturulabilir. Örneğin, port 80 ve 443’ün durumunu izleyen ve yalnızca dinleme durumundaki portları raporlayan bir betik şu şekilde olabilir:
$ports = 80, 443
foreach ($port in $ports) {
    $connections = Get-NetTCPConnection -LocalPort $port -ErrorAction SilentlyContinue
    if ($connections) {
        $connections | Where-Object { $_.State -eq "Listen" } | 
        ForEach-Object { Write-Host "Port $_.LocalPort is listening" }
    }
    else {
        Write-Host "Port $port is not listening"
    }
}

Bu betik, belirtilen portların dinleme durumunda olup olmadığını kontrol eder ve sonuçları gösterir. -ErrorAction SilentlyContinue seçeneği, belirtilen portlar mevcut değilse hata mesajlarını bastırır.

İzleme Araçlarını Kullanma

Birden fazla portu etkin bir şekilde izlemek için, özel ağ izleme araçlarının kullanılmasını da düşünmek faydalıdır. Bu araçlar, gerçek zamanlı izleme, uyarı fonksiyonları ve otomatik rapor üretimi gibi ileri özellikler sunar. Tanınmış araçlar arasında Nagios, Zabbix ve PRTG Network Monitor bulunur.

Bu ileri yöntemler kullanılarak, sistemlerin ve ağların güvenliği ve performansı artırılarak birden fazla portun durumu etkin bir şekilde izlenebilir. Otomasyon betikleri oluşturarak veya özel araçlar tanıtarak, yöneticiler daha etkili bir izleme ortamı oluşturabilir.

Sorun Giderme: Yaygın Sorunlar ve Çözümleri

Portları kontrol ederken karşılaşılabilecek yaygın sorunları ve çözümlerini tanıtıyoruz.

Port Dinlemiyor

  • Sorun: Belirli bir portun dinlemediği bildiriliyor.
  • Çözüm: Hizmetin doğru çalıştığından emin olun ve güvenlik duvarı ayarlarını gözden geçirerek portun engellenmediğinden emin olun.

Bilinmeyen Port Dinliyor

  • Sorun: Beklenmedik bir portun dinlediği bildiriliyor.
  • Çözüm: Hangi programın portu kullandığını belirlemek için netstat -ab komutunu kullanın (yönetici hakları gereklidir) ve gerekirse harekete geçin.

Port Çatışması

  • Sorun: İki uygulama aynı portu kullanmaya çalışıyor, bu da bir çatışmaya neden oluyor.
  • Çözüm: Çatışan uygulamaların farklı portlar kullanacak şekilde yapılandırmasını değiştirin.

Güvenlik Düşünceleri

Portları kontrol ederken ve yönetirken güvenliği göz önünde bulundurmak önemlidir.

  • Kullanılmayan Portları Kapatma: Kullanılmayan portları kapatın, böylece gereksiz yere açık portlar aracılığıyla saldırı riskini en aza indirin.
  • Güvenlik Duvarlarını Kullanma: Yalnızca yetkili trafiğin sisteme erişebilmesini sağlamak için güvenlik duvarlarını doğru bir şekilde yapılandırın.
  • Düzenli Denetimler : Beklenmedik değişiklikleri veya şüpheli faaliyetleri tespit etmek için portları düzenli olarak denetleyin.

Sonuç: Port Kontrolü İçin En İyi Uygulamalar

Portları kontrol etmek ve yönetmek, ağların güvenliğini ve performansını sürdürmek için hayatidir. İşte port kontrolü için en iyi uygulamalar:

  • Komut Satırı Araçlarını Kullanma: Portların durumunu düzenli olarak kontrol etmek için netstat ve PowerShell gibi komut satırı araçlarını kullanın.
  • Otomasyon Betikleri Uygulama: Birden fazla portu izlerken, etkin yönetim için otomasyon betikleri oluşturun.
  • Güvenlik Önlemleri Uygulama: Güvenlik risklerini azaltmak için gereksiz portları kapatın ve güvenlik duvarlarını doğru şekilde yapılandırın.
  • Eğitim ve Farkındalık Yaratma: Sistem yöneticilerini ve kullanıcıları portların ve güvenlik önlemlerinin önemi konusunda eğitin ve farkındalık yaratın.

Bu en iyi uygulamaları uygulayarak, sistemlerin ve ağların güvenliğini ve etkin çalışmasını sağlayabilirsiniz.

İçindekiler