Network Engineer your job Tools
This is for all engineers, what are the tools that you use on a daily basic. Mines are;
Secure CRT
Excel <--- to write configs
Word <-- writing documentation
Visio <-- for diagram
Onenote <-- to save all my notes
I'm looking into start writing my config on notepad++ suggested by an INE instructor. I don't have any troubleshooting tools since I don't do troubleshoot unless there is a problem on my design. I would like to see what you guys use and what you guys think about notepad++. Also anybody use excel to write configs? Thanks
Secure CRT
Excel <--- to write configs
Word <-- writing documentation
Visio <-- for diagram
Onenote <-- to save all my notes
I'm looking into start writing my config on notepad++ suggested by an INE instructor. I don't have any troubleshooting tools since I don't do troubleshoot unless there is a problem on my design. I would like to see what you guys use and what you guys think about notepad++. Also anybody use excel to write configs? Thanks
Comments
-
amb1s1 Member Posts: 408Any tips for excel use? Since I only have couple of month using it as my main config editor?
-
epicdean Member Posts: 50 ■■□□□□□□□□I have never used excel for writing configs can some of you elaborate on it.
-
Forsaken_GA Member Posts: 4,024I use Excel religiously. It's the best tool ever for generating configs.
I suppose it depends on your source material. Excel can be useful, but I can do it faster with bash/awk/sed/grep to actually generate the script, then I can feed that to an expect script to actually login and apply it hehe.
Visio is one that's going to be in every network engineers toolkit, like it or not. Besides my bash ninja tools, I also make frequent use of tcpdump. Confluence is my knowledgebase/wiki. Beyond that, we have a crapload of custom tools for various things, and in the event that a tool doesn't exist, I tend to write my own. -
amb1s1 Member Posts: 408I used it like a regular notepad the only difference is that you Highlight comments, noted, line that might want to review and you can separate configs in different sheet. It is easy because let see that you have two core switches and they usually have the same configs so you can have both config in two different column and you can see if you are missing something. Also, you can have your basic config on one sheet and then have the QOS in another. I used this way, but again I'm been doing it for couple of month, so I guarantee there is more tricks that I don't know yet.
-
ColbyG Member Posts: 1,264Forsaken_GA wrote: »I suppose it depends on your source material. Excel can be useful, but I can do it faster with bash/awk/sed/grep to actually generate the script, then I can feed that to an expect script to actually login and apply it hehe.
This is interesting. I'm weak at everything scripting, sadly. What do you use as your source for bash/awk/etc scripts.
In a recent case, for instance, I did a migration from an old DC access setup to a new one. I had the customer put all of their servers on a sheet with name and VLAN info (among other irrelevant information). With some predefined command syntax and concatenate in the top cell, all I had to do was drag from top to bottom and I had ~300 ports configured. Could I be doing this better? I feel like I'll end up with the spreadsheet either way as it is useful for more than simply generating config, but if there's a better/more flexible way to do these things, I'd love to know. -
Forsaken_GA Member Posts: 4,024This is interesting. I'm weak at everything scripting, sadly. What do you use as your source for bash/awk/etc scripts.
Whatevers provided to me. Some of my tools have to scrape a web page and parse through the data because that's all the information I get. Some info is provided on Excel spreadsheets, which I have to convert to CSV and parse. Other stuff, I have to pull via SNMP or from a database. Since no one was nice enough to write glue utils to make the data inputs consistent, I have to do it myself, and if I'm doing that, might as well process it at the same time as well.In a recent case, for instance, I did a migration from an old DC access setup to a new one. I had the customer put all of their servers on a sheet with name and VLAN info (among other irrelevant information). With some predefined command syntax and concatenate in the top cell, all I had to do was drag from top to bottom and I had ~300 ports configured. Could I be doing this better? I feel like I'll end up with the spreadsheet either way as it is useful for more than simply generating config, but if there's a better/more flexible way to do these things, I'd love to know.
Well, it depends. I could do the same thing by pulling down the spreadsheet, converting it to CSV (plenty of commandline utils to do it exist, so I don't need to open Excel at all), generate my outputs, and then feed that to another script to login and apply that configuration (if appropriate), **** it to a text file and then ftp/tftp it up to a server for later use, or pretty much whatever else I can imagine with it, even **** the parsed data back into a CSV and then convert that to an Excel spreadsheet hehe. Generally speaking, anything that's service effecting, I ftp up to a server for storage and review, or directly to the device if it's one of the platforms that I can just feed it a text file and it executes the commands therein (beats the crap out of copy and paste on massive configs, let me tell you....). Anything that's non service effecting, I just login and run right away (most commonly, I'm moving modems around due to capacity concerns) -
ColbyG Member Posts: 1,264Can you post some of your scripts/tools? I'd love to add them to the arsenal. And, hopefully one day, I can even build on them.
-
Forsaken_GA Member Posts: 4,024To give you a few practical examples:
Every week, we get a capacity report, showing which upstreams and downstreams are close to being overloaded. The only way this is delivered is via a web page. So I my script wgets the web page, I run that through sed to filter out the garbage, then I awk out the box names and the ports in question. I feed those to an expect script which logs into each box, and pulls a list of modems on those ports. The script then looks at those modems, identifies which ones need to be moved, and looks at the rest of the box configuration and determines the appropriate port to move the modem to. It generates the config to move the modem, then logs back into the box and moves it. Prior to me coming on board, this was an entirely manual process. They split the boxes out among team members, and everyone was responsible for getting their work done before the next report came out. Sometimes it didn't happen, because we got overloaded, or folks were out sick, etc. I put up with that **** for about 2 weeks before I said I could do it better, and started scripting. Now, it takes about 5 hours, and I run the thing nightly, which frees us up from doing tedious stuff and results in better service for our customers.
There are some configurations within the division that should be consistent on every box, but with a network of this scale, ain't. This used to require manual auditing. Then I figured out that all of our boxes configurations are stored in a central database. Now, if something needs to be standardized across the board, I feed it a list of boxes (or just grab them all), identify which ones have the improper configuration, generate the correct one, log in to the box, and apply it. Again, this was a tedious and boring process, especially since every market configures their crap differently, and it's basically been reduced to 'run the script'. We do not do this for anything service effecting, we want a real person to do that on purpose, so for anything service effecting, I just generate the config and put it somewhere else, and someone gets to review it, and then copy/paste it, or execute the text file as a sanity check.
Some of my data is provided in the form of an Excel spreadsheet with just a box name, and some data item. ipv6 configuration is the most common. Our IP management guys are an entirely separate team, and they're not network engineers, so they don't do configuration. They just hand us a spreadsheet with things like a box name and an interface and the IP that needs to go on it, or a static route that needs to be applied. I convert the Excel spreadsheet to csv, parse it, generate the config, and then have it login to the box and apply it.
These are just a few examples, but suffice it to say, having these skills in my toolbox have been very good for me. In four months, I've managed to increase the efficiency of my team a good bit, which is good because we're understaffed. And it's been noticed by upper management. My boss jokingly reminds me that I'm his guy, because I've got folks coming to me from other teams for help with their stuff.
My goals are pretty simple. Our folks are smart and skilled people, and wasting time on tedious stuff is a waste of our skills. My goal is to reduce all of that crap to 'run the script'.
Now, there is some danger in that. It has the potential to erode the knowledgebase, as people become dependent on the script to do all of that work. Upgrades or other changes may break it, and at some point I might not be around to fix it, and there might not be anyone else available with the skillset to do so. This is why, in addition to providing the script, I provide thorough and very detailed documentation on the process the script is performing, so in the event that the script is non-functional for some reason, the knowledge to perform the process is still available. -
Forsaken_GA Member Posts: 4,024Can you post some of your scripts/tools? I'd love to add them to the arsenal. And, hopefully one day, I can even build on them.
I'm really not sure it would help. Alot of it, I would have to sanitize as it contains potentially sensitive information, and what I didn't have to sanitize wouldn't make alot of sense without having the inputs to correlate it to (and for obvious reasons, I'm not sharing the inputs!)
This is one of my heavy lifters, it's the expect script I use to login to boxes and apply configurations. It takes two commandline arguments, the first being an IP or FQDN, the second a text file containing the commands to be run after logging into the box.#!/usr/bin/expect -f set timeout -1 #exp_internal 1 set address [lrange $argv 0 0] set commands [lrange $argv 1 1] set fp [open "$commands" r] set data [read $fp] log_file -noappend ./$address.log spawn /usr/bin/telnet $address expect "Username:" "send <USERNAME SANITIZED>\r" expect "Enter PASSCODE:" send "<PASSCODE SANITIZED>\r" expect -re "#" { send "$data"; } interact close $fp
-
7of9 Member Posts: 76 ■■■□□□□□□□Wow...this really is some ninja-level stuff!
A related question...rather than giving us the script sources...can you point out some good resources for LEARNING script skills like these? I've tried a few times to learn scripting and have never quite gotten the hang of it, but I think now might be a good time to try again, particularly hearing about the level of automation you've been able to achieve. Books, websites...anything you've got that you've found helpful?
Thanks!
Oh...as far as tools...besides the usual...
Airmagnet - I use this extensively for surveying and troubleshooting RF issues.
Cisco Spectrum Expert - Finding RF interference, troubleshooting
Wireshark - Of course
SecureCRT - I hate putty
Angry IP - quick port scanner
Kiwi CatTools - Used to be more useful before Solarwinds bought them
Snmpcrawler
Other than that, I think my toolkit is pretty standard and could definitely be updated.Working on Security+ study, then going back to re-do my Cisco Certs, in between dodging moose and riding my Harley -
7of9 Member Posts: 76 ■■■□□□□□□□One other question - Do you use Confluence at work, for the group you work with, or do you use it for your own personal wiki/knowledgebase? Either way, why did you pick it above other choices?
Thanks!Working on Security+ study, then going back to re-do my Cisco Certs, in between dodging moose and riding my Harley -
Forsaken_GA Member Posts: 4,024Wow...this really is some ninja-level stuff!
A related question...rather than giving us the script sources...can you point out some good resources for LEARNING script skills like these? I've tried a few times to learn scripting and have never quite gotten the hang of it, but I think now might be a good time to try again, particularly hearing about the level of automation you've been able to achieve. Books, websites...anything you've got that you've found helpful?
The best way to learn scripting is to have a need for something, and then try to build it. Just trying to acquire scripting as a skill without any need in mind for it is just going to bore you, it's alot easier to retain it and stick with it when you're working towards a goal. My early scripting attempts were ugly and nasty, and I've refined my skills over the years, but while my early code may have been ugly as sin... it worked.
I personally used the O'Reily bash, awk & sed, and expect books. I purchased paper copies of them, and I also have the electronic editions on my ipad in case I need them for reference. awk & sed are great for script integration, but I actually learned them for text processing when I was a unix admin, as they're absolutely killer tools for extracting pertinent information out of log files. bash scripting and expect were things I learned specifically for scripting. I also do alot of googling for concepts that I think of that might not necessarily be in the books and I can usually find code that leads me in the right direction. -
Forsaken_GA Member Posts: 4,024One other question - Do you use Confluence at work, for the group you work with, or do you use it for your own personal wiki/knowledgebase? Either way, why did you pick it above other choices?
Thanks!
Both. I was introduced to it when I worked for Dell, and liked it enough that I purchased the starter license (it's only 10 bucks for 10 users) and set it up on a VM in my lab for personal use, replacing MediaWiki. I was very happy when I got to my current job and found it in use as well.
As for why I picked it, I think it's a better platform than MediaWiki, and I detest Sharepoint, and realistically, those are the only other platforms that could meet my needs. -
mattau Member Posts: 218Forsaken_GA wrote: »The best way to learn scripting is to have a need for something, and then try to build it. Just trying to acquire scripting as a skill without any need in mind for it is just going to bore you, it's alot easier to retain it and stick with it when you're working towards a goal. My early scripting attempts were ugly and nasty, and I've refined my skills over the years, but while my early code may have been ugly as sin... it worked..
+1 to that.
before I even got into cisco I tried briefly at c++ programming. Just reading through books etc trying various things. I found I got no where. Then got into cisco and then recently into linux. Ive since tried my hand at a few things with bash scripts with things that had a purpose and i actually suceeded in doing what i wanted to do with some trial and error and I have basically no experience at all in coding!_____________________________________
CCNP ROUTE - passed 20/3/12
CCNP SWITCH - passed 25/10/12
CCNP TSHOOT - passed 11/12/12 -
cmitchell_00 Member Posts: 253 ■■■□□□□□□□I use some of everything on a daily so; it depends on the issue.
*Just to name a few below:
Putty&Hyperterminal
Telnet\RDP
Wireshark
Notepad
MS Visio
Excel to save all important IP's etc.
NetCool\SolarWinds
Syslog Daemon
Cisco CCA -
jason_lunde Member Posts: 567iperf and nc (aka netcat). Iperf for simulated throughput testing, and netcat for alot of random stuff.
-
ampdeck Member Posts: 35 ■■□□□□□□□□Notepad++ is a must have tool for editing config files and comparing config changes for faster troubleshooting.
Excel is also useful for me when dealing with tons of MAC add eg. IPT deployment. My favorite excel formula would be vlookup, also useful for inventory -
terryfera Member Posts: 71 ■■■□□□□□□□iperf and jperf (xjperf - Graphical frontend for IPERF written in Java - Google Project Hosting) for a visual representation (because everyone loves graphs )
Solarwinds Engineers Toolkit
Securecrt/xshell
Notepad++
Wireshark
tftpd32
inSSIDer
Visio
GNS3
And because I work in a large enterprise all the Office apps and custom web tools we have to deal with IPAM, change management, CMDB, etc. -
networker050184 Mod Posts: 11,962 ModCrimson Editor is great. Can't beat that column editing function.
Cygwin if you are working primarily from a Windows machine is a must have for me.An expert is a man who has made all the mistakes which can be made. -
HackedAlias Member Posts: 34 ■■□□□□□□□□SecureCRT
NetformX DesignXpert - site surveys
Solarwinds LANsurveyor - Site surveys
3Cdaemon TFTP
Cisco Output analyzer
Cisco VPN client/any connect
Excel/Visio/Word
Best of all is Google -
cmitchell_00 Member Posts: 253 ■■■□□□□□□□
Dang... I forgot about Google/Internet and even Youtube.com. -
Forsaken_GA Member Posts: 4,024networker050184 wrote: »Cygwin if you are working primarily from a Windows machine is a must have for me.
I keep trying to work in a Cygwin environment whenever I get handed a windows laptop and it just doesn't work well for me, so I guess for me, I'd have to add in Virtual Box with a Debian VM hehe -
Sett Member Posts: 187ExamDiff is a nice tool to compare 2 files and highlight the differences. I am using it to go check the differences between 2 configuration files
ExamDiff - Download.comNon-native English speaker -
johnwest43 Member Posts: 294+1 on notepad++! I use it exclusively for configs as well as bash scripts.
I just started using Linux about 2 years ago, man what an awesome way to work! I use bash scripts for everything from formating syslog messages and dumping them into a database, to nightly server backups to even checking on raid arrays (Linux software RAID) and sending emails if an array has disk go bad! I have even written a script to pull current weather data from NOAA once every 15 minutes and format it for Cisco IP Phones!!
Like Foresaken said best to just have a need and then research how to write the script. There are tons of resources on the interwebs for bash scripting. I can promise you after writing a few scripts you will wonder how you ever got by without them!
I also use MRTG,PRTG,WiresharkCCNP: ROUTE B][COLOR=#ff0000]x[/COLOR][/B , SWITCH B][COLOR=#ff0000]x[/COLOR][/B, TSHOOT [X ] Completed on 2/18/2014 -
Zartanasaurus Member Posts: 2,008 ■■■■■■■■■□I use all kind of stuff, some more than others.
Solarwinds NPM, APM, NCM.
Excel for generating quick and dirty configs.
Powershell
Visio
NetFlow
nMap
Putty Configuration Manager
Evernote
GNS3Currently reading:
IPSec VPN Design 44%
Mastering VMWare vSphere 5 42.8%