프로토콜별 패킷 분석 [이더넷, IP, ARP, ICMP, TCP, UDP]
-----------------------------------------------------------------------------------------------------------------------------------
이더넷
0000 : 5 5 2(프로토콜 타입)
0020-0030 : 0으로 설정 되어있고 Padding공간
-----------------------------------------------------------------------------------------------------------------------------------
IP
0000 뒤에서 2개부터
0020 앞에서 2개까지
1(헤더길이) 1 2(토탈 길이) 2(Identification) 2(프래그먼트 오프셋) 1(TTL) 1(프로토콜 타입) 2(헤더 체크섬) 4(출발지 IP) 4(목적지 IP)
-----------------------------------------------------------------------------------------------------------------------------------
ARP
2(하드웨어 타입) 2(프로토콜 타입) 1(하드웨어 크기) 1(프로토콜 크기) 2(Opcode) 6(출발지 MAC) 4(출발지IP) 6(목적지 MAC) 4(목적지IP)
하드웨어 타입 : 1(이더넷)
프로토콜 타입 : IPv4(0x0800)
Opcode : 1(request)
2(reply)
Request경우 목적지 MAC이 모두 0이다.
Reply경우 목적지 MAC이 자신의 주소이다.
-----------------------------------------------------------------------------------------------------------------------------------
ICMP
0020 앞에서 3번째부터 끝까지
1(icmp 타입) 1(code) 2(checksum) 2(식별자) 2(고유 번호) 나머지(의미없는 데이터)
icmp타입 : 8(echo request)
0(echo reply)
3(목적지 도달 불가)
code : 0 : Network Unreachable = 네트워크에 도달할 수 없음
,
-----------------------------------------------------------------------------------------------------------------------------------
TCP
0020 앞에서 3번째부터 끝까지
2(출발지 포트) 2(목적지 포트) 4(고유번호) 4(통신상대 패킷순서) 1(Flags) 1(Flags의 하위옵션) 2(윈도우 사이즈) 2(checksum) 2(긴급포인터) 1(여기서부터는 옵션) 1 2 1 1 1 1 1 1 1 1
Flags : 80(SYN)
002(SYN)
012(SYN,ACK)
010(ACK)
011(FIN,ACK)
-----------------------------------------------------------------------------------------------------------------------------------
UDP
0020 앞에서 3번째부터 8개
2(출발지 포트) 2(목적지 포트) 2(UDP 길이) 2(checksum)