Skip to content

arshad1312/NetForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

🔥 NetForge

Forge your network, one packet at a time.

NetForge is a Python-based socket programming toolkit designed to demonstrate core networking concepts through practical tools like port scanning, banner grabbing, TCP/UDP communication, and a multi-client chat system.

This project is ideal for:

  • Networking students
  • Cybersecurity beginners
  • Python learners exploring sockets
  • Anyone interested in understanding how network communication works internally

🚀 Features

NetForge includes several networking modules:

1️⃣ Port Scanner

  • Scans a target host for open ports
  • Supports custom port ranges
  • Uses multithreading for faster scanning

2️⃣ Banner Grabber

  • Connects to a service and retrieves its banner information
  • Helps identify server software and service versions

3️⃣ TCP Client / Server

  • Simple TCP echo server
  • TCP client can send messages and receive responses
  • Demonstrates connection-oriented communication

4️⃣ UDP Client / Server

  • UDP server receives datagrams
  • UDP client sends messages and receives acknowledgments
  • Demonstrates connectionless communication

5️⃣ Multi-Client Chat Application

  • TCP based chat server
  • Supports multiple clients
  • Uses threading for concurrent connections

📦 Requirements

  • Python 3.7 or higher

Supported operating systems:

  • Linux
  • macOS
  • Windows

No external libraries required.


📂 Project Structure

NetForge/
│
├── NetForge.py
└── README.md

▶️ Usage

Run the program:

python NetForge.py

You will see the interactive menu:

1. Port Scanner
2. Banner Grabber
3. TCP Client / Server
4. UDP Client / Server
5. Chat Application
0. Exit

Select a module and follow the prompts.


🧪 Examples

1️⃣ Port Scanner

Input:

Target IP   : 127.0.0.1
Start Port  : 20
End Port    : 100

Output:

[OPEN] Port 22
[OPEN] Port 80

2️⃣ Banner Grabber

Input:

Target IP   : 127.0.0.1
Target Port : 80

Output:

Banner from 127.0.0.1:80
----------------------------------------
HTTP/1.1 200 OK
Server: Apache/2.4.52
Date: Tue, 02 Apr 2026
----------------------------------------

3️⃣ TCP Client / Server

Server:

Server Port [default 5000]: 5000
[TCP SERVER] Listening on port 5000

Client:

Server IP   : 127.0.0.1
Server Port : 5000

>> hello
[ECHO] hello

4️⃣ UDP Client / Server

Server:

[UDP SERVER] Listening on port 6000
Waiting for messages...

Client:

>> test message
[ACK] test message

5️⃣ Chat Application

Server:

[CHAT SERVER] Running on port 9988
Waiting for clients...

Client:

Enter your name: Arshad
Welcome to the chat!

Arshad: Hello everyone

📚 Learning Concepts

This project demonstrates several important networking concepts:

  • Python Socket Programming
  • TCP vs UDP communication
  • Client-Server architecture
  • Multithreading
  • Port scanning techniques
  • Service banner detection

⚠️ Disclaimer

This project is created for educational purposes only.

Do NOT use this tool against systems without proper authorization. Unauthorized network scanning may violate laws or network policies.


👨‍💻 Author

Arshad S

Cybersecurity Enthusiast Python & Networking Learner


⭐ Contributing

Contributions are welcome!

You can:

  • Fork the repository
  • Improve the code
  • Add new networking modules
  • Submit pull requests

🛠 Possible Future Improvements

  • Advanced port scanner
  • Service detection database
  • Packet sniffer module
  • GUI interface
  • Logging system
  • IPv6 support

📜 License

MIT License

Copyright (c) 2026 Arshad S

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense and/or sell copies.

About

NetForge is a Python-based network toolkit featuring a port scanner, banner grabber, TCP/UDP client-server utilities and a multi-client chat application.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages