Learning Networking and Hacking
This was during college. I was trying to learn hacking. Haha. I remember following this series of blog posts, which explained stuff. I even printed them out to read and understand and learn. These were big blog posts. The first few posts they mostly taught about networking, this is because, to hack someone, remotely, you need to access their system remotely, and remotely means there must be some connection to the system, and that’s where networks and network concepts came in.
I remember learning lot of things like IP addresses, port numbers, MAC addresses, ARP, ARP spoofing, DNS and a bit about routing too I think, like gateway and all, and about private and public IPs. This was going to be taught in college, and in a large extent too, but I learned it before the curriculum a bit in the curiosity to learn hacking. I even went to a class, which was a class for this certificate called CCNA - Cisco Certified Network Associate. And there were more Cisco certifications around networking. Apparently it was crucial to get them to show off that a person knew something in networks, to get a job in the networks domain, like a networking engineer? Idk what it’s called, there are probably many roles and I guess they are in demand in cloud service provider companies. Anyways, I went to the class. I did have an idea to write the exam, but idk, I didn’t write it. I can’t remember why. I do remember it was a costly fee for the examination to get the certificate. I think it was some 18K in INR. I actually had already spent lots of money for the class itself. I can’t remember how much. I think it was 5K in total? Something like that. And I remember how my Dad had some troubles to pay that. I think I didn’t wanna spend that much money and I also think I was scared and didn’t prepare well and was planning to prepare and write the exam. And later realized that it wasn’t worth it for some reason. I also remember how I actually got a bit bored in the later parts of the class. It got a bit theoretical. We did some practical stuff using the Cisco GUI software. I think it was called Cisco Network Packet Analyzer or something? Something like that. We could create computers, create network links, add routers, switch and configure routers and then I think we could check if one computer could access another computer to check if the network has been configured correctly. It was cool! I learned some stuff like static routing, dynamic routing and all. I can’t remember much now. I learned the same in college.
In college, I also learned some cool stuff like SSL certificates (X509 certificate), digital signatures. And we even implemented RSA and other basic crypto algorithms 🙈 it was so hard to remember the algorithms, let alone implement it. I learned Message Digests, SHA and SHA sum, checksum etc. I don’t remember a lot of stuff now. I do remember what basic hashing is, I remember how I learned hash to be a data’s fingerprint. It was a nice definition :) I also learned about Integrity, Confidentiality and different stuff later. We even did a project based on Integrity, where we implemented a research paper. It was too hard, but we finally did it. It was about verifying integrity of the data in cloud without downloading the whole data.
I also learned a bit of hacking by using tools in the Kali Linux OS. I even learned to dual boot my system with Kali Linux, similar to how I tried with Ubuntu. Those were really bad days. I remember how I struggled installing it in a dual boot manner. Those were painful processes. Operating systems and any software must be easy to install. And I remember how windows broke my dual boot a lot of times 🤦♂️ Anyways. I learned how to hack the WiFi - more like Denial of Service attack, using a set of tools called airplay ng. Where ng referred to next generation I think. It was cool! I can’t remember what the tool did. I do remember learning to do arp spoofing in WiFi networks in my college with it, I think the same concept was applied by the tool, to help me to stop people from using Internet in my class 😂😅 :p out of dumbness, I told my friend about this once, and later it was hard to hack because they know who was messing when the WiFi didn’t work. :P I did manage to still do it in different ways, later ;)
And I also learned enough networking, like socket programming, TCP, UDP, and what not. I do remember how crazy it was that the college wanted me to remember all the fields in all the network packets and they wanted to know all the fields and all the different layers. It was so annoying. Anyways, I learned some good socket programming and did it in C programming language. Later used the same concepts in Java too in a later semester and we all implemented cool things, like DNS server in C, and then FTP server in Java and a lot more that I can’t remember now. After learning that it can be done in Java, I had this idea that I could use in Android too. I kept researching and learned how to do socket programming in Android - it was mostly the same code I used in computer. I tried to replicate what ShareIt app did - file sharing. I used the WiFi network of Android and used the Hotspot concept. Now there’s WiFi direct, which idk anything about, but people keep telling that’s The thing to use for P2P networking. And I had so many ideas to share files to multiple devices from the app. Later I also built an app to share music ;) Later I wanted to created a library to make file sharing easy but didn’t complete it 😅🙈 the source code for these can be found here -
https://github.com/karuppiah7890/MusicPlayer
https://github.com/Android-File-Share/FileShare
I guess I could take a demo video to show it looks :) I’m realizing how boring it is to have readmes not showing how to install, or not showing a demo
I also had ideas of doing video streaming by streaming a movie from one device to another or may be more. I also had this idea of streaming audio alone to another device while playing a movie so that people can watch a movie together in a phone and still use their phone and earphones without having to use extra devices like audio splitter. That would give the people the ability to use both their earphone buds and also not lose quality of sound too because of splitters, which was a possibility. But yeah, the streaming has to be good and in sync for that. Unfortunately I never got to implementing that idea. I still have some real time media and real time communication ideas. Let’s see where it takes me!