# Port tarayıcı
Port tarayıcı, açık portlar için bir sunucuyu veya ana bilgisayarı araştırmak için tasarlanmış bir uygulamadır. Bu tür bir uygulama, yöneticiler tarafından bilgisayar ağlarının güvenlik politikalarını doğrulamak ve saldırganlar tarafından bir ana bilgisayar üzerinde çalışan ağ hizmetlerini tanımlamak ve güvenlik açıklarından yararlanmak için kullanılabilir.
Bir port taraması veya portscan aktif port bulma amacıyla, bir ana bilgisayardaki bir dizi sunucu bağlantı noktası adreslerine istemci istekleri gönderilme işlemidir; bu, kendi başına kötü bir işlem değildir. Bir port taramasının kullanımının büyük çoğunluğu saldırı için değildir, aksine servislerin uzak makinede uygunluğunu kontrol etme amaçlı küçük araştırmalardır.
Portsweep(Bağlantı noktası taraması), birden fazla ana bilgisayarı belirli bir dinleme bağlantı noktası için taramaktır. Sonuncusu, tipik olarak spesifik bir servisi aramak için kullanılır, örneğin, bir SQL tabanlı bilgisayar solucanı, 1433 numaralı TCP bağlantı noktasını dinleyen ana bilgisayarları aramayı düşünebilir.


## TCP / IP temelleri.
İnternetin tasarlanması ve işletilmesi, genellikle TCP / IP olarak da adlandırılan İnternet İletişim Kuralları Dizisine dayanmaktadır. Bu sistemde, ağ servislerine iki bileşen kullanılarak referans verilir. Bunlar: ana bilgisayar adresi ve bir bağlantı noktası numarasıdır. 65.536 adet birbirinden farklı ve kullanılabilir port numarası vardır. Servislerin çoğu sınırlı sayıda port numarası kullanır.
Bazı port tarayıcıları, belirli bir ana bilgisayarda yalnızca en yaygın bağlantı noktası numaralarını veya güvenlik açığı bulunan hizmetlerle en sık ilişkili olan bağlantı noktalarını tarar.
Bir bağlantı noktasındaki taramanın sonucu genellikle üç kategoriden birine genellenir:
  - "Açık" veya "Kabul Edildi" : Ana bilgisayar, bir servisin bağlantı noktasını dinlediğini belirten bir yanıt gönderdi.
  - "Kapalı" veya "Reddedildi" veya "Dinlenmedi" : Ana bilgisayar, bağlantı noktasına bağlantıların reddedileceğini belirten bir yanıt gönderdi.
  - "Filtrelendi", "Düşürüldü" veya "Engellendi" : Ev sahibinden cevap gelmedi.
Açık portlar, yöneticilerin dikkatli olması gereken iki güvenlik açığı sunar:
  - Hizmetin verilmesinden sorumlu programla ilişkili güvenlik ve kararlılık sorunları - Açık Portlar.
  - Ana bilgisayarda çalışan işletim sistemiyle ilgili güvenlik ve kararlılık sorunları - Açık veya Kapalı Portlar.
Filtrelenmiş bağlantı noktaları güvenlik açıkları sunmaz.


## Varsayımlar.
Tüm port tarama işlemleri, hedeflenen ana bilgisayarın RFC 793 - İletim Denetimi Protokolü ile uyumlu olduğu varsayımına dayanır. Her ne kadar çoğu zaman böyle olsa da bir sunucunun garip paketleri geri göndermesi veya ana bilgisayarın TCP / IP yığını RFC ile uyumlu olmadığı veya değiştirildiği durumlarda yanlış pozitifler üretme olasılığı hala vardır. Bu özellikle işletim sistemine bağımlı olan daha az yaygın tarama teknikleri için geçerlidir (örneğin, FIN taraması). Ayrıca TCP / IP yığını parmak izi yöntemi de ana bilgisayarın çalıştırdığı işletim sisteminin türünü tahmin etmek için belirli bir uyarıcıdan gelen bu farklı ağ yanıtları türlerine dayanır.


## Türleri.
### TCP taraması.
En basit port tarayıcıları işletim sisteminin ağ işlevlerini kullanır ve ve genellikle uygulanabilir bir seçenek olmadığında SYN gidilebilecek sonraki seçenektir (sonraki bölümde açıklanmaktadır). Nmap, Unix connect () sistem çağrısından sonra adlandırılan bu mod bağlantı taramasını çağırır. Eğer bağlantı açıksa işletim sistemi TCP 3 yollu el sıkışmasını tamamlar ve bağlantı noktası DoS saldırısı yapılmasını önlemek amacıyla bağlantıyı hemen kapatır. Aksi halde bir hata kodu döndürülür. Bu tarama modu sayesinde, kullanıcının özel ayrıcalıklara sahip olmasına gerek yoktur. Buna rağmen, işletim sistemi ağ fonksiyonlarını kullanmak düşük seviye kontrolünü önler, bu nedenle bu tarama türü daha az yaygındır. Bu yöntem özellikle bir "portsweep" ise, gürültülüdür: hizmetler gönderenin IP adresini kaydedebilir ve saldırı tespit sistemleri alarm verebilir.


### SYN tarama.
SYN taraması, başka bir TCP taraması türüdür. İşletim sisteminin ağ fonksiyonlarını kullanmak yerine port tarayıcısı ham IP paketlerini kendisi oluşturur ve yanıtları izler. Bu tarama türü "yarı açık tarama" olarak da bilinir. Çünkü gerçekte tam bir TCP bağlantısını asla açmaz. Port tarayıcı bir SYN paketi türetir. Hedef port açıksa, bir SYN-ACK paketi cevap olarak gönderilir. Tarayıcı ana bilgisayarı, bir RST paketi göndererek cevap verir ve el sıkışma tamamlanmadan önce bağlantıyı kapatır. Bağlantı noktası kapalı fakat bağlantı noktası filtreli değilse, hedef anında bir RST paketi ile cevap verir.
Ham ağ kullanımı birçok avantaja sahiptir: tarayıcıya gönderilen paketleri, yanıtlar için zaman aşımını ve yanıtların ayrıntılı olarak raporlanmasını kontrol eder. Günümüzde hangi taramanın hedef ana bilgisayarda daha az müdahaleci olduğu konusunda tartışmalar bulunmaktadır. Bireysel servislerin gerçekte asla bir bağlantı alamaması SYN taramasının bir avantajıdır. Buna rağmen, bazı RST ağ yığınları el sıkışma sırasında, özellikle yazıcılar gibi basit cihazlar için sorunlara sebep olabilir. Her iki şekilde de nihai bir tartışma sonucu yoktur.


### UDP taraması.
UDP taraması da olasıdır fakat bu konuda teknik sorunlar mevcuttur. UDP, bağlantısız bir protokoldür, bu nedenle TCP SYN paketine eşdeğer bir paket bu protokolde bulunmamaktadır. Buna rağmen, eğer bir UDP paketi açık olmayan bir porta gönderilirse, sistem bir ICMP portuna erişilemez mesajı ile cevap verir. Çoğu UDP port tarayıcıları bu tarama metodunu kullanır ve yanıtın yokluğu bağlantı noktasının açık olduğu sonucuna ulaşmak için kullanılır. Bununla birlikte, bir port bir güvenlik duvarı tarafından engellenirse, bu metot bağlantı noktasının açık olduğunu yanlışlıkla rapor eder. Eğer porta erişilemez mesajı engellenir ise, tüm portlar açık görünecektir. ICMP hız sınırlaması da bu metodu etkilemektedir.
Uygulama katmanı mesajı üretmeyi umarak, uygulama için spesifik UDP paketleri göndermek alternatif bir yaklaşımdır. Örneğin, eğer bir DNS sunucusu varsa 53 numaralı porta bir DNS sorgusu göndermek bir yanıtla sonuçlanacaktır. Bu metot açık portları tespit etme konusunda çok daha güvenilirdir. Bununla birlikte, uygulamaya özel bir inceleme paketinin mevcut olduğu tarama portları ile sınırlıdır. Nmap gibi bazı araçlar genellikle 20 UDP servisinden daha az problara sahipken bazı nessus gibi ticari araçlar ise 70 UDP servisine sahip olabilir. Bazı durumlarda, bir servis portu dinliyor olabilir, fakat belirli bir probe paketine cevap vermeyecek şekilde konfigüre edilmiştir.


### ACK taraması.
ACK taraması, birçok olağan dışı tarama türlerinden biridir. Bunun nedeni bir portun açık mı yoksa kapalı mı, portun filtreli mi yoksa filtre edilmemiş mi olduğunu tam olarak belirlememesidir. Bu güvenlik duvarı ve onun kural setlerinin varlığını sorgulama denemeleri için oldukça iyidir. Basit paket filtrelemesi yayınlanmış bağlantılara(ACK bit setli paketler) izin verirken, daha sofistike kararlı güvenlik duvarları olamayabilir.


### Window taraması.
Modası geçmiş yapısından dolayı window taraması portun açık veya kapalı olduğuna karar vermek için büsbütün güvensizdir. ACK taramalarıyla aynı paketleri üretir, fakat paketlerin pencere alanlarının değiştirilip değiştirilmediğini kontrol eder. Paket hedefe ulaştığı zaman, eğer port noktası açıksa tasarım hatası paket için bir pencere boyutu oluşturmaya çalışır, paket gönderene geri dönmeden paketin pencere alanı 1'lerle işaretlenir. Bu uygulamayı artık desteklemeyen sistemlerde bu tarama tekniğini kullanmak, pencere alanı için 0 değerini döndürür ve açık portları kapalı olarak etiketler.


### FIN taraması.
Güvenlik duvarları genellikle yeterince kapsamlı olmayan SYN paketleri türündeki paketleri tarar ve engeller. FIN paketleri güvenlik duvarlarından değişiklik yapmadan atlayabilirler. Açık portlar FIN paketlerini görmezden gelirken kapalı portlar uygun RST paketi olan bir FIN paketine cevap verirler. TCP'nin doğasından dolayı bu tipik bir davranıştır ve bir şekilde önlenemez bir çöküştür.


### Diğer tarama türleri.
Bazı diğerlerinden daha olağan dışı tarama türleri mevcuttur. Bu tarama türleri birçok kısıtlamalara sahiptir ve yaygın olarak kullanılmamaktadırlar. Nmap bu tarama türlerinin çoğunu destekler.
  - X-mas ve Null Scan - FIN taramaya benzerdir, ama:
   - X-mas, FIN, URG ve PUSH bayrakları ile Noel ağacı gibi açık olan paketler gönderir
   - Null, TCP bayrağı belirlenmemiş bir paket gönderir
  - Protokol taraması - Hangi IP seviyesindeki protokollerinin (TCP, UDP, GRE, vb.) etkin olduğuna karar verir.
  - Vekil sunucu taraması - Bir vekil sunucu(SOCKS veya HTTP ) tarama işlemini uygulamak için bir kullanılır. Hedef, vekil sunucunun IP adresini kaynak olarak görür. Bu, bazı dosya aktarım iletişim kuralı sunucuları kullanılarak da yapılabilir.
  - Boşta tarama - Öngörülen IP ID kusurundan yararlanarak birinin IP adresini açığa vurmadan yapılan başka bir tarama yöntemi.
  - CatSCAN - Hatalı paketler için portları kontrol eder.
  - ICMP taraması - bir ana bilgisayarın yankı (ping ), ağ maskesi vb. Gibi ICMP isteklerine yanıt verip vermediğini kontrol eder.


## ISP'ler tarafından port filtreleme.
İnternet servis sağlayıcıların çoğu, müşterilerinin ev ağları dışındaki hedeflere port taraması yapma yeteneklerini sınırlandırır. Bu genellikle müşterinin kabul etmesi gereken hizmet veya kabul edilebilir kullanım politikası kapsamında belirtilmektedir. Bazı ISP'ler, önceden belirlenmiş portlara giden servis taleplerini önlemek için paket filtreleri veya şeffaf vekil sunucuları kullanırlar. Örneğin, eğer bir ISP 80 numaralı porta HTTP şeffaf vekil sunucusu sağlarsa, herhangi bir adresin port taramaları, hedef ana bilgisayarın gerçek yapılandırmasını göz önüne almayarak, port 80 ve açık olacak şekilde görünecektir.


## Etik.
Bir port taraması sırasında toplanan bilgilerin, ağ envanteri ve ağın güvenliğinin doğrulanması gibi pek çok kanuni kullanıma sahiptir. Port taraması, bununla birlikte güvenliği tehlikeye atan durumlarda da kullanılır. Çoğu istismar, port taramalarının açık portları bulmasına ve arabellek aşımı durumunu tetiklemek için spesifik veri örüntüleri gönderilmesine dayanır. Bu tarz bir davranış, hassas bir bilginin ve iş yapma yeteneğinin kaybına veya açığa çıkmasına yol açarak bir ağın güvenliğini tehlikeye atabilir.
Port taramasının neden olduğu tehdit seviyesi taramam metodunun çeşidine, tarama yapılan portun türüne, sayısına, hedeflenen ana bilgisayarın değerine ve ana bilgisayarı görüntüleyen yöneticiye göre değişiklik gösterebilir. Ama bir port taraması, genellikle bir saldırının ilk adımı olarak görünür ve bununla birlikte ana bilgisayar hakkında birçok hassas bilgiyi ortaya çıkarabilme olasılığı olduğu için ciddiye alınmaktadır. Buna rağmen, port taramasının sonrasında gerçek bir saldırının gözlemlenme olasılığı düşüktür. Port taraması vulnerability scan ile ilişkilendirildiğinde saldırı olasılığı daha yüksektir.


## Yasal etkiler.
İnternetin açık ve merkezi olmayan mimarisi nedeniyle, kanun yapıcılar internetin oluşturulmasından itibaren siber suçluların etkin uygulanmasına izin veren yasal sınırları tanımlamak için mücadele etti. Port tarama faaliyetlerini içeren davalar, ihlalleri değerlendirmede karşılaşılan zorluklara bir örnektir. Bu durumlar nadir olsa bile, çoğu zaman yasal işlem, yalnızca port taramasının gerçekleştirilmesinden ziyade zorla girme veya izinsiz erişim sağlama amacının bulunduğunu kanıtlamayı içerir:
  - 2003 yılının Haziran ayında, bir İsrailli Avi Mizrahi, İsrail makamları tarafından bilgisayar malzemelerine yetkisiz erişime kalkışma suçuyla suçlandı. Mossad'ın web sitesine port tarama yaptı. 29 Şubat 2004 tarihinde tüm suçlamalardan beraat etti. Hakim, bu tür eylemlerin pozitif bir amaçla yapıldığında eylemi yapanın cesaretinin kırılmaması gerektiğine karar verdi.
  - 17 yaşında olan Fin, büyük bir Fin bankası tarafından bilgisayar saldırısı yapmaktan suçlandı. 9 Nisan 2003 tarihinde, Finlandiya Yüksek Mahkemesi tarafından suçlanan Fin suçundan mahkûm edildi ve bankanın yaptığı adli analiz masrafları için 12.000 ABD Doları ödemesine karar verildi. 1998 yılında, kapalı ağa erişmek amacıyla banka ağını taradı, ancak amacında başarılı olamadı.
  - Aralık 1999'da, Scott Moulton FBI tarafından tutuklandı ve Georgia'nın Bilgisayar Sistemleri Koruma Yasası ve Amerika'nın Bilgisayar Sahtekarlığı ve Kötüye Kullanımı Yasası uyarınca bilgisayar girişi yapmakla suçlandı. BT servis şirketi 911 merkez güvenliğini korumak ve yükseltmek için Gürcistan'ın Cherokee Bölgesi ile günümüzde halen devam eden bir sözleşme imzaladı. Güvenliklerini kontrol etmek için Cherokee County sunucularında birkaç port taraması gerçekleştirdi ve sonunda, başka bir BT şirketi tarafından izlenen bir web sunucusunu taradı ve bir mahkemede sonuçlanan bir hileye neden oldu. 2000 yılında beraat etti ve hakim kararın ağın bütünlüğünü ve kullanılabilirliğini bozan hiçbir zararı olmadığına karar verdi.
2006'da, İngiltere Parlamentosu 1990'daki Bilgisayarın Kötüye Kullanılması Yasası'nın değiştirilmesine oy vermiştir; öyle ki, bir kişi, kursta kullanılmak üzere tasarlandığını veya uyarlandığını bilen herhangi bir makaleyi temin eden, uyarlayan, tedarik eden veya teklif eden [CMA] 'nın 1 veya 3 numaralı bölümleri altındaki suçlarla veya bunlarla bağlantılı olarak suçludur denilmiştir. Bununla birlikte, bu değişikliğin etki alanı bulanıklaştırılmış ve Güvenlik uzmanları tarafından bu şekilde eleştirilmiştir.
Almanya, Strafgesetzbuch § 202a, b, c ile de benzer bir yasaya sahiptir ve Avrupa Birliği Konseyi, daha kesin ve benzer bir yasa çıkarmayı planladıklarını belirten bir basın açıklaması yayınladı.