BEST

Network Programming That Will Change Your Life When You Understand It

This course is for those who want to develop packet analysis programs like Wireshark and various network solutions using the Npcap library.

(5.0) 18 reviews

830 students

npcap
winpcap
vc++
Network
tcpip

This course is prepared for Intermediate Learners.

  • Things Assumed Known

    16:40

  • Setting up a development environment (Wireshark, Npcap SDK)

    21:42

  • First Example Execution and Working Structure

    10:42

  • IP Header Format

    14:55

What you will learn!

  • How to use the Npcap library

  • How to develop a packet analyzer

  • How to implement the TCP/IP protocol yourself

You can gain an understanding of things you have memorized and finished.

"The final installment of the extensive developer network lecture series!"

You can understand the essence of sockets and networks!

There are many people who can do socket programming. But

"Not many people have experience implementing a socket library themselves !"

Because you need to have a deep understanding of TCP/IP networks and also have a certain level of ability as a C/C++ developer. Through this course, you can grow from a developer who simply uses sockets to a developer who can create the socket system itself if necessary.

I can develop Wireshark with my own hands!

I did it by hand using the Npcap library that Wireshark already uses for packet capture.
You can develop packet analysis software like Wireshark.
(※Npcap is a packet collection library that replaces the existing WinPcap.)


Npcap Homepage

Spacious Developer YouTube Lecture (about 340k views)

The core of the network theory lecture , which unusually had over 338,000 views (as of May 2024), has been translated into C language code.

As with this video, your level of understanding of networks can change completely before and after taking this lecture. Experience the surprise of understanding all the explanations that sounded abstract at a concrete code level .

I recommend this to these people

C/C++ based packet analyzer
People who need to develop

Anyone who needs to develop a system to analyze and monitor network packets can learn the essentials in a concise manner.

It covers essential information, especially for those who want to develop a fault and anomaly detection system .

Code level for TCP/IP based networks
For those who want a deeper understanding

You can understand the packets you learned conceptually by directly handling them at the code level .

This will help us understand the meaning of 'encapsulation' more clearly and furthermore, the underlying technologies that make up the Internet.

Need to use network
Anyone developing IoT devices

You can learn how to create and transmit IP packets directly, and transmit sensor values based on this.
Learn how to develop small IoT devices .

After class

  • You can develop development capabilities to analyze IP packets and extract necessary information .

    • This contains essential information for those who need to develop various security solutions and network equipment.

    • You will learn essential knowledge for MES (Manufacturing Execution System) and IoT device developers who have to deal directly with networks.

    • This is something that anyone hoping to get a job in the defense industry must know.

  • You will gain a deep understanding of the core theories required to create a packet filtering firewall or NIDS .

    • This is very beneficial for those who want to get a job in a security company!

  • You can understand TCP/IP networks concretely at the code level, rather than just conceptually.

Course Features

Instead of reading a PPT, the instructor writes and explains directly on the board, providing a perfect hands-on environment.

Example of content written on the board during a lecture

Explain by drawing the core structure

Rather than just reading example code or simply listing PPTs, we explain by drawing the entire structure one by one. Because of this feature, you can see the process rather than the result, and you can easily learn difficult theories.

Above all, it is easy to see the connections between the examples and structures used in the lecture.

Virtual environment-based training support

Due to the nature of network programming, multiple computers are required. However, in this class, all hands-on and development will be done using VMware player and Windows 11 VM.

All practical training courses are replicated in the instructor's environment, results can be confirmed, and safety is guaranteed.

Learn about these things

In fact, it implements TCP/IP directly.

Implement UDP communication without using Sockets or implement software to control TCP/IP sessions directly. This is very similar to implementing the socket system itself and through this practice, you can gain a deeper understanding beyond socket programming.

Define IP header directly

A messaging system like no other you've ever seen before

You can see an example of an L2 messaging system that you would not normally see in a normal environment, such as directly generating L2 Ethernet frame data and directly transmitting it to the NIC. You can also directly experience situations that you would not have easily experienced, such as intervening in a TCP/IP session by directly manipulating various protocol headers.

Ethernet header analysis and manipulation

Do you have any questions?

Q. I studied C/C++ and data structures and have just finished studying networks. Will I be able to keep up with the class?

It is possible, but if you do not have any experience with socket programming, it may be difficult to understand the course itself. You should also have experience using Wireshark. This course is for intermediate users, so it does not provide basic explanations.

Q. Will this class help me get a job?

Yes, I can definitely say that it is helpful. It will vary depending on the target company and field, but if you are looking for a new developer for a company that is looking for developers related to the content covered in this lecture, it will be of great help. Because from the company's perspective, it can be determined that you are definitely not at the beginner level.

Q. Can I also learn how to hack?

Yes, you can learn. I won't give you specific methods, but after you finish this course, you will be able to develop simple network hacking tools yourself. Ironically, security and hacking are only a sheet of paper apart.

Things to note before taking the class

Practice environment

  • Operating System and Version (OS): Windows 11

  • Tools used: Visual Studio 2022 Community, Npcap 1.13 SDK, VMware player 17 and Windows 11 virtual machine

  • PC specifications: An environment where you can run one Windows 11 VM using VMware player and use Visual Studio at the same time.

Learning Materials

  • PPT materials used in the lecture are provided in PDF format.

  • Provides various pcap files used in full examples and practice


Player Knowledge and Notes

  • C language programming skills at a level where there is no difficulty in using pointers
    (Recommended for beginners with a level of C programming)

  • Understanding of linear data structures and experience implementing linked lists in C language (required)


  • Assumes knowledge of TCP/IP network protocol (basic level of network core theory that can be memorized and finished)

  • Experience with socket programming sufficient to understand simple TCP/IP chat examples (required)

  • Experience using Wireshark (required)

  • C++ Programming (Optional)

  • Windows system programming experience (optional)

Related Lectures 📺

Recommended for
these people!

Who is this course right for?

  • Anyone who wants to develop an analysis program like Wireshark

  • Anyone who wants to develop a C/C++ based network solution

Need to know before starting?

  • C/C++ programming skills

  • Understanding linear data structures

  • C/C++ development and debugging with Visual Studio 2022

  • TCP/IP socket programming experience

Hello
This is nullnull8537

32,751

Students

1,707

Reviews

1,025

Answers

4.9

Rating

20

Courses

널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다.  반갑습니다. ^^

 

Curriculum

All

31 lectures ∙ (5hr 29min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

18 reviews

5.0

18 reviews

    nullnull8537's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!

    $59.40