tcp udp에 관한 질문 입니다.

wed212의 이미지

raw socket을 이용해 패킷 캡처하는 프로그램을 만들고 있습니다.

TCP는
void print_tcp_packet(unsigned char* Buffer, int Size) {
unsigned short iphdrlen;
//IP header position seek(use ethernet header size
struct iphdr *iph = (struct iphdr *)( Buffer + sizeof(struct ethhdr));
iphdrlen = iph->ihl*4;

struct tcphdr *tcph=(struct tcphdr*)(Buffer + iphdrlen + sizeof(struct ethhdr));

int header_size = sizeof(struct ethhdr) + iphdrlen + tcph->doff*4;
fprintf(file , "\n\nTCP Packet--------------------\n");

print_ip_header(Buffer,Size);
fprintf(file , "Source Port : %u\n",ntohs(tcph->source));
fprintf(file , "Destination Port : %u\n",ntohs(tcph->dest));

이런식으로 구현했습니다.
근데 UDP를 이런식으로 구현하려하는데 좀 어렵네요
어떤식으로 구현해야할까요??

shint의 이미지

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com