Android System Administration Utilities
“Change is inevitable in a progressive society. Change is constant” Benjamin Disraeli 1867. Quite a fitting quote if I say so myself. When I started in systems administration back in the mid 90’s everything was done either remoted in from your desktop, a server, or you plugged a terminal into the back of the server. Laptops were still bulky back then and I loathed carrying around my brick of a laptop to connect into things. Thin laptops were too much for a lot of IT budgets, Palm was just getting started, and tablets were luxury items (yes we had tablets). We made do with what we had.
Fast forward 15 years to a time where nearly everyone has a smartphone, fast laptop, or a tablet. Switches, routers, servers are more GUI friendly, wireless is in abundance in many buildings. And yet some people still administer their servers the same way: via their desktop, or a bulky laptop (don’t get me started on why laptops just got heavier). Now don’t get me wrong, I’m not saying daily system administration is necessarily a difficult thing on a laptop hooked up to a 20+” flat screen. But there are plenty of times at work I’ve found myself at the opposite end of the building, up 2 flights of stairs away from my computer when I needed to remote into a Linux server to check the status of something, log into a switch to enable a port, or RDP into a domain controller to unlock an employee’s account. Depending on the level of security, accessing servers from a different VLAN is not allowed (in some cases) which rules out booting an employee off their computer in order to quickly access a server. Yes, I’ll admit I’d rather find a better way to spend my time than going down 2 flights of steps, across the building, down another flight of steps and back into my office to unlock someone’s account. Thus an article on System Administration utilities for Androids was born.
As with most of my posts there’s a disclaimer attached to this: I’m a poor bugger, I don’t own a tablet, nor do I own a fancy top of the line Android cellphone. Which is good news for most of you that own tablets and fancy cell phones as these applications will most likely work better for you (better screen, faster processor, etc). I use a Samsung Galaxy S running Android 2.2.1. So this goes without saying: What applications work for Android 2.2.1 might not work for other android versions, your mileage may vary. Prior to this article I read reviews from all the applications I used and I didn’t see many negative reviews so you should be good.
Now that all of that’s out of the way, let’s get started shall we? I use the applications I will be talking about in this article quite a bit in my system Administration duties on a really small screen. Odds are if you have a tablet, or a bigger screen you shouldn’t have any problems. Because of my limited screen size, a very big thank you goes out to Josh and Len from #linuxjournal IRC for using their devices to take screenshots for me. The old adage "A picture is worth a thousand words" rings true with screenshots, without their help I wouldn't be able to have screenshots with this article. So the next time you find yourself in #linuxjournal feel free to thank them for their time.
The Wifi Analyzer is quite a useful little tool. Granted it doesn’t take the place of my Ubiquiti Spectrum Analyzer, or other tools I utilize when I’m setting up a wireless environment, but it has it’s place in my bag of tricks. With Wifi Analyzer I can see what Access Points are around my area that are not hidden (Kismet is good for hidden APs, so are Spectrum Analyzers for actual frequency usage), and their signal strength to my Android. With this little utility I can pick a non-crowded channel, drop an access point in and check signal strength for devices with smaller antenna’s that need internet access (tablets, phones, etc). Wifi Analyzer allows you to see and pick each access point and report the signal level back in dBm. This is also helpful if you’re old school (read: cheap) like me and still do wireless site surveys with a paper map, colored pencils and a protractor. I’ve yet to have a problem with using Wifi Analyzer and it’s saved me quite a number of times when I’m in an employee’s office trying to figure out why their laptop gets good signal strength but their little device does not. Fire up Wifi Analyzer, set to signal meter and locate the access point then walk around the room to check the signal level.
The Ping & DNS utility allows you to do the following: ping, DNS, reverse DNS, whois, HTTP header, traceroute, and Check Port. Everything you usually do to check basic network connectivity issues can be done with the Ping & DNS utility. When I’m out at a remote site, or even at work and we are having issues resolving a host, or attempting to ping. I can fire up this utility and ping from my phone to see if it’s really up or not. Resolving the host gives me the IP address we can use to ping if there are issues resolving on the network side. Traceroute is always helpful when you have those ‘is it me or is it it my ISP having routing problems?’ moments. All from the luxury from your mobile device. Check Port is just a basic TCP connection to a specified port (is it open or is it closed?). However I’ve mainly stuck with the basics: ping, DNS and traceroute.
Fing is akin to a slightly crippled version of zenmap (GUI nmap), with some extra utilities tossed in. According to their google play site they support the following:
- network discovery
- dns lookup
- wake on lan
- TCP connection tester
- MAC and vendor gathering
- connectivity detection
- geolocation and integration of various 3rd party apps
I’ve personally used it only for scanning individual servers for open ports, however the reviews seem to rate this utility pretty high for the other utilities it offers. If I’m on a wireless network and can’t remember what device has what open port, or if I just put something out on the network and it grabbed a DHCP address I can run Fing. Fing will scan the range I specify along with the specified TCP ports and tell me the hostname, mac address (and sometimes the vendor), it’s NETBIOS role (if available), open ports, and if I have it saved before I can wake it up with ‘Wake on Lan’. It’s quite a wonderful tool that I’ve used numerous times in the past to locate machines on the network.
ConnectBot with Hackers Keyboard
This is a ‘twofer’. ConnectBot is great, and Hackers Keyboard is an addon that becomes a necessity if you're working with switches, vim, or other type of sessions. ConnectBot gives you SSH and telnet access to servers, switches, routers and anything else you can think of that requires SSH or telnet. Hackers Keyboard breaks out the Ctrl, Alt, Tab and arrow keys that are necessary for some of the communication between said devices. The two of them combined become a powerful tool. It really goes without saying, but with ConnectBot/Hackers Keyboard I can remote into a switch and make settings on the fly, or SSH into one of my servers, quickly make changes to a file or view status of a running process and log right out. Here’s the only caveat, if you're using a phone with a small screen such as mine (4”), ConnectBot with Hackers Keyboard set to landscape will turn your font really small, but at least you have a fully functional keyboard with arrow’s. If your screen orientation in ConnectBot is set to automatic you can always tilt to use the keyboard, then tilt back to get to the regular keys. This could very well replace your current SSH utility that you use if you use tablets on a daily basis, but for phone access it’s great for the quick ‘get in and get out’ sort of work.
I tried quite a few VNC viewer applications over the years until I finally settled on Android-vnc-viewer. Some are more powerful than others but I’ve always come back to this little gem. Android-vnc-viewer, as with all the applications I’ve been reviewing is free of charge. It allows you to save your sessions (which is a beautiful thing). Once you have entered your client information and connected, it’s just like the real deal. You can type, use your touchscreen as a mouse (a rapid double-click is a right-click), set window-scaling and input modes. Tiny phones beware: great utility to check things, not so great on your eyesight but it works in a pinch. Tablet users: it’s a beautiful thing to behold from what I’ve seen.
For those of you that work in a mixed OS environment I can’t say enough good things about the 2x Client. I’ve tried a few RDP clients, some freeware, some paid for and they all lacked the basics. I ended up finding the 2x Client on one of those ‘some also downloaded this client’ suggestion lists one day and I haven’t gone back. 2x Client allows you to save your sessions (can you see a pattern here? ConnectBot, android-vnc-viewer, fing, 2x Client all of them have saved sessions) as my mind is going the way of Swiss cheese and can’t remember what hostname does what or what IP address goes to what these days. You can set your graphics display to be whatever resolution fits your display and or network bandwidth, among a whole host of other settings. Once you have connected 2x Client will give you a quick tutorial on usable screen gestures that you can use while remoted into the client.
Yaaic stands for: Yet another android IRC client. Why would I have an IRC client in my IT bag of app tricks? Well when I can’t solve a problem that’s stumped me, sitting alone in a network closet somewhere in the middle of nowhere I know I can jump on Yaaic, connect to freenode.net and either see if a buddy is online or find a channel where someone knows more than I do that is willing to help me out. Yaaic allows multiple windows, private windows for chat, and each of your sessions can be ‘saved’ (for instance freenode.net connects me as my specific username then into #linuxjournal when I connect). It saves me the hassle of entering a server, name, my password, and channel each time. There’s bound to be someone out there that’s run into the problems I have when Google, forums, and my bag of Android trick’s can’t dig me out, and that’s where Yaaic comes in.
Well there you have it, the top sysadmin Android utilities that I use quite frequently to dig myself out of a tough spot. As with any IT admin toolkit, be it software or hardware, it’s bound to change over time. With new tools added, old ones updated or removed but for now this is the Crème de la crème of sys admin utilities that I carry with me. How about you? What Android utilities have you used and recommend for System Administration?