Linux Internals Projects for Beginners | Network Packet Generator Project

Home Linux Internals | Course Home Linux Internals | Projects Linux Internals Project | Network Packet Generator – RAW Sockets

Linux Internals Projects for Beginners – Network Packet Generator Project

About this project

Implement a command line based TCP/IP network packet generator and generate various network traffic depending on the user input.

Share via :

About this project

TYPE Individual project
DIFFICULTY Advanced
ESTIMATED TIME 70 hours
PUBLISHED 15th March, 2021
CONTACT training@emertxe.com

Introduction

One of the key requirements of network is the ability to handle a large volume of data. Network should have necessary resilience to handle, which is simulated using Network packet injectors in test environment. These packet injectors create a large volume of a particular network protocol traffic and help application developers to do load testing. 

 

The goal of this project is to create a command line based Network packet injector that will generate all major protocol packets (ex: HTTP). For implementation RAW sockets are used.

Requirement Details

Here is the list of requirements that need to be implemented in this project. 

    • The packet generator should provide a prompt to the user upon invocation “PG>”
    • It should provide a “help” menu that would display various packets & options supported
    • Options to be supported as follows. The user can give one or all options
    • Appropriate error handling needs to be done
    • Option details:
      • generate_tcp
      • generate_udp
      • generate_ip
      • generate_icmp
    • After packet generation it should be verified using network packet analyzer tool like Wireshark

Skeleton Code

The skeleton code in a very interesting concept used in Emertxe. By looking into the skeleton code, you will get a clear picture into converting the given requirement into a working solution. This will also take care of important aspects like modularity, clean coding practices, re-usability etc.

 

Sample Output

Here are the sample output expected by the end of project execution.

Linux Internals Projects for Beginners | Network Packet Generator Project - Output 1

Fig1: Packet Generation

 

Linux Internals Projects for Beginners | Network Packet Generator Project - Output 2

Fig2: Packet Sniffer

 

Linux Internals Projects for Beginners | Network Packet Generator Project - Output 3

Fig3: UDP packet dump

similar projects