Hi everyone!
I’m currently a DevOps student transitioning into Red Teaming. To bridge the gap between automation and security, I’ve been developing a custom network scanner from scratch. My goal isn't to replace Nmap, but to deeply understand the low-level mechanics of network protocols and CI/CD integration.
Current Tech Stack & Features:
Core: Python-based multi-threaded scanning (TCP/UDP support).
Infrastructure: Fully Dockerized environment.
CI/CD: Integrated with GitLab CI for automated builds/testing.
Observability: Monitoring via Prometheus + Grafana (tracking scan rates and performance).
UX: CLI arguments and progress tracking with tqdm.
The Learning Path (What’s next): I'm moving away from high-level libraries for packet crafting. My next steps are:
Implementing manual packet construction using Scapy.
Adding Banner Grabbing to identify services.
Where I need your help: I’m committed to understanding the "why" behind the code, so please don't provide direct code snippets. I would highly appreciate it if you could point me in the right direction or suggest concepts regarding:
Logic & Performance: Are there common pitfalls when scaling multi-threaded scanners that I should research?
Red Team Perspective: What specific features would make this tool actually useful in a lab environment?
Code Quality: If you’re willing to look at the GitHub repo, I’d love a "roast" of my project structure and logic.
Scapy/Banner Grabbing: What underlying networking concepts should I study before diving deep into these features?
Link to the project: https://github.com/znakar/SharkTooth
Thanks in advance for your time and for helping me learn the right way!