Alma yolunu adım adım yuruyebiliriz ve IPv4 veya IPv6 yığınında bağlantı koduna doğrudan cağrı bulamayız. Conntrack, ağ yığınıyla doğrudan arayuz oluşturmaz.
Bunun yerine, Netfilter cercevesine ve yığında pişirilen kancalara dayanır:
Kod:
int ip_rcv(struct sk_buff *skb, struct net_device *dev, …)
Netfilter kullanıcıları, conntrack gibi, onunla geri aramaları kaydedebilir. Netfilter, kancası bir ağ paketini işlediğinde tum kayıtlı geri aramaları calıştırır.
INET ailesi, yani IPv4 ve IPv6 icin, aralarından secim yapabileceğiniz beş Netfilter kancası vardır:
Ayrıntılı olarak Nftables - Paket akışı ve Netfilter kancalarına dayanmaktadır , thermalcircle.de , CC BY-SA 4.0
Conntrack hangilerini kullanıyor? Buna birazdan değineceğiz.
İlk once tetiğe odaklanalım. Conntrack'in geri aramalarını Netfilter ile kaydetmesini sağlayan nedir?
SSH bağlantısı, modul yuklu olduğu icin bağlantı tablosunda gorunmuyor. Bunu zaten gorduk. Bu, conntrack'in geri aramalarını modul yukleme zamanında Netfilter ile kaydetmediği anlamına gelir.
Ya da en azından bunu varsayılan olarak yapmıyor . Linux v5.1 (Mayıs 2019) surumunden bu yana, conntrack modulu enable_hooks parametresine sahiptir , bu da conntrack'in geri aramalarını yukleme sırasında kaydetmesine neden olur:
Kod:
[vagrant@ct-vm ~]$ modinfo nf_conntrack … parm: enable_hooks:Always enable conntrack hooks (bool)
Oyuncak sanal makinemize geri donersek, conntrack modulunu enable_hooks setiyle yeniden yuklemeyi deneyelim:
Kod:
[vagrant@ct-vm ~]$ sudo rmmod nf_conntrack_netlink nf_conntrack [vagrant@ct-vm ~]$ sudo modprobe nf_conntrack enable_hooks=1 [vagrant@ct-vm ~]$ sudo conntrack -L tcp 6 431999 ESTABLISHED src=192.168.122.204 dst=192.168.122.1 sport=22 dport=34858 src=192.168.122.1 dst=192.168.122.204 sport=34858 dport=22 [ASSURED] mark=0 secctx=system_u

Guzel! Conntrack tablosu artık SSH oturumumuz icin bir giriş iceriyor.
Netfilter kancası, yığından gecen SSH oturum paketleri hakkında bağlantıya bildirimde bulundu.
Conntrack'in nasıl cağrıldığını artık bildiğimize gore sorumuza geri donebiliriz - bağlantı ile guvenlik duvarı tarafından duşen bir TCP SYN paketini gozlemleyebilir miyiz?