Cybersecurity · Singapore

Ashton Ang.

I build small security tools, take systems apart to understand them, and keep notes I can defend without hand-waving.

About

I'm a cybersecurity student at the Institute of Technical Education in Singapore, and I learn by building. A log analyzer here, a subnet scanner there. I care more about understanding the thing than collecting tools I cannot explain.

Focus
Network security, log analysis, automation
Working in
Python · Shell · JavaScript · SQL
Credentials
Fortinet FCF · Google Cybersecurity · Microsoft
Looking for
A cybersecurity internship
Selected work All projects
Security tooling

SSH Failed Login Analyzer

A Python tool that reads a Linux auth log and reports which IP addresses keep failing to log in over SSH.

It scans auth.log for "Failed password" lines, pulls the IPv4 address out of each one with a regex, and counts attempts per address so the noisiest sources sit at the top. Standard library only, split into small read, count, and report functions with clear handling for a missing or unreadable file. I built it because triaging auth logs is the kind of work a junior analyst actually does, and I wanted to do it by hand before reaching for a bigger tool.

  • Python
  • Log parsing
  • Regex
  • SSH
Networking

Subnet Scanner

A command line tool that finds live hosts on a network and checks which common ports they have open.

You give it a subnet in CIDR notation. It pings every address to find live hosts, then opens short lived TCP connections to common ports like SSH, HTTP, HTTPS, SMB, and RDP on each host that answered, and prints a table of hosts and their open ports. It runs on a thread pool, so a full subnet finishes in seconds instead of minutes, and it stays on the Python standard library. Building it made me separate the two questions a scan really asks: is this host alive, and is something listening behind that port.

  • Python
  • Networking
  • Port scanning
  • Threading
Sockets

LAN Chat Room

A console chat app in Python that runs a server and connects multiple clients over a local network.

One machine runs the server, others join as clients by pointing at its local IP, and messages pass between them in real time. It was my first proper look at sockets and the client to server model, including the small frustrations of getting two machines to talk on the same network.

  • Python
  • Sockets
  • Networking

Building something, hiring, or just curious?

Get in touch