Coder Social home page Coder Social logo

kendojitsu / kendo Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 6.54 MB

Kendo - Powerful Network Packet Capture & Protocol Analysis Software ๐Ÿš€ Real-time & offline analysis with MFC & WinPcap. Comprehensive protocol parsers & display filters. Efficient packet management. Shortcut keys for seamless user interaction. Explore network traffic effortlessly!

C++ 48.60% C 50.93% Clarion 0.47%
kendo mfc packet-capture pcap-files protocol-analysis stl winpcap network-packet-capture dhcp dns

kendo's Introduction

Kendo - Network Packet Capture and Protocol Analysis Software


Download: Kendo (Link to be provided)

Kendo is a powerful network packet capture and protocol analysis software developed using the MFC (Microsoft Foundation Classes) and WinPcap library. This tool allows users to capture local network traffic, analyze protocols in real-time, and perform offline protocol analysis by reading pcap files.

Development Environment

  • IDE: Visual Studio 2022
  • Dependency: WinPcap
  • Technical Details

  • Front-end Interface: The front-end interface of the Network Packet Analyzer application has been meticulously developed using the Microsoft Foundation Classes (MFC) to ensure a robust and user-friendly experience. MFC provides a framework for building graphical user interfaces and facilitates the creation of responsive and intuitive interfaces for seamless user interaction.

  • Packet Capture and Storage: The application employs WinPcap, a popular library for packet capture on Windows platforms, to implement local network interface packet capture. WinPcap allows the application to capture raw network data packets, providing a comprehensive view of the network traffic. The captured packets are efficiently stored in pcap (Packet Capture) files, a standard format for storing network packet data, ensuring data integrity and ease of analysis.
  • Packet Management: Efficient in-memory packet management is achieved through the utilization of the Standard Template Library's (STL) map container. The map container allows for quick and organized storage of packets, enabling fast retrieval and manipulation of packet data. This choice of data structure enhances the overall performance of the application, especially when dealing with a large volume of captured packets.
  • Inter-thread Communication: To facilitate seamless communication between different threads within the application, an effective inter-thread communication mechanism is implemented. The application utilizes Windows message queues to enable communication between threads. Specifically, the packet capture thread communicates with the window thread, notifying it to parse and print data packets. Additionally, the packet capture thread signals the end of packet capture to prompt the window thread to release allocated resources, ensuring efficient memory management.
  • Network Protocol Parsers: The Network Packet Analyzer boasts a comprehensive set of network protocol parsers, with a total of 9 parsers written from scratch. These parsers are designed to analyze and interpret various network protocols, providing insights into the structure and content of different types of network traffic. The development of custom parsers demonstrates the application's versatility in handling diverse network protocols, making it a powerful tool for network analysis and troubleshooting.
  • Functionality Overview

    The system is designed to offer comprehensive functionality for real-time capture and online protocol analysis, as well as offline protocol analysis through stored pcap files. It provides a robust platform for monitoring and scrutinizing data packets on the local network interface, offering various features to enhance the analysis process.

    1. Real-time Capture and Online Protocol Analysis:
    • Live Packet Capture: The system captures data packets in real-time from the local network interface, allowing users to monitor ongoing network activities.
    • Online Protocol Analysis: Analyzes the captured data packets on the fly, providing immediate insights into the current network protocols and activities.

    2. Pcap File Storage:
    • File Management: The system includes a storage module for pcap files, facilitating the organized storage of captured data for future reference and analysis.
    • Archiving: Users can archive pcap files for historical purposes or compliance requirements.

    3. Offline Protocol Analysis:
    • File Reading Capability: The system supports reading stored pcap files, enabling users to conduct protocol analysis on historical network data.
    • Historical Insights: Users can gain insights into past network behavior and diagnose issues retrospectively.

    4. Display Filters:
    • Selective Packet Analysis: Offers display filters that allow users to selectively choose data packets based on specified protocols.
    • Customization: Users can define filters to focus on specific protocols, streamlining the analysis process.

    5. Common Network Protocol Analysis:
    • Application Layer: DNS, HTTP, DHCP
    • Transport Layer: UDP, TCP
    • Network Layer: IPv4, ICMP
    • Data Link Layer: Ethernet, ARP

    ICMP Message Type ICMP Message Type Value Support Parsing
    Destination Unreachable 3 โˆš
    Source Suppression 4 โˆš
    Redirect 5 โˆš
    Timeout 11 โˆš
    Echo Request 8 โˆš
    Echo Response 0 โˆš

    DNS Resource Record Type Function Support Resolution
    A Query IP Address Based on Domain Name โˆš
    NS Specify DNS Server to Resolve Domain Name โˆš
    CNAME Query Alias of Domain Name โˆš
    PTR Query Domain Name Based on IP Address โˆš

    DHCP Message Option DHCP Message Option Code Support Parsing
    Fill 0 โˆš
    Subnet Mask 1 โˆš
    Gateway Address 3 โˆš
    DNS Server Address 6 โˆš
    Domain Name 12 โˆš
    Request IP Address 50 โˆš
    IP Address Lease Time 51 โˆš
    DHCP Message Type 53 โˆš
    DHCP Server ID 54 โˆš
    Manufacturer's Logo 60 โˆš
    Client ID 61 โˆš
    End 255 โˆš

    6. Support Shortcut Keys:
    Shortcut Keys Functions
    Ctrl + G Position the cursor to the currently selected packet
    Ctrl + O Open pcap file
    Ctrl + W Close pcap file
    Ctrl + S Save as new pcap file
    Alt + F4 Exit program

    Language


    This project is built using the C++ programming language, ensuring efficiency and high-performance capabilities in network packet capture and analysis.

    Support:

    supercoders




    Licence

    Kendo, developed under the GNU GPLv2 license, operates with certain licensing provisions. To ensure clarity, please refer to the full text of the license found in the COPYING file, as it is the legally binding document. The following notes are intended to aid those unfamiliar with the GPLv2.

    1. Usage Restrictions:

      • There are no restrictions on the use of Kendo.
      • Restrictions apply to the distribution of Kendo in both source and binary forms.
    2. License Coverage:

      • Most components of Kendo are licensed under "GPL version 2 or later."
      • Some files may be subject to different licenses compatible with the GPLv2.
    3. Special Cases:

      • Certain utilities within the Kendo source have distinct licenses:
        • The WinPcap utility is licensed under the GPLv3+.
      • Despite these exceptions, only the tools themselves are subject to these licenses, and the output of the tools is not considered a derived work. Thus, the output can be safely licensed for Kendo's use.
    4. Library Distribution:

      • Parts of Kendo may be built and distributed as libraries.
      • These library components remain under the GPL and are not subject to the Lesser General Public License or any other license.
    5. Integration into Applications:

      • If you integrate all or part of Kendo into your own application, the application must be released under a license compatible with the GPL.

    By adhering to these licensing terms, users and developers ensure compliance with the GNU GPLv2 license governing Kendo. It is advisable to consult the full license text for authoritative information on the legal aspects of Kendo's distribution and usage.

    Disclaimer:

    This product comes with no warranties, either expressed or implied. Users are advised to utilize the product at their own risk.

    For inquiries or communication with the Kendo Team, please contact us at [email protected].

    kendo's People

    Contributors

    kendojitsu avatar towardscybersec avatar

    Stargazers

     avatar  avatar  avatar  avatar

    Watchers

     avatar  avatar

    Forkers

    towardscybersec

    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.