Windows'ta TCP ve UDP portlarını yönetmek için pratik rehber: güvenlik duvarı kuralları oluşturma, güvensiz kuralları kaldırma, dinleyen portları bulma, bir portu kullanan işlemi belirleme ve engellenen bağlantıları giderme.
Ağ portu, bir uygulama veya Windows hizmeti tarafından kullanılan numaralandırılmış bir iletişim uç noktasıdır. Örneğin bir web sunucusu genellikle HTTP için 80, HTTPS için 443 numaralı portu dinler. Uzak Masaüstü çoğunlukla TCP 3389 portunu kullanır; DNS ise genellikle 53 portunu kullanır.
Windows'ta bir portun “açık” olduğu söylendiğinde bu iki farklı anlama gelebilir:
| Anlamı | Ne Demektir? | Nasıl Kontrol Edilir? |
|---|---|---|
| Bir program dinliyor | Bir uygulama veya hizmet bu port üzerinden gelen bağlantıları bekliyordur. | netstat, PowerShell, Kaynak İzleyicisi |
| Güvenlik duvarı porta izin veriyor | Windows Defender Güvenlik Duvarı, bu porttan trafiğe izin veren bir kurala sahiptir. | Windows Defender Güvenlik Duvarı, PowerShell güvenlik duvarı kuralları |
Port açmak oyun sunucuları, yerel web sunucuları, veritabanı erişimi, uzaktan yönetim araçları, dosya paylaşımı, geliştirme ortamları ve bazı eşler arası uygulamalar için gerekli olabilir. Ancak gelen bağlantılara açık her port bilgisayarınızın saldırı yüzeyini de artırabilir.
25565 veya Uzak Masaüstü için 3389.Grafik güvenlik duvarı konsolu çoğu kullanıcı için en güvenli yöntemdir; çünkü kural türünü, protokolü, port numarasını, ağ profilini ve kural adını açıkça gösterir.
Win + R tuşlarına basın, wf.msc yazın ve Enter'a basın.8080. 5000-5010 gibi bir aralık da girebilirsiniz.PowerShell yöneticiler için daha hızlıdır ve aynı güvenlik duvarı kuralını birden fazla bilgisayarda oluşturmanız gerektiğinde kullanışlıdır.
New-NetFirewallRule -DisplayName "Allow TCP 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow -Profile Private
Bu örnek, gelen TCP 8080 portunu yalnızca Özel ağ profilinde açar.
New-NetFirewallRule -DisplayName "Allow UDP 27015" -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow -Profile Private
New-NetFirewallRule -DisplayName "Allow TCP 8080 All Profiles" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow -Profile Any
-Profile Any kuralı Etki Alanı, Özel ve Genel ağlarda uygular. Bir dizüstü bilgisayarda bu, portu otel, havaalanı veya kafe Wi‑Fi ağlarında da açık hale getirebilir.
Portları netsh ile de açabilirsiniz. Bu yöntem hem Windows 10 hem Windows 11'de çalışır ve toplu iş dosyalarında kullanışlıdır.
netsh advfirewall firewall add rule name="Allow TCP 8080" dir=in action=allow protocol=TCP localport=8080 profile=private
netsh advfirewall firewall add rule name="Allow UDP 27015" dir=in action=allow protocol=UDP localport=27015 profile=private
netsh advfirewall firewall add rule name="Allow TCP 5000-5010" dir=in action=allow protocol=TCP localport=5000-5010 profile=private
Bir portu kapatmak için genellikle iki işlemden biri gerekir: porta izin veren güvenlik duvarı kuralını kaldırmak veya devre dışı bırakmak ve portu dinleyen uygulamayı durdurmak. Bir hizmet çalışmaya devam ederse, güvenlik duvarı gelen trafiği engellese bile port yerel olarak LISTENING durumunda görünebilir.
Win + R tuşlarına basın, wf.msc yazın ve Enter'a basın.Remove-NetFirewallRule -DisplayName "Allow TCP 8080"
Kuralı silmek yerine devre dışı bırakmak için:
Disable-NetFirewallRule -DisplayName "Allow TCP 8080"
netsh advfirewall firewall delete rule name="Allow TCP 8080" protocol=TCP localport=8080
wf.msc aracını açın ve gelen kuralları Yerel Bağlantı Noktası, Protokol veya Etkin durumuna göre sıralayın ya da filtreleyin.
Windows, açık portları ve etkin bağlantıları görüntülemek için birkaç yerleşik araç içerir. En kullanışlı olanlar netstat, PowerShell, Kaynak İzleyicisi ve Windows Defender Güvenlik Duvarı günlükleridir.
Dinleyen portların ve işlem kimliklerinin hızlı listesi için en uygundur.
netstat -ano | findstr LISTENING
Etkin TCP dinleyicilerini filtreleme ve betiklerde kullanma için en uygundur.
Get-NetTCPConnection -State Listen
Grafik arayüz tercih eden kullanıcılar için en uygundur.
resmon
netstat -ano | findstr LISTENING
Çıktı protokolü, yerel adresi, portu, bağlantı durumunu ve PID değerini gösterir. Örnek:
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1234
Bu örnekte 8080 portu dinleme durumundadır ve işlem kimliği 1234'tür.
netstat -ano
Get-NetTCPConnection -State Listen | Sort-Object LocalPort | Select-Object LocalAddress,LocalPort,OwningProcess
Get-NetUDPEndpoint | Sort-Object LocalPort | Select-Object LocalAddress,LocalPort,OwningProcess
Win + R tuşlarına basın, resmon yazın ve Enter'a basın.Bir port zaten kullanımdaysa başka bir program başlatılamayabilir. Port numarasını PID ile, ardından PID değerini uygulamayla eşleştirerek işlemi belirleyebilirsiniz.
netstat -ano | findstr :8080
Satırdaki son sayıya bakın. Bu, işlem kimliğidir.
tasklist /fi "PID eq 1234"
1234 yerine önceki komuttan aldığınız PID değerini yazın.
Get-Process -Id 1234
taskkill /PID 1234 /F
Bir güvenlik duvarı kuralı oluşturduktan sonra portun gerçekten erişilebilir olup olmadığını doğrulamalısınız. Başarılı bir test için üç şey gerekir: portu dinleyen bir hizmet, trafiğe izin veren bir güvenlik duvarı kuralı ve doğru ağ yönlendirmesi.
Test-NetConnection 192.168.1.10 -Port 8080
Çıktıda TcpTestSucceeded : True görünüyorsa TCP portuna o bilgisayardan erişilebiliyor demektir.
netstat -ano | findstr :8080
Get-NetFirewallPortFilter | Where-Object {$_.LocalPort -eq "8080"}
Bunlar bir Windows bilgisayarda açık portları kontrol ederken karşılaşabileceğiniz yaygın portlardır. Neden gerekli olduklarını tam olarak bilmiyorsanız bu portları herkese açık şekilde açmayın.
| Port | Protokol | Yaygın Kullanım | Güvenlik Notu |
|---|---|---|---|
80 |
TCP | HTTP web trafiği | Genellikle yalnızca yapılandırılmış bir web sunucusu için güvenlidir. |
443 |
TCP | HTTPS web trafiği | Herkese açık hizmetlerde HTTP yerine HTTPS tercih edin. |
53 |
TCP/UDP | DNS | Özyinelemeli DNS çözümleyicisini herkese açık hale getirmeyin. |
445 |
TCP | SMB dosya paylaşımı | İnternete açılmamalıdır. |
3389 |
TCP/UDP | Uzak Masaüstü | VPN, güçlü kimlik doğrulama ve hesap kilitleme ilkeleri kullanın. |
5985 |
TCP | HTTP üzerinden Windows Uzaktan Yönetim | Yalnızca güvenilir ağlarda kullanın. |
5986 |
TCP | HTTPS üzerinden Windows Uzaktan Yönetim | Doğru sertifika yapılandırması gerektirir. |
Bir çevrimiçi port kontrol aracı veya başka bir bilgisayar hâlâ bağlanamıyorsa bu kontrol listesini kullanın.
| Sorun | Neyi Kontrol Etmeli? | Çözüm |
|---|---|---|
| Hiçbir hizmet dinlemiyor | netstat -ano | findstr :PORT |
Portu kullanması gereken uygulamayı veya hizmeti başlatın. |
| Yanlış protokol | TCP ve UDP ayrımı | Kuralı doğru protokol için oluşturun veya ayrı TCP ve UDP kuralları oluşturun. |
| Yanlış ağ profili | Özel/Genel/Etki Alanı | Kural profilini değiştirin veya uygunsa ağ türünü Özel olarak ayarlayın. |
| Yönlendirici gelen trafiği engelliyor | Port yönlendirme ayarları | Portu doğru yerel IP adresine yönlendirin. |
| Yerel IP değişti | Bilgisayarın geçerli IPv4 adresi | Sunucu bilgisayar için DHCP rezervasyonu veya statik IP kullanın. |
| İnternet servis sağlayıcısı CGNAT kullanıyor | Yönlendirici WAN IP'si ile genel IP karşılaştırması | Genel IP isteyin, varsa IPv6 kullanın veya VPN/tünel çözümü kullanın. |
| Üçüncü taraf güvenlik yazılımı trafiği engelliyor | Antivirüs güvenlik duvarı ayarları | Üçüncü taraf güvenlik duvarında izin kuralı ekleyin veya geçici olarak devre dışı bırakarak test edin. |
netstat yerel olarak dinleyen uygulamaları gösterir. Güvenlik duvarı kuralını silmek gelen trafiği engeller, ancak uygulamayı durdurmaz. Portun dinleme listesinden kaybolmasını istiyorsanız ilgili hizmeti veya programı durdurun.netstat -ano | findstr LISTENING komutunu çalıştırın. Grafik görünüm için Win + R tuşlarına basın, resmon çalıştırın, Ağ sekmesini açın ve Dinleme Bağlantı Noktaları bölümünü genişletin.Çoğu kullanıcı için port açmanın en iyi yolu wf.msc ile Gelişmiş Güvenlik Özellikli Windows Defender Güvenlik Duvarı aracını kullanmaktır. Bu yöntem net bir arayüz sunar ve fazla geniş kapsamlı kural oluşturma riskini azaltır. Yöneticiler için PowerShell daha hızlıdır ve otomasyona daha uygundur.
Yalnızca ihtiyacınız olan portları açın, kuralları doğru ağ profiliyle sınırlandırın, açıklayıcı kural adları kullanın ve dinleyen portları düzenli olarak netstat, PowerShell veya Kaynak İzleyicisi ile kontrol edin. Bir hizmet internetten erişilebilir olacaksa güvenliğini dikkatle sağlayın ve SMB veya Uzak Masaüstü gibi hassas portları ek koruma olmadan açmaktan kaçının.