2계층 헤더 분석
1. Version : ip version 을 나타냄
2. IHL : ip header 크기 최대 60 byte 까지 가능 ,4bit 로 표현하기 때문에 줄수만 표현한다.
3. TOS : Type of Service
4. Total Length : 1계층 헤더를 제외한 데이터의 크기
위의 2 layer 를 분석해서 출력해주는 함수 생성 (Print_IP)
static void Print_IP(byte[] bEther, int ioffest)
{
Console.WriteLine("IP_VERSION : {0} ", bEther[ioffest] >> 4);
Console.WriteLine("IHL(IP Head Length) : {0} Byte", (bEther[ioffest] & 0x0f) * 4); // bEther[ioffest] * 4 = IHL ip header 크기 -> 4bit 로 최대 60 byte 를 표현하기 위해서 4를 곱해준다.
Console.WriteLine("Type of Service : 0x{0:X02} Byte", bEther[ioffest+1]);
byte[] bType = new byte[2];
Array.Copy(bEther, ioffest+2, bType, 0, 2);
if (BitConverter.IsLittleEndian)
{
Array.Reverse(bType);
}
short sTemp = BitConverter.ToInt16(bType, 0);
Console.WriteLine("Total Length : {0} Bytes", sTemp);
}
'공부,일 > C# 네트워크' 카테고리의 다른 글
packet 분석기 만들기 (3) (0) | 2021.09.15 |
---|---|
packet 분석기 만들기 (2) HexaViewer , NIC 선택 (0) | 2021.09.10 |
packet 분석기 만들기 (1) (0) | 2021.09.10 |
20210818 네트워크 프로그래밍 채팅 프로그램 만들기 (M:M) (1) | 2021.08.18 |
1:1 채팅 만들기 socket (0) | 2021.08.17 |
댓글