Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

네트워크 보안 기말고사 정리 본문

2-2/네트워크 보안

네트워크 보안 기말고사 정리

김브래 2023. 12. 6. 22:25

SOCKADDR_IN 구조체

멤버

 

sin_family:
타입: short
주소 체계를 지정합니다. 대부분의 경우 AF_INET을 사용하며, IPv4 주소 체계를 나타냅니다.

sin_port:
타입: unsigned short
포트 번호를 지정합니다. 네트워크 연결에서 어떤 프로세스와 통신할지를 식별하는 데 사용됩니다.


sin_addr:
타입: struct in_addr
IP 주소를 저장하는 구조체입니다. struct in_addr는 다시 s_addr이라는 unsigned long 형 멤버를 포함하고 있습니다.


sin_zero:
타입: char[8]
구조체의 크기를 맞추기 위한 더미 데이터입니다. 현재는 주로 사용되지 않지만, 예전에는 구조체 크기를 맞추기 위해 필요했습니다.

주소변환 관련 함수

주소체계 변환

 

함수: inet_addr()
• Dotted-Decimal Notation을 Big-Endian의 32비트 정수형 데이터로 변환하는 함수

 

함수: inet_network()
• Dotted-Decimal Notation을 호스트 데이터 형태의 32비트 정수형 데이터로 변환하는 함수
• 네트워크 사용을 위해서는 htonl() 함수 호출이 필요

 

함수: inet_aton()
• Dotted-Decimal Notation(문자열)을 32비트형 네트워크 주소(정수형)로 변환하는 함수
• inet_addr()과 유사하나, 두 번째 인자가 출력물이 됨

 

함수: inet_ntoa()
• 32비트형 네트워크 주소(정수)를 문자열 형태의 주소형태(Dotted-Decimal Notation)로 변환
• 출력결과물의 위치는 정적 메모리(static memory)에 기록됨
• Re-entrance 문제 주의(다중 스레드 사용 시)

 

 IP 주소와 도메인명 변환

 

gethostbyname(): 도메인 명을 4바이트 정수(Big-Endian)로 변환

 

gethostbyaddr(): 4바이트 정수(Big-Endian)를 도메인 명으로 변환

 

inet_ntoa(): 32비트 2진수로 된 주소값을 “.”이 있는 십진수 문자열(Dotted-Decimal Notation)로 변환

 

inet_addr(): “.”이 있는 십진수 문자열 변수를 4바이트 정수(Big-Endian)로 변환

 

소캣함수

TCP 데이터 수신

 

함수: recv()

 

TCP 데이터 송신

 

함수 : send()

소켓 생성 함수

 

함수 : socket()

TCP Connect 함수

멀티플렉싱을 위한 함수

Select 기법

 

함수: FD_ZERO()
• 변수의 모든 비트를 0으로 설정

 

함수: FD_SET()
• 해당 FD 오프셋의 값을 1로 설정

 

함수: FD_CLR()
• 해당 FD 오프셋의 값을 0으로 설정

 

Poll 기법

 

함수: poll()

 

구조체: struct pollfd

네트워크 시험 툴

명령어: nc {-options} [hostname] [port]

할당(Binding) 시점

TCP : 
• connect() 또는 bind() 함수 호출 시 바인딩
UDP : 
• sendto() 또는 bind() 함수 호출 시 바인딩