[so2] Hook netfilter pentru identificarea traficului unui proces

Cristian Condurache cristian.condurache at gmail.com
Sat Mar 16 17:02:24 EET 2013


Salut,

Am scris un modul de kernel care inregistreaza un hook pentru netfilter si
am o nelamurire. In interiorul hook-ului am incercat sa determin pid-ul
procesulului care va primi pachetul respectiv folosindu-ma de structura
sk_buff (mergand din sk_buff -> sock -> socket -> file -> f_owner -> pid_t
-> pid). Problema e ca, din cate am observat, campul struct sock* sk din
structura sk_buff primita ca parametru e mereu null.

Am incercat sa mut hook-ul atat pe NF_INET_PRE_ROUTING cat si pe
NF_INET_LOCAL_IN, incercat mai multe valori pentru prioritati, dar in
continuare este null. De ce este acesta null si nu e setat cu adresa
sock-ului pe care a fost primit pachetul? Cand este setat sock-ul pentru
sk_buff?

Exista alta modalitate sa determin ce proces va receptiona niste pachete
(intr-un hook sau altcumva)? Scopul meu final este sa fac logging la
traficul de retea facut de un proces anume.

Multumesc anticipat,
Cristian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20130316/fdbc7498/attachment.html>


More information about the so2 mailing list