IPv4 헤더의 옵션 필드 제외, 20 바이트의 헤더 이후에 데이터가옵니다. 그 데이터는 TCP 패킷이나 UDP 등일 수 있습니다.IPv4 패킷의 데이터 유형 찾기
이제 IPv4 패킷 (헤더와 데이터 포함), 데이터에 어떤 유형의 전송 계층 패킷 (TCP/UDP/etc.)이 있는지 확인하는 방법은 무엇입니까? 사실 나는 이것을 이해할 필요가 있기 때문에 IPv4 패킷을 파싱하고있다.
IPv4 헤더의 옵션 필드 제외, 20 바이트의 헤더 이후에 데이터가옵니다. 그 데이터는 TCP 패킷이나 UDP 등일 수 있습니다.IPv4 패킷의 데이터 유형 찾기
이제 IPv4 패킷 (헤더와 데이터 포함), 데이터에 어떤 유형의 전송 계층 패킷 (TCP/UDP/etc.)이 있는지 확인하는 방법은 무엇입니까? 사실 나는 이것을 이해할 필요가 있기 때문에 IPv4 패킷을 파싱하고있다.
IPv4 헤더의 프로토콜 필드 (RFC791 참조) 당신을 말할 것이다 :
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
프로토콜 번호는 IANA에 의해 할당하고 다음과 같습니다 :
http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml
몇 가지 예를 들어 프로토콜을 숫자는 다음과 같습니다 :
1 ICMP
6 TCP
17 UDP
사실 나는 방금 알아 냈습니다. IPv4의 eader에는 protocol이라는 필드가 있습니다. 이 경우 프로토콜이 지정됩니다. 어쨌든, 나는 새로운 도서관을 알게되었다. – avd