[pso] Porturi si protocol

Octavian PURDILA pso@cursuri.cs.pub.ro
Mon, 31 May 2004 09:49:20 +0300 (EEST)


On Sun, 30 May 2004, Mihai Iancu wrote:

> Asa se obtin porturile
>

Si explicatiile ar fi :)

> struct iphdr *ip = skb->nh.iph
> struct tcphdr *tcp = (struct tcphdr*)((__u32*)(ip+ip->ihl))

Pachetele care intra nu ajung sa fie procesate de TCP (nivelul 4) pentru
ca le interceptati cu hook-ul de IP (nivelul 3). (la receptionarea
pachetelor, acestea se proceseaza incepand de la nivelele inferioare;
pentru mai multe informatii vezi termeni incapsulare/decapsulare de la
cursul de retele)

> ... ntohs(tcp->dest))
> ... ntohs(tcp->source)
>

Aici apar probleme de endianess. x86 foloseste little endian, in timp ce
TCP/IP foloseste big endian pentru campurile din headere.

tavi