Chapter 2
Introduction
- 이 네트워크 보안 프로젝트의 첫 번째로, 여러분은 가장 기본적인 중간자 공격 중 하나인 주소 해결 프로토콜 스푸핑/포이즈닝 방법을 구현할 것입니다.
- 이 공격은 ARP 프로토콜이 네트워크에서 작동하고 상호 작용하는 방식에 존재하는 취약성을 이용할 수 있습니다.
Chapter 3
Goals
- 이 네트워크 보안을 소개하는 프로젝트에서는, 주소 해결 프로토콜(Address Resolution Protocol, ARP)이 무엇이며 어떻게 작동하는지에 대해 자세히 알아보게 될 것입니다. ARP는 piscine 시절에 ARP로 불리며 본 적이 있을 수 있습니다.
- 프로젝트를 통해 이 구현에는 여러 가지 취약점이 있음을 알게 될 것입니다. ARP에 대한 보호 및 대안이 존재할 수 있지만, 대부분의 경우에는 여전히 널리 사용되며 안전하지 않고 보호되지 않습니다.
- ARP 프로토콜은 복잡하지만 멋진 OSI 모델의 두 번째 계층에 속해 있습니다
Chatper 4
General Guideline
- 이 프로젝트는 인간에 의해 평가 될 것입니다. 파일을 조직화하고 이름을 지을 수 있지만, 다음 규칙을 따라야 합니다:
• 전체 프로젝트는 가상 머신에서 수행되어야 합니다.
• C 언어를 사용하고 Makefile을 제출해야 합니다.
• 프로젝트 내에서 전역 변수를 하나 사용할 수 있습니다.
• Makefile은 프로젝트를 컴파일해야 하며 일반적인 규칙을 포함해야 합니다.
• 오류를 주의 깊게 처리해야 합니다. 프로그램이 예기치 않은 방식으로 종료해서는 안 됩니다 (Segmentation fault, bus error, double free 등).
• 필수 부분에서는 다음 함수를 사용할 수 있습니다:
◦ sendto, recvfrom.
◦ socket, setsockopt.
◦ getuid, close.
◦ signal.
◦ inet_addr.
◦ gethostbyname.
◦ getaddrinfo, freeaddrinfo.
◦ getifaddrs, freeifaddrs.
◦ htons, ntohs.
◦ strerror / gai_strerror.
◦ printf 및 해당 함수들.
◦ libft 함수들.
◦ 보너스 부분을 완료하기 위해 정당한 이유로 다른 함수를 사용할 수 있습니다. 현명하게 사용하세요.
Chatper 5
Mandatory Part
- 실행 파일은 ft_malcolm이라는 이름을 가져야 합니다.
- 필수 부분에서는 단순한 IPv4 주소만 관리해야 합니다.
- 사용자가 Ctrl+C를 입력할 때 프로그램을 종료할 수 있어야 합니다.