/Packet_Manipulation

This repository is lab for NCTU course "Introduction to Computer Networks 2018".

Primary LanguageShellGNU General Public License v3.0GPL-3.0

Packet Manipulation

This repository is lab for NCTU course "Introduction to Computer Networks 2018".


Abstract

In this lab we are going to learn how to use Scapy - a powerful interactive packet manipulation program, which can forge or decode packets of a wide number of protocols, send them on wire, capture them, match requests and replies, and much more. By using Scapy, we are going to define our own protocol to compute Fibonacci number through packets sending and receiving.


Objectives

This lab aims to learn how we use Scapy and Python to program a simple network protocol and observe the behavior of packet sending and receiving via Wireshark.

  1. Basic knowledge of Docker
  2. Linux networking
  3. Python with Scapy
  4. Wireshark
  5. Git & GitHub

Tasks

  • In lab course (Oct. 11 @EC-315, 316)
    1. Environment Setup
    2. Define protocol via Scapy
    3. Send packets
    4. Sniff packets
    5. Run sender and receiver
    6. Push your files to remote
  • Homework
    1. Load PCAP via Wireshark
    2. Filter the target packet
    3. Decode the secret key
    4. Report

Authors

This repository is inspired by Kevin Cyu. He gave me lots of advices and supports during preparation.

License

GNU GENERAL PUBLIC LICENSE Version 3