
독하게 시작하는 C 프로그래밍
널널한 개발자
₩99,000
초급 / vc++, C, 컴퓨터 구조, assembly-language
4.9
(124)
취미가 아닌 전문 개발자의 길을 가려는 분들을 위한 C언어 프로그래밍 강의입니다. 쓰고 독하게 배워서 달달한 길로 가고 싶은 분들에게 권합니다!
초급
vc++, C, 컴퓨터 구조
Npcap 라이브러리를 이용해서 Wireshark 같은 패킷 분석기 프로그램 및 각종 네트워크 솔루션을 직접 개발하려는 분들을 위한 강의 입니다.
Npcap 라이브러리 사용방법
패킷 분석기 개발 방법
TCP/IP 프로토콜을 직접 구현하는 방법
외워서 끝냈던 것들에 대한 이해를 얻을 수 있는
소켓 프로그래밍을 할 수 있는 사람은 많습니다. 하지만
TCP/IP 네트워크에 대한 깊은 이해와 더불어 C/C++ 개발자로써도 일정 수준 이상의 역량을 갖춰야 하기 때문입니다. 이 강의를 통해 단순히 소켓을 사용하는 개발자가 아니라 필요하다면 소켓 시스템 그 자체를 스스로 만들 수 있는 개발자로 성장 할 수 있습니다.
패킷 수집을 위해 Wireshark이 이미 사용하고 있는 Npcap 라이브러리를 이용해 내 손으로 직접
Wireshark 같은 패킷 분석기 소프트웨어를 개발할 수 있습니다.
(※Npcap은 기존 WinPcap을 대체하는 패킷 수집 라이브러리 입니다.)
Npcap 홈페이지
널널한 개발자 YouTube 강의 (조회수 약 34만)
이례적으로 조회수 33만 8천(2024년 5월 기준)을 넘긴 네트워크 이론강의의 핵심을 C언어 코드로 옮겨 담았습니다.
이 영상이 그러했듯 이 강의를 듣기 전과 후로 네트워크에 대한 이해 수준은 완전히 달라질 수 있습니다. 추상적으로 들렸던 모든 설명이 구체적인 코드 수준에서 이해되는 놀라움을 경험해보세요.
C/C++ 기반의 패킷 분석기를
개발해야 하는 분
네트워크 패킷을 분석하고 모니터링 하기 위한 시스템을 개발해야 하는 분이 꼭 알아야 할 내용들을 핵심만 모아 간결하게 배울 수 있습니다.
특히 장애 및 이상 징후 탐지 시스템을 개발하려는 분들이 꼭 알아야 할 내용들을 다룹니다.
TCP/IP 기반 네트워크에 대해서 코드 수준의
깊은 이해를 원하는 분
개념적으로 배웠던 패킷을 코드 수준에서 직접 다뤄보고 이해 할 수 있습니다.
이를 통해 '캡슐화'의 의미를 명확 알 수 있고 나아가 인터넷을 이루는 기반 기술들을 보다 명확하게 이해할 수 있습니다.
네트워크를 사용해야 하는
IoT 장치를 개발 중인 분
IP패킷을 직접 만들고 생성해 전달하는 방법을 배울 수 있고 이를 바탕으로 센서 값을 전달하는
소형 IoT 장치를 어떻게 개발 할 수 있는지 알 수 있습니다.
IP 패킷을 분석하고 필요한 정보를 추출할 수 있는 개발역량을 갖출 수 있습니다.
각종 보안 솔루션 및 네트워크 장비를 직접 개발해야하는 분들이 반드시 알아야 할 내용들을 담았습니다.
네트워크를 직접 다뤄야 하는 MES(Manufacturing Execution System) 및 IoT 장치 개발자가 꼭 알아야 할 내용을 배울 수 있습니다.
방위산업체로 취업을 희망하는 분들이라면 꼭 알아야 할 내용들이라 할 수 있습니다.
패킷 필터링 방화벽이나 NIDS를 제작하는데 필요한 핵심 이론들에 대해 깊이 이해할 수 있습니다.
보안 업체로 취업을 희망하는 분들에게 매우 유리합니다!
TCP/IP 네트워크에 대해 개념적으로 아는 것이 아니라 코드 수준에서 구체적으로 이해할 수 있습니다.
가상환경 기반 실습 지원
네트워크 프로그래밍 특성 상 여러 컴퓨터가 필요합니다. 하지만 이 수업에서는 모든 실습 및 개발을 VMware player 및 Windows 11 VM을 이용합니다.
모든 실습 과정을 강사의 환경과 동일하게 재현하고 결과를 확인 할 수 있으며 안전성이 보장 됩니다.
Socket을 사용하지 않고 UDP 통신을 구현하거나 TCP/IP 세션을 제어하는 소프트웨어를 직접 구현합니다. 이는 소켓 시스템 그 자체를 직접 구현하는 것과 매우 유사하며 이런 실습을 통해 소켓 프로그래밍을 넘어서는 높은 이해를 얻을 수 있습니다.
IP헤더 직접 정의
L2 Ethernet frame 데이터를 직접 생성하고 NIC에 직접 전달하는 방식으로 상식적인 환경에서는 볼 수 없었던 L2 메시징 시스템을 예제로 만날 수 있습니다. 또한 각종 프로토콜 헤더를 직접 조작하는 방식으로 TCP/IP 세션에 개입하는 등 쉽게 경험할 수 없었던 상황을 직접 확인 할 수 있습니다.
Ethernet 헤더 분석 및 조작
Q. C/C++, 자료구조를 공부하고 이제 겨우 네트워크 공부를 마친 상황입니다. 수업을 따라 갈 수 있을까요?
가능하긴 하지만 소켓 프로그래밍 경험이 없다면 수업 자체를 이해하기가 어려울 수 있습니다. 아울러 Wireshark을 사용해본 경험도 있어야 합니다. 이 강의는 중급자를 위한 것이기 때문에 기초적인 설명은 하지 않습니다.
Q. 이 수업이 취업에 도움이 될까요?
네, 도움이 된다고 확실히 말씀드릴 수 있습니다. 희망 대상 기업과 분야에 따라 차이가 있겠습니다만 이 강의에서 다루는 내용과 관련된 개발자를 찾는 업체에 신입 개발자로 취업하는 경우라면 상당한 도움이 될 것입니다. 기업입장에서 확실히 초급자 수준은 아니라 판단 할 수 있기 때문입니다.
Q. 해킹 방법도 배울 수 있나요?
네, 배울 수 있습니다. 구체적인 방법을 제시하는 것은 아니지만 이 강의를 모두 끝낸 후에는 간단한 네트워크 해킹 도구를 스스로 개발 할 수 있습니다. 역설적이지만 보안과 해킹은 종이 한 장 차이라 할 수 있기 때문입니다.
운영 체제 및 버전(OS): Windows 11
사용 도구: Visual Studio 2022 Community, Npcap 1.13 SDK, VMware player 17 및 Windows 11 가상머신
PC 사양: VMware player를 이용해 Windows 11 VM 1개를 구동한 상태에서 동시에 Visual Studio를 사용할 수 있는 환경
강의에 사용된 PPT자료를 PDF로 제공
전체 예제 및 실습에 사용된 각종 pcap 파일들 제공
포인터 사용에 어려움이 없는 수준의 C언어 프로그래밍 실력
(독하게 시작하는 C 프로그래밍 수준 권장)
선형 자료구조에 대한 이해 및 C언어로 연결 리스트를 구현해본 경험 (필수)
TCP/IP 네트워크 프로토콜에 대해 알고 있다고 가정 (외워서 끝내는 네트워크 핵심이론 기초 수준)
간단한 TCP/IP 채팅 예제를 이해할 수 있을 정도의 소켓 프로그래밍 경험 (필수)
Wireshark을 사용해본 경험 (필수)
C++ 프로그래밍 (선택)
윈도우 시스템 프로그래밍 경험 (선택)
학습 대상은
누구일까요?
Wireshark 같은 분석기 프로그램을 개발하려는 분
C/C++ 기반 네트워크 솔루션을 개발하려는 분
선수 지식,
필요할까요?
C/C++ 프로그래밍 능력
선형 자료구조에 대한 이해
Visual Studio 2022를 이용해 C/C++ 개발 및 디버깅 가능
TCP/IP 소켓 프로그래밍 경험
30,167
명
수강생
1,502
개
수강평
986
개
답변
4.9
점
강의 평점
19
개
강의
널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다. 반갑습니다. ^^
전체
31개 ∙ (5시간 29분)
해당 강의에서 제공:
알고 있다고 가정하는 것들
16:40
첫 예제 실행 및 작동 구조
10:42
basic_dump 예제 분석
14:26
Pcap 파일 형식 및 읽기
05:16
IP 헤더 형식
14:55
(연습문제) 덤프 데이터 수작업 분석
13:18
IP헤더 주요 정보 출력
09:38
단편화
13:02
TCP 헤더 형식
08:57
출발지, 목적지 Port 번호 추출
03:08
플래그 추출 및 TCP 상태
09:24
채팅 프로그램 소개
11:31
세그먼트 분석과 채팅 모니터링
10:04
UDP 분석 및 Checksum 계산
15:57
HTTP 트래픽 추출
08:49
전체
14개
5.0
14개의 수강평
월 ₩15,400
5개월 할부 시
₩77,000