They thought we can't code - I built my own Networking tool app up.



Swapped to use command line for an objective that web UI can’t do since in the PAN OS 6.X. After the tunnel of Checkpoint, Juniper firewalls established. Sometimes, instead of pretended to be a WLAN users using my own laptop which was currently attached to the management VLAN. I picked up my phone, launched a networking tool application. Do test the connection through those Apps.

                Some Time, Some Tasks, after a little chat with the customer, they needed you to check something that you didn’t even have a motivation to take your laptop out of your bag. I picked my mobile phone up and launched a networking tool app again. We ping it, trace route it. At those time I thought those app didn’t satisfying my usage. So, I wonder. Can I myself build my own networking tool application?

                 Around 2016-2017. It was a time that I start to read and learn about Android and how to developer an application from zero. One day I had to go to the customer which is a Bank company. We had also met our Co-worker, “the App Developer Team”. The team are younger than ours. What good about the application team is they are many ladies member than ours, of course.

                I have often talked with one of them, his name start with ‘B’, a Java professional guy who seems to younger than me at least 5 years. I asked “what would you say man?” “If I will be able to build my own networking tool app?” He laughed about it, I wasn't got mad about that, we are pretty close and he was always nice and humble. He believed that the way we think about it (the coding) is differently. I sensed that he thought it won’t going to happen.

                I launched my first project into the market as experimental. Which I found it was fun, I found myself enjoyed coding. So, I decided to make a Networking Tool application which we called it “NetzTools”. Instead of simply make it. I intended to do it as best as I can. My work piece will be a world-class (Sorry that what I dreamed about it, let’s get back to reality).

             As I earlier mentioned. The application those I had been used. Many of them didn’t hit my requirement. You know, For example, I want to launch many of ping command at the same times. You want to ping the gateway, you want to ping the Wireless controllers, you need to ping the other side of the tunnel and these should can be done at the same time.

             Most of networking tool application in the market can’t do that. I haven’t found one (If it existed, please share it with me) or If you launch a new ping, the first ping you had launched won’t responsive anymore. I was curious about it. Was it OS (Android) limitation? Or was it impossible to do that?

             I was curious about it. I went back home after work, I do researched, looked into those information from the Internet. I started to do proof of concept. It was failed. Again and again. There were so much problem during the proof of concept. It was not that easy.

Finally, I found that, working with the network, socket, and network’s process. You need to know to working with the background thread well. You have to spawn the thread, do some register or callback or even released the memory (as well as socket stream.) properly.

One of many problem I’ve found: RAW socket (with native C language) can’t be created on OS because it was not permitted (Operation not permitted). It interpreted that you need to be root.


 So, when I decide to make it, I have to make it well, I get back to read from Google datasheet about its latest API. Designing model, Best practice of data model and so on. There were so much information. You won't believe how much datasheet over there about their new API and features. I have not only read almost all of them but also repeated those contents again and again. After that, As usual, get back home from worked, I coded almost every day as well as in the weekend. 


There were problem in every step of the developing process. Maybe ‘B’ was right. Maybe, I was not born to be a code craftsman.  Anyway, I want to see it, my own ideology network tool. So, I won’t give up. It was hard when you have to coded, solved the app problem while you also have a daily life job.

              “NetzTools” was launched almost a year. You know, even I can’t tell it was successful from the low user number but I proud of it. There is a developer try to mock my app (even the app’s name). He got so many users because of his old audience. So, when someone use my app as his prototype, I think my work piece wasn’t that bad. 

NetzTools: Be able to spawn multi-thread to launch network command at the same time


If you are a system-admin or a networker who passing and see this article and you have some free time to try my app https://play.google.com/store/apps/details?id=com.nristek.apps.netztools

Please tell me, what you think about it. I admit that I’m not a professional coder one. There are many things and skill that I have to improve. I won’t get mad about your comments (Please just don’t say it’s a trash T T), I really want to know the users opinions (Especially from any of computer system specialist, IT students also gladly welcome). Is it useful for you? Was it contains too much ads? any stuff like that would be my pleasure and it will be a valuable data for me. I thank you in advance.

                “NetzTools” still needed to be developed. Recently I have just added the SecureShell and Telnet modules into it.

                Finally, I believe everyone can do what he want to complete. I have planned to do it further no matter how hard it is. My code sometimes was boiler plate and sometime it was spaghetti. Anyway, I am going to do it further on.

 

 

B.R.



Comments

Post a Comment

Popular posts from this blog

Logic thinking to solve a problem that occurred on unfamiliar system

When Gradle don't know your new added Native code