Network engineers seem to be most often totting around Windows lappies. The Mac, however, works quite well for these networking folks too. After my earlier post on Setting Up Your Mac For Programming, I thought this would be a nice follow-up topic. I’ve personally found the Mac, and more specifically OS X, to be plenty capable for networking jobs.
The first thing I want to talk about is hardware related. It’s a hardware issue that is a sticky problem for many network engineering people. You see, most network equipment use a primitive form of interface — a serial port, sometimes called a console port. No keyboard, no display interface. Serial ports starting disappearing on notebooks first, and they’ve also become pretty much extinct on desktop computers for a couple of years already. Network engineers know just how important serial ports are.
The solution is to get a USB serial dongle. It plugs into the USB port on your computer, and on the other end has a male DB9 RS-232 port. There’re plenty of them. The challenge is to find one that works with Mac OS X. So instead of randomly picking out one at the store, I suggest that you check carefully for OS X compatibility. For online stores like Amazon, check buyer’s comments. In general, USB serial dongles based on FTDI chipsets and PL2303 chipsets are known to work because drivers are available, though you’ll still need to download and install them.
Unlike in Windows, you don’t need any special terminal emulation software in OS X. That’s because
screen, which comes in OS X, works just fine. You’d need to know the device file that represents your new serial port. Just run it like so:
screen /dev/tty.USBserial, replacing
tty.USBserial with whatever is appropriate for your USB serial dongle. Append the serial port baud rate if necessary, e.g.:
screen /dev/tty.USBserial 9600.
The next most oft needed hardware of most network engineers is the RJ45 Ethernet port. It’s another thing that has become rare these days, disappearing from most new notebooks. Again, while there are plenty of USB Ethernet dongles out there, you’ll need to find one that works with Mac OS X. Of course, you could just buy Apple’s official USB or Thunderbolt Ethernet adapters, but I’m assuming here you want to find something more affordable.
I have several USB Ethernet dongles, including Apple’s one. There is one cheapo dongle from Ebay which uses the AX88179 chipset that works. You need to download and install the driver of course. I’ve also got this Rosewill RNG-406U Ethernet Adapter from Amazon (see product page), which uses that sameAX88179 chipset.
I think where hardware is concerned, this is pretty much the only two things network engineers need. Those two items are essential tools of the trade.
Network engineers often need to change their notebook’s network configuration temporarily in order to communicate with a piece of network equipment. In OS X, you can use the GUI. In order not to muck up your usual network configuration settings, create a new Location on the Network page in System Preferences. For example, you can call this a Testing location. Configure your network setup as needed through the GUI. When you want to return to your regular network configuration, just change the location back to Automatic, or whichever your originally location was.
If you prefer to use command line, that’s easy too. Just open Terminal, and run
ifconfig. It’s similar to Linux and other Unix environments. Here’s an example on configuring the
$ sudo ifconfig en0 192.168.1.2/24 $ sudo route add default 192.168.1.1
It’s more troublesome to undo those changes, so I’d suggest an alternative method using the
$ sudo ipconfig set en0 192.168.1.2 255.255.255.0 $ sudo route add default 192.168.1.1
Reverting back to DHCP is easy:
$ sudo ipconfig set en0 dhcp
OS X being pretty much Unix, so all your favourite tools like
nc, etc, are all there. There’s also
openssl to test SSL servers if you need. Don’t worry if you don’t know what they are — those who need them will know.
tcpdump in case you need to inspect network packets on the wire. Wireshark is available if you prefer to use a GUI, or need to have more detailed breakdown of packet contents. At this time, the development version 1.99.8 will run natively without needing X11/XQuartz like the earlier versions required.
Anyone who’s studied Cisco network courses are likely to be familiar with Packet Tracer. It’s a great tool for learning. However, for more realistic and proper simulation of networks, there’s GNS3, a really cool network simulation tool. Perhaps you might be using GNS3 already, on Windows. There’s a version for Mac OS X too!
To monitor and troubleshoot your wireless network, there’s a iStumbler, similar to Network Stumbler available on Windows. iStumbler can also listen to Bluetooth, not just 802.11-type wireless networks.
Sometimes, you need a tftp server on your notebook. This is a convenient way to upload firmware images to a network equipment, or to download crash dumps. OS X has one built-in. Just do:
$ sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist $ sudo launchctl start com.apple.tftpd
Your tftp files are served from
/private/tftpboot. The file needs to exist in the directory first before you can write to it.
Last, but not least, there are a bunch of open source tools that are available through third-party software package management systems for OS X. I use Homebrew, and with that I can easily install (or download source and build) software like
fping, and others.
I’ve used Mac OS X for many years, and I’ve not found myself handicapped by the platform in accomplishing any networking tasks. So worry not, the Mac works great for network engineering folks.