Windows'ta açık portları kontrol etmek, ağ konusunda bilinçli her kullanıcının bilmesi gereken bir şeydir. Açık bir port, bilgisayarının o port numarasında aktif olarak bağlantılar için dinlediği anlamına gelir ve hangi portların açık olduğunu bilmek, güvenlik açıklarını yakalamanıza, bağlantı sorunlarını gidermenize ve uygulamalarınızın düzgün çalıştığını doğrulamanıza yardımcı olur. Windows size bunu yapmanın birkaç yerleşik yolunu sunar ve ayrıca portlarınızın dışarıdan nasıl göründüğünü test edebilecek harici araçlar vardır.
İçindekiler Tablosu
- Açık Portlar Nedir ve Neden Önemlidir
- Açık Portları Görmek İçin Netstat Komutunu Kullanma
- PowerShell ile Portları Kontrol Etme
- Port Kuralları İçin Windows Güvenlik Duvarı Ayarlarını Kontrol Etme
- Windows'ta Port Tarayıcısı Kullanma
- Açık Portlarınızı Dışarıdan Test Etme
- Yaygın Portlar Hızlı Referansı
- İhtiyaç Duymadığınız Portları Kapatma
Açık Portlar Nedir ve Neden Önemlidir
Bilgisayarındaki her ağ hizmeti 1 ile 65535 arasında bir port numarasına bağlanır. Bir hizmet çalışırken ve gelen bağlantıları beklerken, o port "açık"tır. Hiçbir şey orada dinlemiyorsa, port "kapalı"dır ve gelen bağlantı denemeleri reddedilir veya yoksayılır.
İşte bunun pratikte neden önemli olduğu:
- Güvenlik denetimi: Beklenmeyen bir açık port, kötü amaçlı bir işlem, kötü amaçlı yazılım veya yanlış yapılandırılmış bir hizmetin makineni açığa çıkardığı anlamına gelebilir.
- Sorun giderme: Web sunucunuz, oyun sunucunuz veya uzak masaüstü erişilemiyorsa, ilk soru portun gerçekten açık olup olmadığıdır.
- Güvenlik duvarı doğrulaması: Windows Güvenlik Duvarınız, hizmet çalışırken bir portu engelliyor olabilir veya kapalı olduğunu düşündüğünüz bir portun geçişine izin veriyor olabilir.
Açık Portları Görmek İçin Netstat Komutunu Kullanma
netstat
komutu, Windows makinenizin şu anda dinlediği her portu listelemek için en hızlı yerleşik yoldur. Komut İstemi'ni açın (Başlat menüsünde "cmd" araması yapın, sağ tıklayın ve "Yönetici olarak çalıştır" seçeneğini seçin) ve şu komutu çalıştırın:
netstat -ano
Bayraklar şu şekilde ayrılır:
-
-atüm etkin bağlantıları ve dinleme portlarını gösterir. -
-nadresleri ve port numaralarını sayısal olarak görüntüler (ana bilgisayar adlarını çözmek yerine, çok daha hızlıdır). -
-oİşlem Kimliğini (PID) ekler, böylece her portun sahibi olan programı tanımlayabilirsiniz.
Çıkış sütunları: Proto , Yerel Adres , Uzak Adres , Durum ve PID . Durum sütununda DİNLEME yazısı olan satırları arayın. Bunlar açık portlarınızdır.
Bunu sadece dinleme portlarına daraltmak için:
netstat -ano | findstr LISTENING
Araştırmak istediğiniz bir PID'ye sahip olduktan sonra, işlem adını şu şekilde bulun:
tasklist /fi "PID eq 1234"
Değiştir
1234
netstat çıktısından gerçek PID ile. Bu, tam olarak hangi yürütülebilir dosyanın o port üzerinde dinlediğini gösterir.
Belirli bir portun kullanımda olup olmadığını kontrol etmek için netstat'ı findstr ile birleştirin:
netstat -ano | findstr :443
PowerShell ile Portları Kontrol Etme
PowerShell, netstat'a daha temiz ve daha komut dosyası yazılabilir bir alternatif sunar. PowerShell'i yönetici olarak açın ve şu komutu çalıştırın:
Get-NetTCPConnection -State Listen | Select-Object LocalAddress, LocalPort, OwningProcess | Sort-Object LocalPort
Bu, DİNLEME durumundaki her TCP portunun sıralanmış bir listesini döndürür, yerel adres ve PID dahil. PID'yi aynı komutta bir işlem adına çözmek için:
Get-NetTCPConnection -State Listen |
Select-Object LocalPort,
@{Name="Process";Expression={(Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).Name}} |
Sort-Object LocalPort
Ayrıca PowerShell'den doğrudan uzak bir konağın belirli bir portun açık olup olmadığını test edebilirsiniz:
Test-NetConnection
:
Test-NetConnection -ComputerName example.com -Port 443
Eğer
TcpTestSucceeded : True
çıktıda görünürse, port açıktır ve makinenizden bağlantıları kabul etmektedir. Bu, Windows PC'nizden bir sunucuya giden bağlantıyı doğrulamak için kullanışlıdır, sadece yerel olarak açık olanları kontrol etmek değil.
Port Kuralları İçin Windows Güvenlik Duvarı Ayarlarını Kontrol Etme
Windows Güvenlik Duvarı, hangi portlara gelen ve giden trafiğe izin verileceğini kontrol eder. Bir hizmet yerel olarak bir port üzerinde dinliyor olabilir, ancak güvenlik duvarı o port üzerindeki gelen trafiği engellerse, harici istemciler buna ulaşamaz. İşte güvenlik duvarı kurallarınızı nasıl gözden geçirebileceğiniz.
Gelişmiş Güvenlik Özelliğine Sahip Windows Defender Güvenlik Duvarını Kullanma
-
Tuşlayın
Win + R
, yazın
wf.mscve Enter tuşuna basın. - Sol panelde Gelen Kuralları seçeneğine tıklayarak makinenize gelen trafiği kontrol eden kuralları görebilirsiniz.
- Makinenizden çıkan trafiği görmek için Giden Kuralları seçeneğine tıklayın.
- Hangi kuralların etkin olduğunu hızlı bir şekilde görmek için Etkin seçeneğine göre sıralayın.
- Her kural protokolü (TCP/UDP), yerel portu, uzak portu ve eylemi (İzin Ver/Engelle) gösterir.
Komut Satırını Kullanma
Komut satırından tüm etkin güvenlik duvarı kurallarını listelemek için:
netsh advfirewall firewall show rule name=all
Belirli bir portun güvenlik duvarı üzerinden geçişine izin verilip verilmediğini kontrol etmek için:
netsh advfirewall firewall show rule name=all | findstr "LocalPort"
Microsoft'un resmi belgesi Windows Güvenlik Duvarını yapılandırma hakkında kural oluşturma ve yönetimi hakkında ayrıntılı bilgi içerir, eğer kurallar eklemeniz veya değiştirmeniz gerekiyorsa.
Windows'ta Port Tarayıcısı Kullanma
Yerleşik araçlar kendi makinenizi kontrol etmek için harikadır, ancak bazen ağınızdaki başka bir konağı taramanız gerekir veya ham komut satırı çıktısı yerine görsel bir genel bakış isteyebilirsiniz. Özel bir port tarayıcısı bu boşluğu doldurur.
Nmap port taraması için endüstri standardıdır. Ücretsiz, açık kaynaktır ve Windows'ta resmi Nmap indirme sayfasından mevcuttur. Windows yükleyicisi, grafik arayüzü olan Zenmap'i içerir. Bir konağın temel taraması şöyle görünür:
nmap -sV 192.168.1.1
-sV
bayrağı her açık port üzerinde çalışan hizmet sürümünü algılamaya çalışır. Bu, Windows üzerinde ağ güvenliği denetimleri için kullanışlıdır çünkü yalnızca hangi portların açık olduğunu değil, bunların arkasında hangi yazılımın olduğunu da görebilirsiniz.
Açık Portlarınızı Dışarıdan Test Etme
İşte çoğu rehberin atladığı kritik fark: bir port, Windows makinenizde yerel olarak açık olabilir ancak yine de dış dünyaya kapalı görünebilir. Bu, yönlendiricininiz o portu yönlendirmediğinde veya ISP'niz bunu engellediğinde olur. İnterneti gerçekte ne gördüğünü bilmek için harici bir bakış açısından test etmeniz gerekir.
Çevrimiçi bir port denetleyicisinin yaptığı tam olarak budur. Uzak bir sunucudan IP adresinize bir TCP bağlantısı başlatır ve bağlantının kabul edilip edilmediğini (Açık), reddedilip reddedilmediğini (Kapalı) veya zaman aşımına uğrayıp uğramadığını (Zaman Aşımı) raportar. Yazılım yüklemeye gerek yoktur ve yerel güvenlik duvarınızı tamamen atlar ve gerçek harici görünümü gösterir.
Windows Makinenizde Tam Olarak Hangi Portların Açık Olduğunu Göreceğiniz
Ücretsiz çevrimiçi port denetleyicimiz, harici bir sunucudan herhangi bir IP veya alan adına TCP bağlantılarını test eder, böylece Windows'ta açık portları kontrol ederken gerçek dış görünümü elde edersiniz. Tek bir portu kontrol edin veya aynı anda 10'a kadarını toplu olarak kontrol edin, milisaniye içinde sonuçlar alın.
Açık Portlarını Kontrol Et →
Yaygın Portlar Hızlı Referansı
Hangi hizmetlerin hangi portları kullandığını bilmek sorun giderme yaparken zaman kazandırır. Windows sisteminde en sık karşılaşacağınız portlar:
| Port | Protokol | Hizmet | Windows'ta Yaygın Kullanım |
|---|---|---|---|
| 80 | TCP | HTTP | Web sunucuları (IIS, Apache), yerel geliştirme sunucuları |
| 443 | TCP | HTTPS | Güvenli web sunucuları, Windows Güncellemeleri |
| 3389 | TCP | RDP | Uzak Masaüstü Protokolü, uzak yönetim |
| 445 | TCP | SMB | Dosya paylaşımı, Windows ağ paylaşımları |
| 22 | TCP | SSH | OpenSSH (Windows 10/11'de yerleşik) |
| 21 | TCP | FTP | Dosya aktarımı, IIS FTP hizmeti |
| 25 | TCP | SMTP | E-posta gönderimi, posta sunucusu geçişi |
| 3306 | TCP | MySQL | MySQL/MariaDB veritabanı bağlantıları |
| 5432 | TCP | PostgreSQL | PostgreSQL veritabanı bağlantıları |
| 135 | TCP | RPC | Windows Uzak Yordam Çağrısı, DCOM |
İhtiyaç Duymadığınız Portları Kapatma
İyi Windows port izlemesi, yalnızca açık olanları bulmak değildir. Hangilerinin açık olması gerektiğine karar vermek ve diğer her şeyi kapatmaktır. İşte pratik bir yaklaşım:
- netstat -ano çalıştırın ve tüm DİNLEME portlarını listeleyin. Daha önce gösterilen tasklist komutunu kullanarak her PID'yi bir işlem adıyla eşleyin.
-
İhtiyaç duymadığınız hizmetleri tanımlayın.
Örneğin, IIS kullanmıyorsanız, port 80 veya 443'ün yerel olarak açık olmasının bir nedeni yoktur. Hizmeti
services.mscaracılığıyla durdurun. -
Windows Güvenlik Duvarı gelen kurallarını gözden geçirin.
Açın
wf.mscve gereksiz olarak tanımladığınız portlara trafiğe izin veren kuralları devre dışı bırakın. - Yönlendiricini kontrol edin. Yönlendiricinizdeki port yönlendirme kuralları, Windows Güvenlik Duvarı onları işletim sistemi düzeyinde engelse bile portları açığa çıkarabilir. Yönlendirici yönetici paneline giriş yapın ve yönlendirilen portları denetleyin.
- Dışarıdan yeniden test edin. Değişiklikler yaptıktan sonra, portların artık erişilemez olduğunu doğrulamak için harici bir port kontrolü yapın.
CISA siber güvenlik danışmanları düzenli olarak internette istismar edilen belirli portlar hakkında uyarılar yayınlar. Bu listeyi periyodik olarak kontrol etmek, Windows sunucularını yönetiyorsanız iyi bir alışkanlıktır.
Yerel olarak açık bir port, Windows makineniz üzerindeki bir hizmetin o port numarasında etkin olarak bağlantıları dinlediği anlamına gelir. Harici olarak açık bir port, internetteki dış bilgisayarların gerçekten buna ulaşabileceği anlamına gelir. Yönlendiricin, ISP'nin veya Windows Güvenlik Duvarının port yerel olarak dinlerken harici erişimi engellemesi mümkündür. Gerçek dünya durumunu doğrulamak için her zaman harici bir araçtan test edin.
Bu neredeyse her zaman şu üç şeyden birinden kaynaklanır: Windows Güvenlik Duvarında portu engelleyen bir gelen kuralı vardır, yönlendiricinin bu port için bir port yönlendirme kuralı yoktur veya ISP'niz portu ağ düzeyinde engelliyor. Her katmanı sırasıyla kontrol edin. ISP tarafından engellenen yaygın portlar arasında konut bağlantılarında 25 (SMTP), 80 ve 443 bulunur.
RDP'yi doğrudan internete açığa çıkarmak önemli bir güvenlik riski oluşturur. Otomatikleştirilmiş botlar sürekli olarak açık port 3389 taraması yapıyor ve kaba kuvvet giriş denemelerine başvuruyor. Uzak erişime ihtiyacınız varsa, ağınıza ulaşmak için önce bir VPN kullanın, Windows Güvenlik Duvarında RDP erişimini belirli IP adreslerine kısıtlayın veya güçlü parolalar ve Ağ Düzeyi Kimlik Doğrulaması (NLA) ile birleştirilmiş standart olmayan bir port kullanın.
Netstat
-a
bayrağını kullandığınızda UDP portlarını gösterir. Proto sütununda
UDP
olarak etiketlenmiş satırları arayın. Ancak UDP, TCP gibi bir bağlantı el sıkışmasına sahip olmadığından, uzaktan test etmek çok daha zordur. Çoğu çevrimiçi port denetleyicisi, TCP tabanlı araçlar da dahil olmak üzere, yalnızca TCP bağlantılarını test eder. UDP taraması için
-sU
bayrağı ile Nmap pratik seçenektir, ancak yönetici ayrıcalıkları gerekir.
Açın
wf.msc
, "Gelen Kuralları" seçeneğine tıklayın, ardından sağda "Yeni Kural" seçeneğine tıklayın. "Port" seçeneğini seçin, TCP veya UDP'yi seçin, port numarasını girin, "Bağlantıya izin ver" seçeneğini seçin, uygun profillere (Domain, Özel, Genel) uygulayın ve kurala bir ad verin. Komut satırı meraklıları için şu komutu kullanın:
netsh advfirewall firewall add rule name="MyPort" dir=in action=allow protocol=TCP localport=8080
.
Zaman aşımı, port denetleyicisinin bir TCP bağlantı isteği gönderdiği ancak bekleme süresi içinde yanıt almadığı anlamına gelir (genellikle birkaç saniye). Bu genellikle bir güvenlik duvarının paketleri sessizce bıraktığı anlamına gelir, bunları aktif olarak reddettikleri yerine. "Kapalı" sonucu, konağın bağlantıyı aktif olarak reddeden bir TCP sıfırlaması gönderdiği anlamına gelir. Zaman aşımı, trafiği reddeden yerine bırakan katı güvenlik duvarı yapılandırmalarında daha yaygındır.