Во-первых это не снифер.... ВЕРНЕЕ это не совсем снифер!
(Отгадай какие пакеты он не будет выводить? Ответ внизу

)
Во вторых НЕПОХЕК(z0mbie код давать с кривой вставкой 8))) ГЛАЗ РЕЖЕТ)!!! множественные сравнения!
Код:
if(hdr->iph_protocol == IPPROTO_TCP) printf("TCP ");
if(hdr->iph_protocol == IPPROTO_UDP) printf("UDP ");
if(hdr->iph_protocol == IPPROTO_IP) printf("IP ");
if(hdr->iph_protocol == IPPROTO_ICMP) printf("ICMP ");
if(hdr->iph_protocol == IPPROTO_IGMP) printf("IGMP ");
if(hdr->iph_protocol == IPPROTO_GGP) printf("GGP ");
if(hdr->iph_protocol == IPPROTO_PUP) printf("PUP ");
if(hdr->iph_protocol == IPPROTO_IDP) printf("IDP ");
if(hdr->iph_protocol == IPPROTO_ND) printf("ND ");
if(hdr->iph_protocol == IPPROTO_ICLFXBM) printf("ICLFXBM");
if(hdr->iph_protocol == IPPROTO_ICMPV6) printf("ICMPV6");
if(hdr->iph_protocol == IPPROTO_IPV6) printf("IPv6");
if(hdr->iph_protocol == IPPROTO_RAW) printf("RAW ");
if(hdr->iph_protocol == IPPROTO_MAX) printf("MAX ");
ХЭК! Если хочешь не пятерку лабу сдать!
Код:
switch(hdr->iph_protocol)
{
case IPPROTO_TCP: printf("TCP "); break;
.........
case IPPROTO_MAX: printf("MAX "); break;
default: printf("UNKNOWN ");
}
В третьих ты упустил мааааааааленький параметр ПОРТ!
Давай угодаю с одного раза .....попробовал но выводится лажа? (порядок байтов - великая сила!)
Ответ... такие програмульки не выводят трафик портов обработчики которых ОТСУТСТВУЮТ!
да и файрволы блокируют в 50-ти случаях из 100 (в зависимости от сетевухи ) исходящий трафик, та же ситуация наблюдается и с мопедами даже в отсутствии файерволофффф!
НО ДЛЯ ЛАБЫ СОЙДЕТ!