GitHunt
SE

Sebithaz-dev/Simple-TCP-Fingerprinter

A simple TCP port scanner and service fingerprinter built from scratch using Python's socket library. Designed to understand low-level network handshakes, banner grabbing, and protocol identification beyond automated tools.

Python TCP Scanner ๐Ÿ”๐Ÿ

A custom-built TCP port scanner designed to explore the fundamentals of Network Programming and Defensive Cybersecurity. While tools like NMAP are industry standards, this project focuses on the manual implementation of socket connections and service identification (Banner Grabbing).

Features โš™๏ธ๐Ÿ

  • Low-level Socket Implementation: Uses Python's socket library to handle IPv4 and TCP connections.
  • Banner Grabbing: Automatically captures service banners (SSH, FTP, SMTP) to identify the underlying daemons (More soon).
  • Protocol Probing: Implements a specific logic for HTTP services (ports 80, 8080, 8000) by sending a manual GET request when no initial banner is presented.
  • Hex & Raw Output: Displays data in hexadecimal and raw formats for deep packet inspection analysis.

How to use ๐Ÿโ”

  1. Clone the repository.
  2. Modify the host variable with the target IP address.
  3. Run the script:
    python main.py

Roadmap & Future Improvements ๐Ÿšง๐Ÿ

  • Concurrency: Implement threading or asyncio to scan 65535 ports more efficiently.

  • Advanced Error Handling: Deep dive into errno constants to differentiate between types of connection failures.

  • Service Mapping: Expand the fingerprinting dictionary for more common enterprise services.


Gatito dando un beso

// All projects built with love and a lot of cookies ๐Ÿ’–๐Ÿชโœจ