Пишу плохой, неудобочитаемый код... Мне очень стыдно:

ip = (struct ip*)packet;
fprintf(stderr,"\n%s",inet_ntoa(ip->ip_src));
fprintf(stderr,">%s",inet_ntoa(ip->ip_dst));
if(ip->ip_p==IPPROTO_TCP){
ip_tcp=ip;
fprintf(stderr,"[%u:",htons(ip_tcp->tcph.th_sport));
fprintf(stderr,"%u]",htons(ip_tcp->tcph.th_dport));
fprintf(stderr," %x",ip->ip_dst);
}
if(ip->ip_p==IPPROTO_UDP){
ip_udp=ip;
}

if(ip->ip_p==IPPROTO_TCP){
nport=htons(ip_tcp->tcph.th_dport);
}
if(ip->ip_p==IPPROTO_UDP){
nport=htons(ip_udp->udph.uh_dport);
}

/*
// find_ipu
i_ipu=0;
flag_find_ipu=false;
do{
if(ipu[i_ipu].ttl>0){
if((ipu[i_ipu].port==(unsigned int)nport)&&(ipu[i_ipu].proto==(unsigned int)ip->ip_p)&&(ipu[i_ipu].ip==(unsigned long)ip->ip_dst){
printf("-find-");
}
ipu[i_ipu].ttl--;
};
i_ipu++;

 



Rambler's Top100 This page is powered by Blogger. Isn't yours?