NBO, PCAP 기초

리냥·2022년 10월 10일
0

NBO, PCAP 기초

  1. NBO [Network - byte - Ordering]
  • NBO는 시스템이 내부적으로 데이터를 표현하는 방법을 의미한다.

  • 크게 두가지 방법으로 나뉘는데 Big-Endian과 Little-Endian으로 나뉜다.

  • Big-Endian: 상위 바이트의 값이 메모리상에 먼저 표시되는 방법(번지수가 작은 위치에)

  • Little-Endian: 하위 비트의 값이 메모리상에 먼저 표시되는 방법.

  • 시스템이 내부적으로 데이터를 처리하는데 있어서 Big-Endian 또는 Little-Endian을 쓰느냐는 시스템의 CPU에 따라 달라진다.

  • 따라서 서로 다른 CPU를 장착하고 있는 호스트들이 데이터를 주고 받을 경우 문제가 발생할 수 있다.

  • 네트워크를 통해 데이터를 전송할 때는 통일된 방식을 이용해 데이터를 전송하기로 약속을 하였는데, 이것이 바로 NBO이다.

  • 네트워크 바이트 순서는 Big-Endian 방식만을 사용하기로 약속되어 있다.

  1. 바이트 순서 변환을 해주는 함수
  • htons

  • ntohs

  • htonl

  • ntohl

  • htonl이란 h to n 이므로 Host Byte 순서를 Network Byte 순서로 바꾸어 준다는 의미이다. 또한 뒤에 붙은 l은 long 타입을 의미한다. 따라서 32비트 데이터를 호스트 바이트 순서에서 네트워크 바이트 순서로 바꿔주는 함수이다. 일반적으로 뒤에 s(shot)가 붙은 함수는 s가 2바이트 데이터를 의미하므로 Port 정보의 바이트 순서를 변경하는데 사용하고,l(long)이 붙은 함수는 l이 4바이트를 의미하므로 IP 주소의 바이트 순서를 변경하는데 사용하게 된다.

  1. PCAP
  • 와이어샤크처럼 패킷을 캡쳐해서 관리하기 위한 라이브러리

profile
안녕하세요. 일로 인해 잠시 쉽니다 :)

0개의 댓글