2009-11-25 2 views
0

IPv4 헤더의 옵션 필드 제외, 20 바이트의 헤더 이후에 데이터가옵니다. 그 데이터는 TCP 패킷이나 UDP 등일 수 있습니다.IPv4 패킷의 데이터 유형 찾기

이제 IPv4 패킷 (헤더와 데이터 포함), 데이터에 어떤 유형의 전송 계층 패킷 (TCP/UDP/etc.)이 있는지 확인하는 방법은 무엇입니까? 사실 나는 이것을 이해할 필요가 있기 때문에 IPv4 패킷을 파싱하고있다.

답변

0

딥 패킷 검사? Ipoque은이 작업의 일부 공개 소스 코드를 출시합니다 : opendpi.

+0

사실 나는 방금 알아 냈습니다. IPv4의 eader에는 protocol이라는 필드가 있습니다. 이 경우 프로토콜이 지정됩니다. 어쨌든, 나는 새로운 도서관을 알게되었다. – avd

3

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