OSI 7 layer
라우터
wireshark
Packet List
Packet Detail
Packet Byte
http
Frame에는 메타정보 bit stream에 있는 내용이 아니다
첫번째 과제는 파싱!
DNS
Ethenet->IP->UDP->DNS
PDU
Destination MAC address: 공유기 address
Source
앞에 3바이트는 제조업체에 따라
Ethernet Type을 보고
0800이면 IPv4
86DD이면 IPv6
fopen pcap_open
fread pcap_next_ex
fwrite pcap_sendpacket
fclose pcap_close
https://gitlab.com/gilgil/network -> wiki
/usr/include 에 header
/usr/lib에 so(dll같은거)
IP위에 UDP인 경우는 안해도됨
필드에 ether type에 0800이 맞냐 아니야로 IP
TCP가 오냐 아니냐
프로토콜헤더로 확인 6이 아니냐 이냐
데이터길이 알아내는 방법 좀 어려움
hexadecimal로 출력을 해주자
p[23]==6인지 아닌지로 짜도됨
0800인지 아닌지 p[12]==0x08&&p[13]==0x00으로 해도됨
structure pointer를 쓰는거 추천!