Skip to content

geogoor/networking-security-projects

Repository files navigation

Networking & Security Projects / Έργα Δικτύων & Ασφάλειας

tests

A small collection of networking and security tools I built in Python while studying for the CCNA and getting into cybersecurity. Each project lives in its own folder, runs on a clean Python 3 install, and comes with its own README, unit tests, and an MIT license.

Μια μικρή συλλογή εργαλείων δικτύων & ασφάλειας σε Python, που έφτιαξα ενώ διάβαζα για το CCNA και ξεκινούσα με cybersecurity. Κάθε project είναι σε δικό του φάκελο, τρέχει σε καθαρή εγκατάσταση Python 3, και έχει δικό του README, unit tests και MIT license.

Projects

# Project What it does
1 subnet-calculator IPv4 subnet calculator — network/broadcast/host range/wildcard, plus subnet splitting. Core math done by hand with bit operations.
2 network-inventory SSHes into Cisco devices (Netmiko), runs show version, writes a CSV/JSON inventory.
3 port-scanner Threaded TCP connect scanner with banner grabbing. Pure sockets + concurrent.futures.
4 packet-analyzer Decodes a .pcap capture by hand (pcap → Ethernet → IPv4 → TCP/UDP). No scapy.
5 log-analyzer Scans an SSH auth.log and flags brute-force source IPs.
6 host-discovery Concurrent ping-sweep of a subnet; lists live hosts with MAC + vendor (OUI) lookup.
7 ssh-honeypot Low-interaction SSH honeypot that logs connection attempts as JSON.
8 tls-checker Inspects a host's TLS certificate: issuer, SANs, expiry, and warns on expired/expiring certs.

Most projects use only the Python standard library; only network-inventory needs third-party packages (Netmiko + PyYAML). / Τα περισσότερα projects χρησιμοποιούν μόνο standard library· μόνο το network-inventory χρειάζεται εξωτερικά πακέτα (Netmiko + PyYAML).

Running the tests / Εκτέλεση των tests

Every project ships with a unittest suite. To run one locally:

# from inside any project folder
python3 -m unittest -v

Continuous Integration / Συνεχής Ενσωμάτωση (CI)

This repo uses GitHub Actions (see .github/workflows/tests.yml). On every push and pull request, a clean Ubuntu runner checks out the code and runs the test suites of all eight projects across Python 3.9, 3.10, 3.11 and 3.12. The green/red badge at the top of this README reflects the result of the latest run, so anyone can see at a glance that the tests actually pass — on multiple Python versions, not just my machine.

Because almost everything is standard library, the CI needs no dependency install step; it just loops over the project folders and runs python -m unittest in each.

Το repo χρησιμοποιεί GitHub Actions (δες .github/workflows/tests.yml). Σε κάθε push και pull request, ένα καθαρό μηχάνημα Ubuntu κατεβάζει τον κώδικα και τρέχει τα tests και των οκτώ projects σε Python 3.9, 3.10, 3.11 και 3.12. Το πράσινο/ κόκκινο badge στην κορυφή δείχνει το αποτέλεσμα του τελευταίου run, ώστε ο καθένας να βλέπει αμέσως ότι τα tests περνάνε — σε πολλές εκδόσεις Python, όχι μόνο στο δικό μου μηχάνημα.

Επειδή σχεδόν τα πάντα είναι standard library, το CI δεν χρειάζεται εγκατάσταση dependencies· απλώς περνά από κάθε φάκελο και τρέχει python -m unittest.

A note on the theme / Σημείωμα

These deliberately favour understanding over shortcuts — the subnet calculator does the bitwise math itself, and the packet analyzer parses raw headers instead of wrapping scapy. The goal was to actually learn how this stuff works at the byte level, not just to call a library.

Επίτηδες δίνουν έμφαση στην κατανόηση αντί στις συντομεύσεις — ο subnet calculator κάνει μόνος του τα bitwise μαθηματικά, και ο packet analyzer διαβάζει raw headers αντί να τυλίγει το scapy. Ο στόχος ήταν να καταλάβω πραγματικά πώς δουλεύουν αυτά σε επίπεδο byte.

License

All projects are MIT licensed.

About

Hands-on networking & security scripts and labs in Python. Educational use only.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages