Applications I use as a Network Engineer
I use a 2018 Macbook Pro 15” for my daily job. It works best for me but occasionally I talk to other engineers that have just made the switch from Windows. These are my must have applications that I couldn’t do my job without.
Atom
A powerful text editor may be the most useful tool in a network engineers’ arsenal. From editing config files, code, or taking notes, I personally spend a good portion of my day in Atom. I've gone through a number of text editors over the years and settled on Atom because I like the extensibility of it combined with it being open source. To really get the most use out of Atom, I recommend the following packages:
Sublime-Style-Column-Selection
Simply hold option and select columns of text rather than rows. Very useful creating configs for multiple interfaces at a time or for selecting a single column of data from the output of a show command.Minimap
Shows a small zoomed-out view of your file to the right-hand side. Useful as an overview or helping to find a single line in a large file.Remote-FTP
When I do the small amount of coding that I do for my job, it's useful to not need to rely on another program to handle transfers to and from the VM that I'm working on. Remote-FTP simply shows up in the project folder like a regular directory.Sequential-numbers
This may be the coolest package for Atom. Simply select multiple lines (either using Sublime-Style-Column-Selection or by holding Command while you click) and then press the key combination Control+Option+0. A small modal will show up where you can then create a list of numbers. Simply enter 1 and it will count up from 1 or try entering "10 + 10" to start at 10 and count up by 10. Useful for numbering access-lists or creating multiple port-channels at once.split-diff
The classic diff tool built for Atom. Show two configs side-by-side and easily compare the differences between them.Honorable Mention: Find and replace regex
Atom contains the ability to perform complex regex with find and replace. This is built into the core of Atom but it's the function that I probably use the most. I'm constantly reformatting data from a show command that's not always uniform and it's helpful to just create a quick regex to grab the data you need to see. I even keep a txt file with handy regex functions so that I can quickly use them rather than rewriting them every time.
iTerm2
The built in Mac Terminal serves its purpose but it's limited in how much in can be customized. In steps iTerm2. This is my preferred terminal application because I can create custom triggers, profiles and looks. iTerm2 also recently added the ability to use python script to perform custom actions.Being a network engineer means that you're going to spend some time on the console port of a switch or router and you need a way to interact with it. There are some other applications that will let you use your serial cable, but I find that it's easiest to just use the terminal application that I'm already using. What makes this even easier is that I create a profile and assign a keyboard shortcut so that accessing that session is quickly accessible. Use these instructions to set up a serial profile in iTerm2.
Trigger > "^([\S\s]+?)(>|#|\$)" > "Set Title..." > \1
This trigger (In settings under profiles > advanced) is set to update the title of the tab with the hostname of the device you're logged into so you always know which tab is which.Create Profile
Name: Serial
Shortcut key: ^+Command+S
Command: "screen /dev/tty.usbserial 9600"
Firefox
This may seem obvious but of course I need a web browser to do my job. Most of the applications and appliances that I deal with on a daily basis are now either entirely or just mostly web driven. Palo Alto firewalls, ISE, DNA Center, all require a modern web browser. I moved to Chrome years ago when Firefox seemed like it had slowed development, but I was surprised to find about a year ago that Mozilla had made big strides in its development of Firefox. I particularly like the privacy features that are now incorporated in Firefox and it seems to work with everything I need it to. I still keep Chrome on my machine for the occasional hiccups but very rarely need it.
Lastpass
Lastpass has been my password manager of choice for years. It’s simple and works on all my devices
uBlock Origin
uBlock Origin is a great Ad Blocker. It makes surfing the web less annoying. I truly don’t understand how people can live without.
HTTPS Everywhere
There’s no reason why you shouldn’t always be connecting via SSL if it’s available. HTTPS Everywhere automatically redirects you if you should be led astray.
VMware Fusion
I love my Mac, but the truth is that occasionally you're going to need an application that only works natively on Windows or you'd like to test out something in a more sandboxed environment. This is where virtualization software becomes so great. I've used Virtualbox before and it works great for being free to use but it pales in comparison to the ease of VMware Fusion. Annoyingly, VMware fusion does have a cost with it though.Windows 10
Ubuntu 19.04 Server
Omnigraffle
I need to generate network diagrams pretty often and since my preferred drawing application, Visio, is unavailable on the Mac, I've been using Omnigraffle and been relatively happy. I do still miss a few features of Visio, but I've been able to get everything I need done.I’ve got a set of custom isometric stencils that I’ll post soon.
Microsoft Remote Desktop
As much as I’d like to avoid it, I do occasionally have remotely manage Windows servers and I haven’t found a better tool to do it than from the people that invented it and luckily, they have a Mac client available. Get Microsoft Remote Desktop.
Bear
For taking notes, I really like the interface of Bear. It’s clean, simple, and searchable. I currently use the free version but have been toying with the idea paying for the pro version to get access to cross-device syncing.
Wireshark
I’ll admit that I’m not great at diagnosing network issues by using Wireshark, but it’s still indispensable for those really tough problems. Go ahead and get it installed now before you need it.
Honorable Mentions:
Termius
This may seem like a repeat of iTerm2, but it actually serves a different function for me. Occasionally I will run across a switch running an old version of code that has unsupported ssh algorithms and I've found that Termius tends to support them. I'm sure that I can enable the algorithms in a config file somewhere but Termius is just easier than dealing with that.
Homebrew
It's likely that you're going to need to install a command line application at some point and Homebrew is the easiest way to do that. Since Apple has decided to stop shipping Telnet, Homebrew makes this install very easy.Telnet
MTR
NMAP
Webex App
I spend a good portion of my week in webex meetings and I’ve learned that it’s always nice to be able to have a 1 button click to get into that meeting that you’re already 2 minutes late for. Do yourself a favor and download the Webex meetings app to make things easier on yourself. It syncs with your Outlook calendar and gives you a reminder of upcoming meetings.