---
title: 'Bağlantı Noktası Tarama'
source: 'https://academia.sh/tr/kurslar/sizma-testi/baglanti-noktasi-tarama'
course: 'Güvenlik Araçları ve Sızma Testi'
language: tr
updated: '2026-08-17T18:08:41+00:00'
license: 'CC BY-SA 4.0'
---

# Bağlantı Noktası Tarama

Tarama türlerini iz ekseninde karşılaştırmak: 96 noktalık uzayda 23 açık noktanın türlere göre %78,3 ile %0 arasında kesinlikle ayrılması, tek yönlü sondanın 21 belirsiz aday ve 3 yanlış pozitif üretmesi, kanıt başına izin 3,13 ile 8,00 kayıt arasında değişmesi, aynı türün yavaşlatıldığında aynı 18 kanıtı aynı 72 kayıtla ama 2 yerine 0 uyarıyla üretmesi ve %91,3 kapsamanın iki türün birleşimini gerektirmesi.

Üç ders sonunda dışarıdan görünen ad listesi hazırdır, ama bir ad bir varlık değildir. Bir kayıt
bir hedefe çözümlenir; o hedefte hiçbir bağlantı kabul edilmiyor da olabilir, üç servis birden
sunuluyor da. İkisi kayıt düzeyinde aynı görünür. Bu ders farkı sınayan adımı ele alır ve önceki
üçünden ayrıldığı nokta şudur: hedefe **doğrudan** ve **çok sayıda** istek gider.

Bu yüzden ölçünün ağırlığı da değişir. Buraya kadar biriken iz 136 kayıt ve 5 uyarıydı. Bu derste
tek bir tarama türü tek başına o sayının yarısını aşabilir. Karşılaştırma bu eksende yapılır: her
tür kaç açık noktayı kesin ayırıyor, kaçını belirsiz bırakıyor, kaçını kaçırıyor ve savunmada kaç
kayıt ile kaç uyarı üretiyor. Bu adım yalnız yazılı yetkinin ve kapsam tanımının kapsadığı uçlarda
yapılabilir; kapsam dışı bir uca gönderilen tek bir istek bile yetkiyi geçersiz kılar.

## Türü Tanımlayan Şey Ayırdığı Durumdur

Tarama türleri burada araç, komut ya da seçenek olarak değil, **ayırma gücü** olarak anılır. Bir
türü belirleyen şey hangi nokta durumunu kesin ayırdığı, hangisini belirsiz bıraktığıdır.

**KS10:** tarama uzayı uç başına 9 bağlantılı ve 3 bağlantısız noktadır; yaygın nokta listesi uç
başına 4 noktadır. Bir nokta `acik`, `suzulmus` ya da `kapali` durumundadır. **KS11:** bir tür,
uzayının hangi durumunu **kesin** ayırdığı ve hangisini **belirsiz** bıraktığıyla tanımlanır;
belirsiz kalan noktalardan gerçekte açık olmayanlar yanlış pozitiftir. **KS12:** iz üç kalemdir —
her deneme bir ağ kaydı, bağlantısı tamamlanan her açık nokta bir uygulama kaydı, uyarı ise hız
eşiğinden ve uygulama kaydının varlığından çıkar.

```js
// kesif/nokta.mjs — kurgu sekiz ucun baglanti noktasi durumu ve bes tarama turu (model): gercek
// ana makine, gercek adres ve gercek servis yok. Arac adi, komut ve bayrak dizisi de yok:
// tarama turleri yalniz "hangi durumu kesin ayirir, hangisini belirsiz birakir" ile tanimlanir.

// KS10: tarama uzayi uc basina 9 baglantili (bl) ve 3 baglantisiz (bz) noktadir; yaygin nokta
// listesi uc basina 4 noktadir. Asagida yalniz kapali olmayan noktalar yazilir, gerisi kapalidir.
// "yanit", baglantisiz noktanin sondaya karsilik verip vermedigini soyler.
export const UC = ["abone", "saha", "vpn", "toplayici", "rapor", "ortak", "izleme", "gunluk"];
export const UZAY = { bl: UC.length * 9, bz: UC.length * 3, yaygin: UC.length * 4 };

export const NOKTA = `
  abone      n1 bl acik      1 -
  abone      n2 bl acik      1 -
  abone      n3 bl acik      0 -
  abone      n4 bl suzulmus  1 -
  saha       n1 bl acik      1 -
  saha       n5 bl acik      0 -
  saha       n6 bl acik      1 -
  saha       b1 bz acik      1 evet
  vpn        n1 bl suzulmus  1 -
  vpn        n6 bl acik      1 -
  vpn        b2 bz acik      0 hayir
  toplayici  n6 bl acik      1 -
  toplayici  n7 bl acik      0 -
  toplayici  n8 bl acik      0 -
  toplayici  b1 bz acik      1 evet
  rapor      n1 bl acik      1 -
  rapor      n6 bl acik      1 -
  rapor      n9 bl suzulmus  0 -
  ortak      n1 bl acik      1 -
  ortak      n3 bl acik      0 -
  izleme     n1 bl acik      1 -
  izleme     n7 bl acik      0 -
  izleme     b1 bz acik      1 evet
  gunluk     n1 bl acik      1 -
  gunluk     n5 bl acik      0 -
  gunluk     b3 bz acik      1 hayir`
  .trim().split("\n").map((r) => {
    const [uc, no, prot, durum, yaygin, yanit] = r.trim().split(/\s+/);
    return { uc, no, prot, durum, yaygin: +yaygin, yanit };
  });

export const ACIK = NOKTA.filter((n) => n.durum === "acik");
const acik = (n) => n.durum === "acik";
const yanitli = (n) => n.durum === "acik" && n.yanit === "evet";

// KS11: bir tarama turu, uzayinin hangi durumunu kesin ayirdigi ve hangisini belirsiz biraktigi
// ile tanimlanir. "birim" bir denemenin kurgu sure birimi, "uyg" ise baglantinin tamamlanip
// uygulama katmaninda kayit birakip birakmadigidir.
export const TUR = [
  { ad: "tam baglanti", uzay: "bl", birim: 3, uyg: 1, kesin: acik, belirsiz: () => false },
  { ad: "yarim baglanti", uzay: "bl", birim: 1, uyg: 0, kesin: acik, belirsiz: () => false },
  { ad: "tek yonlu sonda", uzay: "bl", birim: 1, uyg: 0, kesin: () => false,
    belirsiz: (n) => n.durum !== "kapali" },
  { ad: "baglantisiz protokol", uzay: "bz", birim: 5, uyg: 0, kesin: yanitli,
    belirsiz: (n) => acik(n) && !yanitli(n) },
  { ad: "sinirli liste", uzay: "yaygin", birim: 3, uyg: 1, kesin: acik,
    belirsiz: () => false },
  { ad: "yarim baglanti (yavas)", uzay: "bl", birim: 10, uyg: 0, kesin: acik,
    belirsiz: () => false },
];

export const kapsamda = (t, n) =>
  t.uzay === "yaygin" ? n.yaygin === 1 : n.prot === t.uzay;

// KS12: iz uc kalemdir — her deneme bir ag kaydi, baglantisi tamamlanan her acik nokta bir
// uygulama kaydi, uyari ise hiz esiginden ve uygulama kaydinin varligindan cikar.
export const olc = (t) => {
  const gorulen = NOKTA.filter((n) => kapsamda(t, n));
  const kesin = gorulen.filter((n) => t.kesin(n));
  const belirsiz = gorulen.filter((n) => t.belirsiz(n));
  const deneme = UZAY[t.uzay];
  const sure = deneme * t.birim;
  const hiz = deneme / sure;
  const agKayit = deneme;
  const uygKayit = t.uyg * kesin.length;
  const uyari = (hiz > 0.5 ? 2 : hiz > 0.25 ? 1 : 0) + (uygKayit > 0 ? 1 : 0);
  return { t, deneme, kesin, belirsiz, sure, hiz, agKayit, uygKayit,
    kayit: agKayit + uygKayit, uyari,
    yanlisP: belirsiz.filter((n) => n.durum !== "acik").length,
    kacirilan: ACIK.length - kesin.length - belirsiz.filter(acik).length };
};
```

```js
// kesif/tarama.mjs — tarama turleri iz ekseninde: kac aday, kac kacan, kac kayit, kac uyari.
import { NOKTA, ACIK, TUR, UZAY, olc } from "./nokta.mjs";

const yaz = (g, ...s) => console.log(s.map((v, i) =>
  (g[i] < 0 ? String(v).padEnd(-g[i]) : String(v).padStart(g[i]))).join(""));
const O = TUR.map(olc);

console.log(`${UZAY.bl} baglantili + ${UZAY.bz} baglantisiz nokta uzayi, ` +
  `${NOKTA.length} kapali olmayan nokta: ${ACIK.length} acik, ` +
  `${NOKTA.filter((n) => n.durum === "suzulmus").length} suzulmus`);

const A = [-23, 8, 8, 10, 9, 11, 10];
console.log("\n1. tur basina bulunan ve kacan");
yaz(A, "tarama turu", "deneme", "kesin", "belirsiz", "yanlisP", "kacirilan", "kapsama %");
for (const o of O)
  yaz(A, o.t.ad, o.deneme, o.kesin.length, o.belirsiz.length, o.yanlisP, o.kacirilan,
    ((o.kesin.length / ACIK.length) * 100).toFixed(1));

const B = [-23, 9, 10, 8, 8, 8, 7];
console.log("\n2. savunmada biraktigi iz");
yaz(B, "tarama turu", "ag kaydi", "uyg kaydi", "kayit", "sure", "hiz", "uyari");
for (const o of O)
  yaz(B, o.t.ad, o.agKayit, o.uygKayit, o.kayit, o.sure, o.hiz.toFixed(2), o.uyari);

const C = [-23, 12, 12, 12];
console.log("\n3. kanit basina bedel");
yaz(C, "tarama turu", "kayit/kesin", "sure/kesin", "uyari/kesin");
for (const o of O) {
  const k = o.kesin.length;
  yaz(C, o.t.ad, k ? (o.kayit / k).toFixed(2) : "-", k ? (o.sure / k).toFixed(2) : "-",
    k ? (o.uyari / k).toFixed(3) : "-");
}

const D = [-45, 8, 10, 8, 8, 8];
console.log("\n4. iki turun birlesimi");
yaz(D, "birlesim", "kesin", "kapsama %", "kayit", "sure", "uyari");
const cift = [[1, 3], [4, 3], [5, 3], [0, 3]];
for (const [i, j] of cift) {
  const k = new Set([...O[i].kesin, ...O[j].kesin]).size;
  yaz(D, `${O[i].t.ad} + ${O[j].t.ad}`, k, ((k / ACIK.length) * 100).toFixed(1),
    O[i].kayit + O[j].kayit, O[i].sure + O[j].sure, O[i].uyari + O[j].uyari);
}
const y = O[5], h = O[1];
console.log(`ayni tur yavaslatildiginda: kesin ${h.kesin.length} -> ${y.kesin.length}, ` +
  `kayit ${h.kayit} -> ${y.kayit}, sure ${h.sure} -> ${y.sure}, ` +
  `uyari ${h.uyari} -> ${y.uyari}`);
```

```
72 baglantili + 24 baglantisiz nokta uzayi, 26 kapali olmayan nokta: 23 acik, 3 suzulmus

1. tur basina bulunan ve kacan
tarama turu              deneme   kesin  belirsiz  yanlisP  kacirilan kapsama %
tam baglanti                 72      18         0        0          5      78.3
yarim baglanti               72      18         0        0          5      78.3
tek yonlu sonda              72       0        21        3          5       0.0
baglantisiz protokol         24       3         2        0         18      13.0
sinirli liste                32      15         0        0          8      65.2
yarim baglanti (yavas)       72      18         0        0          5      78.3

2. savunmada biraktigi iz
tarama turu             ag kaydi uyg kaydi   kayit    sure     hiz  uyari
tam baglanti                  72        18      90     216    0.33      2
yarim baglanti                72         0      72      72    1.00      2
tek yonlu sonda               72         0      72      72    1.00      2
baglantisiz protokol          24         0      24     120    0.20      0
sinirli liste                 32        15      47      96    0.33      2
yarim baglanti (yavas)        72         0      72     720    0.10      0

3. kanit basina bedel
tarama turu             kayit/kesin  sure/kesin uyari/kesin
tam baglanti                   5.00       12.00       0.111
yarim baglanti                 4.00        4.00       0.111
tek yonlu sonda                   -           -           -
baglantisiz protokol           8.00       40.00       0.000
sinirli liste                  3.13        6.40       0.133
yarim baglanti (yavas)         4.00       40.00       0.000

4. iki turun birlesimi
birlesim                                        kesin kapsama %   kayit    sure   uyari
yarim baglanti + baglantisiz protokol              21      91.3      96     192       2
sinirli liste + baglantisiz protokol               15      65.2      71     216       2
yarim baglanti (yavas) + baglantisiz protokol      21      91.3      96     840       0
tam baglanti + baglantisiz protokol                21      91.3     114     336       2
ayni tur yavaslatildiginda: kesin 18 -> 18, kayit 72 -> 72, sure 72 -> 720, uyari 2 -> 0
```

Sayılar **ölçüm** sınıfındadır; girdileri KS10–KS12'dir.

## Sıfır Kesin, Yirmi Bir Belirsiz

Birinci tablonun en dikkat çekici satırı üçüncüsüdür. Tek yönlü sonda 72 deneme yapar ve **hiçbir
noktayı kesin ayıramaz**: kapsaması %0'dır. Bunun yerine 21 belirsiz aday üretir. Nedeni türün
tanımındadır — bu türde yanıt gelmemesi hem açık hem süzülmüş nokta için aynı sonuçtur, ikisi
ayrılamaz. Üretilen 21 adayın **3'ü yanlış pozitiftir**; süzülmüş üç nokta açık olanlarla aynı
listede durur.

Bu satır bu kursun ölçü biriminin en yalın örneğidir. "Tarama yirmi bir açık nokta buldu" cümlesi
bu türde yanlıştır: yirmi bir **aday** bulunmuştur, sıfır kanıt. Aradaki farkı kapatmak için her
adayın ayrı bir adımla doğrulanması gerekir ve o adımların izi bu tabloda hiç yoktur.

Öteki uçta tam ve yarım bağlantı türleri 18 noktayı kesin ayırır, hiç belirsiz bırakmaz ve
kapsamaları **%78,3**'tür. Kaçırdıkları beş nokta bağlantısız protokoldedir: bağlantılı uzayı
tarayan bir tür, bağlantısız uzaydaki hiçbir noktayı göremez. Sınırlı liste 32 denemeyle 15 nokta
bulur (%65,2) ve 8 nokta kaçırır — kaçırdıkları yaygın liste dışındaki noktalardır ve tam olarak
onlar bir değerlendirmede en ilgi çekici olanlardır.

## Aynı Kanıt, Farklı İz

İkinci tablo iz sütununu açar. Tam ve yarım bağlantı aynı 18 kanıtı üretir, ama tam bağlantı **90
kayıt**, yarım bağlantı **72 kayıt** bırakır. Fark uygulama kaydındadır: tam bağlantı her açık
noktada bağlantıyı tamamlar ve o noktadaki uygulama bir satır yazar. Yarım bağlantı bağlantıyı
tamamlamaz; ağ katmanında 72 satır kalır, uygulama katmanında hiç.

Bu ayrım mavi takım açısından iki kaydın **değerini** de belirler. Ağ kaydı yalnız bir denemenin
yapıldığını söyler; uygulama kaydı hangi uçta hangi noktaya kimin bağlandığını, çoğu zaman bir
kimlik ya da bir istek satırıyla birlikte söyler. Tarama tarafında "daha az iz" diye seçilen tür,
savunma tarafında **daha az bilgi taşıyan iz** anlamına gelir.

Üçüncü tablo bedeli kanıt başına verir. Sınırlı liste kanıt başına **3,13 kayıt** ile en ucuz
türdür, ama sekiz noktayı hiç görmez. Bağlantısız protokol taraması kanıt başına **8,00 kayıt** ve
**40,00 süre** birimi harcar; en pahalı türdür ve karşılığında yalnız 3 kanıt verir. Ucuzluk
sıralaması ile kapsama sıralaması bu tabloda **birbirinin tersidir**.

## Hız ile İz Arasındaki Denge

İkinci tablonun son satırı bu dersin ana sonucudur. Yarım bağlantı türü on kat yavaşlatıldığında
**kesin bulunan 18'de kalır, kayıt 72'de kalır, uyarı 2'den 0'a düşer**. Süre 72'den 720'ye çıkar.

Yani hız ile iz arasındaki ilişki doğrudan değildir. Yavaşlatmak savunmanın gördüğü **kayıt
sayısını hiç azaltmaz**; azalttığı şey o kayıtların bir eşiği aşıp uyarıya dönüşmesidir. Aynı 72
satır iki koşumda da günlüğe yazılır; birinde bir dakikaya sığdığı için hız kuralını tetikler,
ötekinde on kat geniş bir aralığa yayıldığı için tetiklemez.

Savunma tarafının çıkarımı buradan doğrudan okunur: **hız eşiğine dayanan bir tespit, yavaş
taramayı hiçbir zaman görmez**. Yavaş taramayı görmenin yolu, aynı kaynaktan gelen denemelerin
geniş bir pencerede biriktirilmesi ve eşiğin hıza değil **yayılıma** — kaç ayrı uca ve kaç ayrı
noktaya dokunulduğuna — bağlanmasıdır. Bu koşumda her iki tür de 8 uca ve 72 noktaya dokunur;
yayılım her iki koşumda da aynıdır.

Üçüncü tablonun `uyari/kesin` sütunu aynı şeyi ters yönden yazar. Yavaş yarım bağlantı ile
bağlantısız protokol taraması **0,000** uyarı üretir; tam ve yarım bağlantı 0,111, sınırlı liste
0,133. En çok uyarı üreten tür, en az deneme yapan türdür — çünkü uyarı deneme sayısına değil,
denemenin **yoğunluğuna ve katmanına** bağlıdır.

## Yirmi Üç Noktanın Yirmi Biri

Dördüncü tablo tek türle yetinilemeyeceğini gösterir. Yirmi üç açık noktanın en yüksek tek tür
kapsaması %78,3'tür; **%91,3'e** çıkmak bağlantılı ve bağlantısız uzayı ayrı ayrı tarayan iki
türün birleşimini gerektirir. Kalan iki nokta hiçbir birleşimle bulunmaz: bağlantısız uzayda
sondaya karşılık vermeyen iki açık nokta, bu türlerin hiçbirinde kesin sonuca bağlanamaz.

Birleşimlerin bedeli farklıdır. Yarım bağlantı ile bağlantısız protokol 21 kanıt için 96 kayıt,
192 süre ve 2 uyarı harcar. Aynı kanıt tam bağlantıyla alındığında kayıt 114'e, süre 336'ya
çıkar; uyarı yine 2'dir. Yavaş yarım bağlantıyla alındığında kayıt yine 96, süre **840** ve uyarı
**0**'dır. Üç seçenek aynı 21 kanıtı verir; aralarındaki fark yalnız bedelde ve izdedir.

## Özet

- Tarama türünü belirleyen şey ayırdığı durumdur: 96 noktalık uzayda 23 açık nokta için
  kapsamalar %78,3, %78,3, %0, %13,0 ve %65,2'dir.
- Tek yönlü sonda hiçbir noktayı kesin ayıramaz; 21 belirsiz aday üretir ve bunların 3'ü yanlış
  pozitiftir — bu tür aday üretir, kanıt üretmez.
- Aynı 18 kanıt tam bağlantıyla 90, yarım bağlantıyla 72 kayıt bırakır; fark uygulama
  katmanındadır ve uygulama kaydı savunma tarafında daha çok bilgi taşır.
- Kanıt başına bedel 3,13 ile 8,00 kayıt arasında değişir; en ucuz tür 8 noktayı hiç görmez, en
  pahalı tür yalnız 3 kanıt verir.
- Aynı tür on kat yavaşlatıldığında kanıt 18'de, kayıt 72'de kalır ve uyarı 2'den 0'a düşer:
  yavaşlamak izi silmez, izin eşiği aşmasını engeller.
- Yirmi üç açık noktanın 21'ine (%91,3) ancak iki türün birleşimiyle ulaşılır; iki nokta hiçbir
  birleşimde kesin sonuca bağlanamaz.

## Sonraki Adım

Bu ders bir noktanın **açık** olduğunu kesin olarak ayırdı: 21 nokta kanıt düzeyinde işaretlendi.
Ne var ki bir noktanın açık olması, orada ne çalıştığını söylemez. Yirmi bir açık noktanın her biri
şu an yalnız bir sayıdır; arkasındaki yazılımın ne olduğu, hangi sürümü taşıdığı ve o sürümün
bilinen bir açıkla ilişkili olup olmadığı hiç sorulmadı.

Bu soruyu soran adım parmak izi çıkarmadır ve yeni bir ölçü getirir: **kesinlik**. Bir uçtan
toplanan imzalar bir sürüm kümesine işaret eder; küme bazen tek elemanlıdır, bazen onlarca sürüm
içerir, bazen de hedefin kasten yanıltıcı bıraktığı bir tanıtım dizesi yüzünden **yanlış** kümedir.
Sonraki ders kaç adayın tek bir sürüme indirgenebildiğini, ek sondaların kesinliği ne kadar
artırıp izi ne kadar büyüttüğünü ve yanlış sürüm bilgisinin bulgu listesine kaç yanlış pozitif
taşıdığını sayar. Konunun kapanışıdır.
