Giter Club home page Giter Club logo

network-packet-analyzer's Introduction

Network-Packet-Analyzer

Short Description:-

This program allows us to analyze the ethernet/network packets (IPv4 Only) that are routed through our device. On running this program it displays various important information about the packets origin and destination such as its addresses and ports,apart from these we can also analyze different layers of the frame to further investigate on its segments (UDP ,TCP, ICMP) to display its version and protocol infos.

NOTE:- i have not considered the core data that the frame is carrying beacause most of the times it is encrypted unless untill the protocol is http, as those data are not encrypted. HTTP data are packed inside the packet as plain text.

Requirements:-

Python3 - You can download and install it from it's official website. It is available for all types of platforms (windows , Linux and mac). In Linux/Mac it comes pre-installed.
Here i have used some of python's built in modules (socket and struct) for capturing and analyzing packets. so there is no need of installing any external package.

How to use:-

Download the project and extract it. or

Open terminal and clone the project.

 git clone https://github.com/hb10001/Network-Packet-Analyzer.git

After the download/clone process is completed,navigate over to the project location inside the terminal. when you are inside the project folder you can see a python script named 'main.py'.

Now run that script-

sudo python3 main.py

As the code works by creating sockets, we need to have root/administrative access to create them. (By this you give permission to capture the network packets)

windows user-

open CMD as administrator

Right-Click-On-CMD >> Run-As-Administrator

navigate over to the project folder and then run the script

python3 main.py

Output:-

you should get an output similar to this -

Output

To Do:-

we know that HTTP data are not encrypted,they are transmitted as plain text.and also for the fact that they use port 80 as their source and destination ports. so we can use these facts to generalize that whenever the port address is 80 we should pass the core data to a function which is capable of properly formatting the texts and display it to the user.

References:-

  1. Socket Programming
  2. Struct
  3. More on sockets

network-packet-analyzer's People

Contributors

0x1h0b avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.