libpcap 부분 중 ip fragment offset 부분에 대해서 궁금증이 있어서 글을 올립니다
안녕하세요
현재 제가 udp teardrop 공격 패턴 분석 중에 있는데요
제가 구성한 네트워크 단에서 공격자 호스트, 피해자 호스트 네트웍을 구성하였습니다.
그런데 제가 궁금한점은
packet이 들어올때 순서 번호 즉, 재조합시 사용되는 패킷들의 순서를 어떻게 봐야되는지 모르겠습니다.
이 소스들은 제가 짠 소스 인데,,,,, 여기서 어떻게 해야될지 모르겟습니다...
도와주십시오
void print_ip_header(const u_char * Buffer, int Size)
{
print_ethernet_header(Buffer , Size);
unsigned short iphdrlen;
struct iphdr *iph = (struct iphdr *)(Buffer + sizeof(struct ethhdr) );
iphdrlen =iph->ihl*4;
memset(&source, 0, sizeof(source));
source.sin_addr.s_addr = iph->saddr;
fprintf(logfile , "\n");
fprintf(logfile , "IP Header\n");
fprintf(logfile , " |-IP Version : %d\n",(unsigned int)iph->version); fprintf(logfile , " |-IP Header Length : %d DWORDS or %d Bytes\n",(unsigned int)iph->ihl,((unsigned int)(iph->ihl))*4);
fprintf(logfile , " |-Type Of Service : %d\n",(unsigned int)iph->tos); fprintf(logfile , " |-IP Total Length : %d Bytes(Size of Packet)\n",ntohs(iph->tot_len));
fprintf(logfile , " |-Identification : %d\n",ntohs(iph->id));
//fprintf(logfile , " |-Reserved ZERO Field : %d\n",(unsigned int)iphdr->ip_reserved_zero);
//fprintf(logfile , " |-Dont Fragment Field : %d\n",(unsigned int)iphdr->ip_dont_fragment);
//fprintf(logfile , " |-More Fragment Field : %d\n",(unsigned int)iphdr->ip_more_fragment);
fprintf(logfile , " |-TTL : %d\n",(unsigned int)iph->ttl);
fprintf(logfile , " |-Protocol : %d\n",(unsigned int)iph->protocol);
fprintf(logfile , " |-Checksum : %d\n",ntohs(iph->check));
fprintf(logfile , " |-Source IP : %s\n" , inet_ntoa(source.sin_addr) ); fprintf(logfile , " |-Destination IP : %s\n" , inet_ntoa(dest.sin_addr) );
}
댓글 달기