I’ve been writing my project - Python port scanner for 9 months now.
You might be wondering, “Why is it taking so long?”
Most of the time was spent figuring out how raw sockets work, how to write a function for manually assembling a packet, calculating the checksum, packing the IP packet bytes, the TCP header, the pseudo-header using struct.pack, sending the packet, and how SYN scanning works.
Why did I decide to take such a complicated route instead of just using Scapy?
I’m a principled person and have a very exhausting yet useful skill—understanding everything. That’s how I got acquainted with big-endian, or “network byte order.” I won’t go into the details of big-endian logic, to be honest, I’m already mentally exhausted
It took several evenings and nights to analyze and understand the principles—watching videos, reading RFCs, and looking at GitHub code (which I didn’t understand)—but what bothered me most was that I had to ask gemini for an explanation.
As I mentioned above, I’m very principled; I can’t just copy code without understanding it, so I ask gemini for a prompt like this: “Don’t write the code for me. If I end up asking you for an example because I’m tired, explain it line by line.”
Yesterday I realized I don’t fully understand Python (basics)—I don’t remember REPL—so I went to ask Gemini for advice; I don’t have anyone competent who could help me with advice. I’m not very sociable, and the only thing that’s interested me for the last four years is IT. I used to make music.
Lately, something strange has been going on with my health, the day before yesterday I woke up because of a nosebleed; this has happened before, but on a larger scale.
I stopped working on the scanner yesterday and decided to try writing a backup script in Python. I found an article and jotted down in Obsidian what the project should and shouldn’t do.
Previously, the project used Docker, Prometheus, and Grafana.
My questions:
P.S. Thanks in advance for your answers; I appreciate them. I’ll make one embarrassing confession—sometimes I wanted to show my emotions, but I suppressed them, which I do from time to time
For those who are interested, here is a link to the project:
[https://github.com/znakar/SharkTooth](https://github.com/znakar/SharkTooth)