<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Aaron&#039;s Worthless Words &#187; tools</title>
	<atom:link href="http://aconaway.com/tag/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://aconaway.com</link>
	<description>It&#039;s possible that someone somewhere needs to see this.</description>
	<lastBuildDate>Wed, 01 Feb 2012 02:07:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>A Better (?) Way to Handle Logs</title>
		<link>http://aconaway.com/2009/01/19/a-better-way-to-handle-logs/</link>
		<comments>http://aconaway.com/2009/01/19/a-better-way-to-handle-logs/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 20:20:14 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[syslog]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://aconaway.com/?p=182</guid>
		<description><![CDATA[Happy new year, all.  I&#8217;m finally over my hangover from the party and ready to blog. Everywhere I go, I always wind up in a debate about how to alert on log messages as they come in.  I was at the grocery store yesterday, and the cashier told me that she had a list of log messages that she watched for, and, if she saw one of them, she sent an email.  I asked her what she would do if she got a log message that she had never seen before, and she said that she would have to find it first, then research the message and put in an alert for the next time it showed up. This is probably a decent method for most setups, but what if that one message was that someone was DOSing your Internet router or that your firewalls were all at 100% CPU?  My preferred logging method (and others&#8217;) is to send an alert on every message and, if I don&#8217;t really care about it, to filter it out for the next time.  Now, when I see a message that hasn&#8217;t come in before, I know that something has happened instead of finding [...]]]></description>
			<content:encoded><![CDATA[<p>Happy new year, all.  I&#8217;m finally over my hangover from the party and ready to blog.</p>
<p>Everywhere I go, I always wind up in a debate about how to alert on log messages as they come in.  I was at the grocery store yesterday, and the cashier told me that she had a list of log messages that she watched for, and, if she saw one of them, she sent an email.  I asked her what she would do if she got a log message that she had never seen before, and she said that she would have to find it first, then research the message and put in an alert for the next time it showed up.</p>
<p>This is probably a decent method for most setups, but what if that one message was that someone was DOSing your Internet router or that your firewalls were all at 100% CPU?  My preferred logging method (and others&#8217;) is to send an alert on every message and, if I don&#8217;t really care about it, to filter it out for the next time.  Now, when I see a message that hasn&#8217;t come in before, I know that something has happened instead of finding the message after all my routers have died.</p>
<p>The big disadvantage to using this method, though, is the noise you&#8217;ll get at first.  If there are no filters on the messages, you&#8217;ll see denies from your firewalls, port up/down from your switches, and a whole bunch of other messages that you get 4849278 times a day.  If your network is large enough, you may get so many that you fill up your syslog server.  That sucks, but it&#8217;s it&#8217;s the price you pay for being able to know when something unknown is happening.  As the alerts DB matures, you usually only see stuff that doesn&#8217;t come up very often &#8212; like when a power supply dies or someone is attacking your web server.</p>
<p>Just some food for thought.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2009/01/19/a-better-way-to-handle-logs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Little Politics for the New Year</title>
		<link>http://aconaway.com/2008/12/29/a-little-politics-for-the-new-year/</link>
		<comments>http://aconaway.com/2008/12/29/a-little-politics-for-the-new-year/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 14:25:57 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://aconaway.com/?p=176</guid>
		<description><![CDATA[Stretch at Packetlife has a lively little write-up on the Australian government&#8217;s attempt to implement a nation-wide web filtering service. From Packetlife.net: Setting aside the myriad of technical barriers to implementing such a system, the most obvious question is, &#8220;who decides what gets blocked?&#8221; When a corporation implements a web filter, it does so in accordance with corporate policy &#8212; policy that is set by the owner of the network. But the Internet doesn&#8217;t belong to any one entity, be it governmental or commercial, so such an authority simply doesn&#8217;t exist at this scale. In a very Orwellian sense, this filtering initiative appears to want to create that authority out of thin air. I don&#8217;t know enough about the specifics down under to weigh in very heavily, but I would never support any service that filters web content from my house. Aaron ConawayI like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.Website - More Posts]]></description>
			<content:encoded><![CDATA[<p>Stretch at <a title="Packetlife.net -- Political Packets" href="http://packetlife.net/blog/2008/dec/27/political-packets/">Packetlife </a>has a lively little write-up on the Australian government&#8217;s attempt to implement a nation-wide web filtering service.</p>
<p>From Packetlife.net:</p>
<blockquote><p>Setting aside the myriad of technical barriers to implementing such a system, the most obvious question is, &#8220;who decides what gets blocked?&#8221; When a corporation implements a web filter, it does so in accordance with corporate policy &#8212; policy that is set by the owner of the network. But the Internet doesn&#8217;t belong to any one entity, be it governmental or commercial, so such an authority simply doesn&#8217;t exist at this scale. In a very Orwellian sense, this filtering initiative appears to want to create that authority out of thin air.</p></blockquote>
<p>I don&#8217;t know enough about the specifics down under to weigh in very heavily, but I would never support any service that filters web content from my house.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2008/12/29/a-little-politics-for-the-new-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is That a Bandwidth Graph or a Polygraph?</title>
		<link>http://aconaway.com/2008/12/23/is-that-a-bandwidth-graph-or-a-polygraph/</link>
		<comments>http://aconaway.com/2008/12/23/is-that-a-bandwidth-graph-or-a-polygraph/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 15:38:54 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[snmp]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://aconaway.com/?p=174</guid>
		<description><![CDATA[I thought I&#8217;d throw an easy one out before taking off for the holiday.  Merry Christmas, Hannukah, Kwanzaa, Saturnia, etc., to all. A few years ago, I was looking through some Cacti graphs of gigabit trunks between 6500s and noticed an abrupt change in traffic.  The graphs were nice and smooth at around 135Mpbs until, seemingly randomly, they just started going wild.  It seriously looked like a lie detector from the movies; I saw spikes up to 140Mbps in one sample and 2Mpbs the next sample for days and days.  I looked around to see if anything weird was going on somewhere on the network, but I didn&#8217;t find anything. I manually went to the trunk ports and sampled the output of show interface over the course of a day or so.  Nothing strange.  Everything was moving up and down about 10% during the day, but there were no huge jumps and drops like the graphs told me. I asked our monitoring guy for a little help, and we sat down and found&#8230;nothing.  On a whim, we started looking through the templates that we could use on an interface and saw the 64-bit counters, which triggered a little binary math [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I&#8217;d throw an easy one out before taking off for the holiday.  Merry Christmas, Hannukah, Kwanzaa, Saturnia, etc., to all.</p>
<p>A few years ago, I was looking through some Cacti graphs of gigabit trunks between 6500s and noticed an abrupt change in traffic.  The graphs were nice and smooth at around 135Mpbs until, seemingly randomly, they just started going wild.  It seriously looked like a lie detector from the movies; I saw spikes up to 140Mbps in one sample and 2Mpbs the next sample for days and days.  I looked around to see if anything weird was going on somewhere on the network, but I didn&#8217;t find anything.</p>
<p>I manually went to the trunk ports and sampled the output of <em>show interface</em> over the course of a day or so.  Nothing strange.  Everything was moving up and down about 10% during the day, but there were no huge jumps and drops like the graphs told me. I asked our monitoring guy for a little help, and we sat down and found&#8230;nothing.  On a whim, we started looking through the templates that we could use on an interface and saw the 64-bit counters, which triggered a little binary math in both of our heads.</p>
<blockquote><p>2^32 = 4,294,967,296<br />
120Mbps * 60 sec/min * 5 min/sample = 3,600,000,000 bits/sample</p></blockquote>
<p>That&#8217;s awful close, isn&#8217;t it?  What if traffic goes up to 150Mbps.</p>
<blockquote><p>150Mbps * 60 sec/min * 5 min/sample = 4,500,000,000 bits/sample</p></blockquote>
<p>That&#8217;s bigger than a 32-bit counter!  If a trunk was pushing 150Mbps at any time, Cacti would not be able to detect that a counter had been flipped multiple times between samples!</p>
<p>Cacti (and any or most other SNMP tools) polls an interface, it gets the total number of bits that have been sent or received since these counters were reset (usually at boot).  When it polls again in 5 minutes, it get the new number and subtracts the old number, and, voila, the total number of bits transferred in the last 5 minutes.  If the new number is smaller than the first, then Cacti assumes that the counter flipped and adds the second number to the difference between the first number and 2^32 to get the value.  If, however, the interface is spewing out 150Mpbs of data, the counters may flip around once and then still be higher than the original number.  If that the case, Cacti only sees a small number of bits difference and show you a sample rate of 2Mpbs.  What if you&#8217;re pushing 300Mbps on the trunk?  It may flip twice and still land higher than the first sample for a rate of 2Mbps.  Ack!</p>
<p>The fix?  Query the proper OID for 64-bit counters.  It shows the same data, but reports it in much larger numbers.  Calculating 2^64 gives you 18,446,744,073,709,551,616.  That&#8217;s 18.4Ebps.  Exabits.  Wow.  I can&#8217;t even imagine that much traffic.  I&#8217;m sure I&#8217;ll be dead and gone by the time network reach those speeds in the wild.</p>
<p>All modern network gear has the capability to use 64-bit counters, so use them where you can.  Since it&#8217;s jut another OID, using 64-bit counters doesn&#8217;t add any more CPU to the gear or the monitoring box.  Some packages like Cacti come bundled with support for &#8220;the big boy&#8221; counters, but you may have to do a little research and find the right OID to query. Google is your friend.  Let me know if you have problems, and I&#8217;ll try to help.</p>
<p>Do it now, by the way; you don&#8217;t want to have to explain those flaky graphs to the boss.  The concept of Exabits may be a little much for him to understand.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2008/12/23/is-that-a-bandwidth-graph-or-a-polygraph/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Setting Up Syslog on a Linux Box for Your IOS Devices</title>
		<link>http://aconaway.com/2008/08/26/setting-up-syslog-on-a-linux-box-for-your-ios-devices/</link>
		<comments>http://aconaway.com/2008/08/26/setting-up-syslog-on-a-linux-box-for-your-ios-devices/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 14:06:07 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://aconaway.com/2008/08/26/setting-up-syslog-on-a-linux-box-for-your-ios-devices/</guid>
		<description><![CDATA[A few articles ago, we discussed getting logging up and running on your IOS box.  Part of the discussion was actually having the device log remotely to a box somewhere, but that&#8217;s kind of worthless without a properly (for definitions of proper) configured syslog server.  A low-end Linux box with an appropriate amount of disk space is a really good candidate to do this for you.  I&#8217;ll assume you&#8217;re running some Redhat-based distro. I won&#8217;t go through the installation, but it should be easy.  Just look for the syslog packages for your distro and you should wind up with a working copy on your box.  On a Redhat distro, you&#8217;ll probably just do a yum install syslog to get it working. The first thing you need to do is to configure the daemon to listen for remote machines, so open in /etc/sysconfig/syslog in your favorite editor (read: vi) and change the SYSLOGD_OPTIONS line to read this. SYSLOGD_OPTIONS=&#8221;-m 0 -r&#8221; By default, if you restarted the daemon now, you&#8217;d wind up sending all your syslog messages to /var/log/boot.log.   That may be alright for you, but, if you have a lot of devices, you may want to log them to another file.  [...]]]></description>
			<content:encoded><![CDATA[<p>A few articles ago, <a href="http://aconaway.com/2008/08/11/setting-up-a-system-logging-on-an-ios-device/" title="AConaway.com -- Setting up System Loggin on an IOS Device">we discussed</a> getting logging up and running on your IOS box.  Part of the discussion was actually having the device log remotely to a box somewhere, but that&#8217;s kind of worthless without a properly (for definitions of proper) configured syslog server.  A low-end Linux box with an appropriate amount of disk space is a really good candidate to do this for you.  I&#8217;ll assume you&#8217;re running some Redhat-based distro.</p>
<p>I won&#8217;t go through the installation, but it should be easy.  Just look for the syslog packages for your distro and you should wind up with a working copy on your box.  On a Redhat distro, you&#8217;ll probably just do a <em>yum install syslog</em> to get it working.</p>
<p>The first thing you need to do is to configure the daemon to listen for remote machines, so open in <em>/etc/sysconfig/syslog</em> in your favorite editor (read: vi) and change the SYSLOGD_OPTIONS line to read this.</p>
<blockquote><p>SYSLOGD_OPTIONS=&#8221;-m 0 -r&#8221;</p></blockquote>
<p>By default, if you restarted the daemon now, you&#8217;d wind up sending all your syslog messages to <em>/var/log/boot.log</em>.   That may be alright for you, but, if you have a lot of devices, you may want to log them to another file.  To do that, you need to change the local7 line at the bottom of <em>/etc/syslog.conf</em>.  Just add this and comment out the original line.</p>
<blockquote><p>#  Write router messages to /var/log/cisco.log<br />
local7.*       /var/log/cisco.log</p></blockquote>
<p>&lt;NOTE&gt;<br />
This is not the best way to do handles messages from IOS devices, but it&#8217;ll get your started.  You&#8217;ll want to look at changing the facility or further filtering the logging based on facility and severity. In several setups I&#8217;ve done, the devices all log to files based on function &#8212; routers to one file, firewalls to another, switches to another, etc. &#8212; and those files are rotated every X hours.<br />
&lt;/NOTE&gt;</p>
<p>That&#8217;s all the configuration you need, so let&#8217;s restart the service for everything to spring into action.</p>
<blockquote><p>/etc/init.d/syslogd restart</p></blockquote>
<p>In a perfect world, when your IOS devices are configured properly, you&#8217;ll have a nice log of IOS messages to keep for posterity.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2008/08/26/setting-up-syslog-on-a-linux-box-for-your-ios-devices/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Setting Up System Logging on an IOS Device</title>
		<link>http://aconaway.com/2008/08/11/setting-up-a-system-logging-on-an-ios-device/</link>
		<comments>http://aconaway.com/2008/08/11/setting-up-a-system-logging-on-an-ios-device/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 15:41:11 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[ios]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://aconaway.com/2008/08/11/setting-up-a-system-logging-on-an-ios-device/</guid>
		<description><![CDATA[I like logging on an IOS device.  I like to look at the buffer and tell you that your interface went down 30 seconds ago.  I like to look on the box and see that BGP with my Internet provider has been flapping since 02:13ET.  I like to look and see that one of the other guys has been making changes to the gear all morning.  I could go on and on. There are lots of ways to monitor a Cisco box &#8212; SNMP polling, SNMP traps, show commands, etc. &#8212; but there&#8217;s nothing so handy as the log buffer.   A show logging can provide you all sorts of information on things you do and don&#8217;t care about, so it&#8217;s important to know the destinations and levels when setting up logging. There are four logging destinations. Console &#8212; logs to the console ports of the device Monitor &#8212; logs to any device or pseudo-device that&#8217;s in monitoring mode.  The most common application is when you do a terminal monitor to see output of debugs. Buffer &#8212; logs to a memory device that let&#8217;s you see the log messages on demand.  It has a finite size and scrolls old messages [...]]]></description>
			<content:encoded><![CDATA[<p>I like logging on an IOS device.  I like to look at the buffer and tell you that your interface went down 30 seconds ago.  I like to look on the box and see that BGP with my Internet provider has been flapping since 02:13ET.  I like to look and see that one of the other guys has been making changes to the gear all morning.  I could go on and on.</p>
<p>There are lots of ways to monitor a Cisco box &#8212; SNMP polling, SNMP traps, <em>show </em>commands, etc. &#8212; but there&#8217;s nothing so handy as the log buffer.   A <em>show logging</em> can provide you all sorts of information on things you do and don&#8217;t care about, so it&#8217;s important to know the destinations and levels when setting up logging.</p>
<p>There are four logging destinations.</p>
<ul>
<li>Console &#8212; logs to the console ports of the device</li>
<li>Monitor &#8212; logs to any device or pseudo-device that&#8217;s in monitoring mode.  The most common application is when you do a <em>terminal monitor</em> to see output of debugs.</li>
<li>Buffer &#8212; logs to a memory device that let&#8217;s you see the log messages on demand.  It has a finite size and scrolls old messages out after X bytes have been written.</li>
<li>Host or Trap &#8212; logs to an external syslog server.</li>
</ul>
<p>What&#8217;s the most important destination?  There&#8217;s not one.  I personally thing the syslog host is the most important since it allows you to log messages to disk on a server somewhere.  The buffer is also important since it lets anyone with access see what&#8217;s going on with the device.  Your mileage will vary depending on what you have set up.</p>
<p>There are eight logging levels as well.</p>
<ul>
<li>Debug &#8211; level 7</li>
<li>Informational &#8211; level 6</li>
<li>Notifications &#8211; level 5</li>
<li>Warnings &#8211; level 4</li>
<li>Errors &#8211; level 3</li>
<li>Critical &#8211; level 2</li>
<li>Alerts &#8211; level 1</li>
<li>Emergencies &#8211; level 0</li>
</ul>
<p>Wow.  There&#8217;s some numbers.  What does it mean?  Every logging message comes with a level.  If my CSM loses a RIP, it generates a level 6 message (%CSM_SLB-6-RSERVERSTATE) telling me.  If I configure the box, I get a level 5 message (%SYS-5-CONFIG_I) saying that I&#8217;ve done so.  If my router is on fire in the rack, I&#8217;ll get a level 0 message telling me.  Now, when you configure a destination, you have to give a logging level, and every message at that level or below will be logged.  If I set my logging buffer to 5, I&#8217;ll see the configuration message and the &#8220;Oh, the humanity!&#8221; message, but not the RIP failures.  If I set it to 0, I only see the emergencies.  If I set it to 7, I see everything.</p>
<p>Let&#8217;s do the configuration, then.  After hours or research, you&#8217;ve decided to use a remote syslog server at 1.2.3.4 for warnings and the buffer for informational.  Here&#8217;s what you&#8217;d do.</p>
<blockquote><p><code>logging host 1.2.3.4<br />
logging trap warnings<br />
logging buffer information</code></p></blockquote>
<p>It&#8217;s not that hard.  You can even use the number instead of the words for the logging level if you would like.  The same procedure holds true for the console and monitor mechanisms &#8212; logging &lt;mechanism&gt; &lt;level&gt;.  Easy.</p>
<p>If you care, here&#8217;s what I usually run.</p>
<ul>
<li>Console &#8212; off.  I&#8217;ve seen a console rendered unusable because the console was being obliterated with syslog messages.  Not only is it an issue with being able to see what you&#8217;re typing when stuff is scrolling, but some older devices wind up using 100% CPU because they&#8217;re sending messages to the console.</li>
<li>Monitor &#8212; debug.  It doesn&#8217;t really log anything unless you do a <em>term mon</em> or something, and, in that case, I want to see my debugs.</li>
<li>Buffer &#8212; informational, but it depends on the device.  It lets me see all the messages except for debugs, which is probably just right for most routers and switches.  If you&#8217;re switch is in a closet somewhere with users plugged directly into it, you may be flooded with up/down messages, so keep an eye out for stuff like that.</li>
<li>Host or Trap &#8212; informational.  Debug&#8217;s a little too much for the corporate environment, but, depending on how much disk space you have, you may be able to handle it.</li>
</ul>
<p>There&#8217;s a lot more to syslog and log messages, so see <a href="http://www.cisco.com/en/US/docs/ios/12_4/system/messages/Vol2/sm_over2.html" title="Cisco.com -- Cisco IOS System Messages">this nifty Cisco page</a>.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2008/08/11/setting-up-a-system-logging-on-an-ios-device/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How Screen Can Change Your Life</title>
		<link>http://aconaway.com/2008/07/10/how-screen-can-change-your-life/</link>
		<comments>http://aconaway.com/2008/07/10/how-screen-can-change-your-life/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 15:17:14 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://aconaway.com/2008/07/10/how-screen-can-change-your-life/</guid>
		<description><![CDATA[Alright, that&#8217;s an exaggeration, but screen is pretty freaking cool.  It&#8217;s an app that&#8217;s (usually) run under Linux that lets you run commands then detach from that session and reattach later.  It doesn&#8217;t seem like much, but a few examples can show what it does for me. I have a backup script at home that takes a target file, tars up everything listed in there, zips up the new file, and puts it on an external drive.  It&#8217;s very simple but takes about 3 hours to run.  I run it manually, so, in normal circumstances, I have to SSH in to my box and keep that window open for 3 hours while the backup runs.  With screen, I can open a new shell, run the script, and detach from it while everything gets backed up. To do this, I log into my box and simply type screen.   This takes me to a new shell that&#8217;s no different than the one I got when I first logged into the box, and, from here, I run my backup script and watch it dump output like it&#8217;s going out of style.  When I see it&#8217;s running as expected, I do a Ctrl-A, D [...]]]></description>
			<content:encoded><![CDATA[<p>Alright, that&#8217;s an exaggeration, but <a href="http://en.wikipedia.org/wiki/GNU_Screen" title="Wikipedia -- Screen">screen</a> is pretty freaking cool.  It&#8217;s an app that&#8217;s (usually) run under Linux that lets you run commands then detach from that session and reattach later.  It doesn&#8217;t seem like much, but a few examples can show what it does for me.</p>
<p>I have a backup script at home that takes a target file, tars up everything listed in there, zips up the new file, and puts it on an external drive.  It&#8217;s very simple but takes about 3 hours to run.  I run it manually, so, in normal circumstances, I have to SSH in to my box and keep that window open for 3 hours while the backup runs.  With screen, I can open a new shell, run the script, and detach from it while everything gets backed up.</p>
<p>To do this, I log into my box and simply type <em>screen</em>.   This takes me to a new shell that&#8217;s no different than the one I got when I first logged into the box, and, from here, I run my backup script and watch it dump output like it&#8217;s going out of style.  When I see it&#8217;s running as expected, I do a <em>Ctrl-A, D</em> to detach from the session and return to my original shell.  From there, I can do my other business or just log off.  When I want to check status, I log into the box again, type <em>screen -r</em> to reattach, and I&#8217;m back at my backup session.</p>
<p>How about something more network-dude(tte)-based?  In the past, we&#8217;ve had issues with our VPN kicking us off at random times while we&#8217;re trying to do some maintenance.  This sucked pretty badly for us when we were doing log archive searches or running custom reporting scripts that may each take several minutes to run  &#8212; when we got kicked off, we lost everything we had.  Since we weren&#8217;t the guys doing the VPN at the time, we wound up using screen to help alleviate some of those problems.  We would VPN in and connect to one of the Linux management servers.   From there, we would open a new screen session and do our work.  When the inevitable boot came around, we could just reattach to the screen session to find our stuff still running.  That saves a whole mess of frustration when something happens at 03:00.</p>
<p>What else?  I&#8217;ve mentioned in past articles that I use screen to run dynagen labs &#8212; I have a shell for dynamips, one for dynagen, and one for each console that all run in the same screen session.  I can use my function keys to add new shells, navigate among them, and detach when I&#8217;m done. I editing my <em>.screenrc</em> file on my lab box so that I get the same setup just by typing <em>screen</em>. I stole most of this off the Intrawebs, but here&#8217;s my .screenrc file.  It sets up the function keys for navigation and opens (and labels) the multiple sessions for my labs.</p>
<blockquote><p>bindkey -k k7 detach<br />
bindkey -k k8 kill<br />
bindkey -k k9 screen<br />
bindkey -k k; title<br />
bindkey -k F1 prev<br />
bindkey -k F2 next<br />
termcapinfo xterm ti@:te@<br />
term vt100<br />
multiuser on<br />
shell -$SHELL<br />
screen -t dyanmips 0<br />
screen -t dynagen 1<br />
screen -t R0 2<br />
screen -t R1 3<br />
select 0</p></blockquote>
<p>Check the man pages or ask me for more details.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2008/07/10/how-screen-can-change-your-life/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Loading Configs at Startup in Dynagen</title>
		<link>http://aconaway.com/2008/06/24/loading-configs-at-startup-in-dynagen/</link>
		<comments>http://aconaway.com/2008/06/24/loading-configs-at-startup-in-dynagen/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 17:55:17 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[dynagen]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://aconaway.com/2008/06/24/loading-configs-at-startup-in-dynagen/</guid>
		<description><![CDATA[Here&#8217;s a quick one for you. In Dynagen, if you want to load a configuration when you first fire up the router instance, you can use the cnfg tag in your NET file like this. cnfg = /home/jac/labs/cfg/R0.cfg If you put that in your dynagen NET file under a router, the contents of that file will be loaded into the router configuration when it&#8217;s brought up. This is great if you already have a configuration to use in another lab or if you want to load a basic configuration on startup. Please be warned, though; if you make changes to your router instance via the CLI and restart dyangen, the configuration changes you made will be gone.  Be sure to remove that line from the NET before you restart dynagen. Aaron ConawayI like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.Website - More Posts]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick one for you.  In Dynagen, if you want to load a configuration when you first fire up the router instance, you can use the <em>cnfg </em>tag in your NET file like this.</p>
<blockquote><p>cnfg = /home/jac/labs/cfg/R0.cfg</p></blockquote>
<p>If you put that in your dynagen NET file under a router, the contents of that file will be loaded into the router configuration when it&#8217;s brought up.  This is great if you already have a configuration to use in another lab or if you want to load a basic configuration on startup.  Please be warned, though; if you make changes to your router instance via the CLI and restart dyangen, the configuration changes you made will be gone.  Be sure to remove that line from the NET before you restart dynagen.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2008/06/24/loading-configs-at-startup-in-dynagen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A Must-Know:  TCPDump</title>
		<link>http://aconaway.com/2008/06/06/a-must-know-tcpdump/</link>
		<comments>http://aconaway.com/2008/06/06/a-must-know-tcpdump/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 12:20:55 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://aconaway.com/2008/06/06/a-must-know-tcpdump/</guid>
		<description><![CDATA[If you&#8217;ve never used TCPDump before, you&#8217;re missing out on one of the best parts of being a network guy &#8212; pointing fingers at everyone else. TCPDump is an open-source app that copies packets on a machine&#8217;s NIC to screen or to file. TCPDump is typically a Linux/Unix app; in the Windows world, TCPDump is replaced by WinDump or Ethereal, now known as Wireshark. It&#8217;s a must-know for network dude(tte)s since it lets you capture the packets that a machine is generating. An app may be documented to work one way, but I&#8217;ve seen many times where the documentation is out-of-date or just wrong, and I&#8217;ve had to look at captures to see what it was actualy doing. I used it one time way back when a developer told me the switch was changing his HTTP POST to an HTTP GET; I captured the packets he was sending, pointed to the GET, and never answered a phone call from him ever again. Am I angry today? Here&#8217;s a more down-to-earth example. How many times have you been asked to open an ACL for a host, but the requester didn&#8217;t know the destination IP or the service port? For me, this [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve never used <a href="http://en.wikipedia.org/wiki/Tcpdump" title="Wikipedia -- TCPDump">TCPDump</a> before, you&#8217;re missing out on one of the best parts of being a network guy &#8212; pointing fingers at everyone else.</p>
<p>TCPDump is an open-source app that copies packets on a machine&#8217;s NIC to screen or to file.  TCPDump is typically a Linux/Unix app; in the Windows world, TCPDump is replaced by <a href="http://www.winpcap.org/windump/" title="Windump -- tcpdump for Windows">WinDump</a> or <a href="http://www.wireshark.org/" title="Wireshark.org -- Main Page">Ethereal, now known as Wireshark</a>.  It&#8217;s a must-know for network dude(tte)s since it lets you capture the packets that a machine is generating. An app may be documented to work one way, but I&#8217;ve seen many times where the documentation is out-of-date or just wrong, and I&#8217;ve had to look at captures to see what it was actualy doing.  I used it one time way back when a developer told me the switch was changing his HTTP POST to an HTTP GET; I captured the packets he was sending, pointed to the GET, and never answered a phone call from him ever again.</p>
<p>Am I angry today?</p>
<p>Here&#8217;s a more down-to-earth example.  How many times have you been asked to open an ACL for a host, but the requester didn&#8217;t know the destination IP or the service port?  For me, this happens as least twice a week, and I use TCPDump to figure out what the requester is trying to do.  Here&#8217;s a typical conversation.</p>
<blockquote><p>Requester:  I&#8217;ve installed an app on my Linux server to help me zip up my pants, but it&#8217;s not working.<br />
Me:  Well, I&#8217;ve told you on at least 6 occasions that the firewall is going to block connections unless you tell us to open it up.<br />
R:  Oh, yeah.  I&#8217;m still used to the way we did things in 1988.  Can you open that up for me?<br />
M:  Can you put in a ticket like I always ask you to do?<br />
R:  Sure.  What do you need it to say?<br />
M:  The same thing the last 6 tickets said &#8212; source IP, protocol, port, destination IP.<br />
R:  I don&#8217;t know all that.  I just know it tries to connect to my home IP via HTTP, but I don&#8217;t know what that IP is.<br />
M:  Then how are you going to zip up your pants?<br />
R:  I guess I won&#8217;t.  Can you help me find that information?</p></blockquote>
<p>Wow.  I&#8217;ve got some penned up aggression, don&#8217;t I?</p>
<p>To find out what&#8217;s used to help this user zip up his pants, we can just run TCPDump (as root since you need access to the NIC) to capture some packets.</p>
<blockquote><p> sudo /usr/sbin/tcpdump</p></blockquote>
<p>Hmmm&#8230;I bet you get a lot of stuff.  You&#8217;re looking at all the packets that are flying in and out of the box, including all sorts of stuff like DNS requests and your SSH session.  This is where TCPDump <em>tries </em>to shine, though; it&#8217;s got a very powerful capture filtering system, which can get complicated at times.  You can do all sorts of filtering on the capture, but the most common are the <em>host </em>and <em>port </em>filters, which, like all the other filters, can be strung together to make great huge chains of filters.  Since we know it&#8217;s trying to connect to an  HTTP server, so we can start by showing only traffic on port 80.</p>
<blockquote><p>sudo /usr/sbin/tcpdump port 80</p></blockquote>
<p>Much better.  Here&#8217;s some output.</p>
<blockquote><p>[jac@finland ~]$ sudo /usr/sbin/tcpdump port 80<br />
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode<br />
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes<br />
18:54:36.690198 IP 192.168.70.129.8736&gt; yourmama.com.http: S 1864432324:1864432324(0) win 5840 &lt;mss 1460,sackOK,timestamp 383978802 0,nop,wscale 3&gt;<br />
18:54:36.694046 IP yourmama.com.http &gt; 192.168.70.129.8736: S 1931495854:1931495854(0) ack 1864432325 win 64240 &lt;mss 1460&gt;<br />
18:54:36.694110 IP 192.168.70.129.8736&gt; yourmama.com.http: . ack 1 win 5840<br />
18:54:38.172982 IP 192.168.70.129.v&gt; yourmama.com.http: P 1:16(15) ack 1 win 5840<br />
18:54:38.173947 IP yourmama.com.http &gt; 192.168.70.129.8736: . ack 16 win 64240</p></blockquote>
<p>It looks like it&#8217;s using the hostname yourmama.com.  Now we can just look up what that IP is and generate the firewall rule for it (or, if you&#8217;re like me, just give is a -<em>nn </em>flag to not look up IPs or service ports).<br />
What else can you do with TCPDump?  You can check out the man pages for how to do this stuff or just ask me nicely.</p>
<ul>
<li>Capture the packet headers to file for review later</li>
<li>Capture the whole packet to screen or file</li>
<li>Read in a packet capture from file</li>
<li>Listen on a particular interface (like eth3 instead of eth0)</li>
<li>Capture X number of packets</li>
<li>Filter based on all sorts of stuff including IP address, port, protocol, MAC address, IPv6 multicast address, VLAN from 802.1Q packet, and all sorts of other good stuff</li>
</ul>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2008/06/06/a-must-know-tcpdump/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Auditing Your Gear with Nipper</title>
		<link>http://aconaway.com/2008/01/18/auditing-your-gear-with-nipper/</link>
		<comments>http://aconaway.com/2008/01/18/auditing-your-gear-with-nipper/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 01:58:35 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://aconaway.com/2008/01/18/auditing-your-gear-with-nipper/</guid>
		<description><![CDATA[Let&#8217;s talk [tag]audit[/tag]ing for a bit. It&#8217;s important to have an outside person look over your [tag]configuration[/tag]s every so often to be sure you didn&#8217;t do something stupid, so, every quarter or so (mostly so), I bring in someone to&#8230;wait a minute. It would cost about $3000 for someone to do that, and the company surely isn&#8217;t going to pay for that. The wonderful people from &#8220;The Internet&#8221; know this, though, and have released a whole bunch of tools to audit gear like that. One of those is called [tag]Nipper[/tag]. Nipper was the dog in the RCA logo, but that has nothing to do with this. What I´m talking about is the Network Infrastructure Parser. It´s a very nice tool for parsing the configs of your [tag]IOS[/tag] [tag]routers[/tag], IOS [tag]switch[/tag]es, CatOS switches, PIXes, ASAs, FWSM, and a whole mess of other gear. It´s ultra-fast and spits out a great report in HTML by default. It&#8217;s very easy to use, so I won&#8217;t get into that, but check it out. It&#8217;s worth running your config through this guy every once in a while to make sure you didn&#8217;t miss something stupid. Check it out! &#8212; Note: You shouldn&#8217;t just trust one [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s talk [tag]audit[/tag]ing for a bit.  It&#8217;s important to have an outside person look over your [tag]configuration[/tag]s every so often to be sure you didn&#8217;t do something stupid, so, every quarter or so (mostly so), I bring in someone to&#8230;wait a minute.  It would cost about $3000 for someone to do that, and the company surely isn&#8217;t going to pay for that.  The wonderful people from &#8220;The Internet&#8221; know this, though, and have released a whole bunch of tools to audit gear like that.  One of those is called [tag]<a href="http://www.titania.co.uk/nipper.php" title="Nipper -- Homepage">Nipper</a>[/tag].</p>
<p>Nipper was <a href="http://en.wikipedia.org/wiki/Nipper" title="Nipper -- Wikipedia">the dog in the RCA logo</a>, but that has nothing to do with this.  What I´m talking about is the Network Infrastructure Parser.  It´s a very nice tool for parsing the configs of your [tag]IOS[/tag] [tag]routers[/tag], IOS [tag]switch[/tag]es, CatOS switches, PIXes, ASAs, FWSM, and a whole mess of other gear.  It´s ultra-fast and spits out a great report in HTML by default.</p>
<p>It&#8217;s very easy to use, so I won&#8217;t get into that, but check it out.  It&#8217;s worth running your config through this guy every once in a while to make sure you didn&#8217;t miss something stupid.  Check it out!</p>
<p>&#8212;</p>
<p>Note:  You shouldn&#8217;t just trust one app to do all your auditing.  There&#8217;s no way that just a single app can cover everything, so download a bunch of them and run them all when you do your audit.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2008/01/18/auditing-your-gear-with-nipper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free and Awesome Network Tools</title>
		<link>http://aconaway.com/2007/11/17/free-and-awesome-network-tools/</link>
		<comments>http://aconaway.com/2007/11/17/free-and-awesome-network-tools/#comments</comments>
		<pubDate>Sun, 18 Nov 2007 01:39:44 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[snmp]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://aconaway.com/2007/11/17/free-and-awesome-network-tools/</guid>
		<description><![CDATA[We all have limited budgets these days. Long gone are the days of unlimited resources and uncontrollable expansion of the network, so it&#8217;s important that any network dude or dudette pay attention to the open-source world. Below is a list of stuff I use at the office and at home to monitor, trend, and alert the network. All this stuff is free and runs on Linux to save even more cash. Cacti &#8211; This is a system for trending pretty much anything. If it has an SNMP value, Cacti can trend it. It&#8217;s also really flexible, allowing multiple displays of data and even a mechanism to get values from scripts you write. At the office, we use it to monitor utilization of the circuit and Ethernet ports, CPU and memory of the gear, and the number of connections on the load-balancer. At home, I use it to watch utilization and track the number of connections to the wireless networks. Nagios &#8211; This is a monitoring and alerting system for all sorts of stuff. It watches hosts and applications for availability and response time, then alerts based on threshold. This is one of the most complicated apps to configure, but, once [...]]]></description>
			<content:encoded><![CDATA[<p>We all have limited budgets these days.  Long gone are the days of unlimited resources and uncontrollable expansion of the network, so it&#8217;s important that any network dude or dudette pay attention to the open-source world.  Below is a list of stuff I use at the office and at home to monitor, trend, and alert the network.  All this stuff is free and runs on Linux to save even more cash.</p>
<ul>
<li><a href="http://cacti.net/" title="Cacti -- Home Page">Cacti </a>&#8211;  This is a system for trending pretty much anything.  If it has an SNMP value, Cacti can trend it.  It&#8217;s also really flexible, allowing multiple displays of data and even a mechanism to get values from scripts you write.  At the office, we use it to monitor utilization of the circuit and Ethernet ports, CPU and memory of the gear, and the number of connections on the load-balancer.  At home, I use it to watch utilization and track the number of connections to the wireless networks.</li>
<li><a href="http://www.nagios.org/" title="Nagios -- Home Page">Nagios </a>&#8211; This is a monitoring and alerting system for all sorts of stuff.  It watches hosts and applications for availability and response time, then alerts based on threshold.  This is one of the most complicated apps to configure, but, once it&#8217;s  up, it rocks.  I use it at home to monitor all the network gear and systems for response times. I also use it to monitor the web servers and restart them if they&#8217;re down.</li>
<li><a href="http://www.apache.org/" title="Apache -- Home Page">Apache </a>&#8211;  You know what Apache is.  You use it already.  About 71% of webservers on the Internet are Apache.</li>
<li><a href="http://www.squid-cache.org/" title="Squid -- Home Page">Squid </a>&#8211;  A caching proxy server by the same guys who do Apache.  It can be configured for both inbound and outbound application acceleration.  It&#8217;s great to put in front of a CMS like Drupal or Joomla.  It has a mess of built-in functions that can look for bad requests, do redirects, or completely rewrite requests. At work, it fronts our application and CMS servers so users don&#8217;t have access directly to them. At home, it runs on the firewall to serve pages to the Internet.  The real webserver actually sits on a box behind the firewall for security.</li>
<li><a href="http://subversion.tigris.org/" title="Subversion -- Home Page">Subversion </a>&#8211; This is a version control system. Subverions lets you create repositories, check out the contents, edit them, and check them back in.  This is good for keeping track of configuration files or scripts you write.  We use it at work to track configuration files for Apache, NTP, yum, etc.  At home, I use it to keep track of my scripts and <a href="http://ntci.sourceforge.net" title="NTCI -- Sourceforge Page">Perl module</a>.</li>
<li><a href="http://www.shrubbery.net/rancid/" title="Shrubbery Networks -- Rancid">Rancid </a>&#8211; This is configuration management for Cisco (and other network) devices.  It gets configs from devices and checks them for changes.  It&#8217;s got built-in alerting and is easy to set up.  I use it at home to keep track of the configs on the switches and access points.</li>
<li><a href="http://nfsen.sourceforge.net/" title="nfsen -- Sourceforge Page">nfsen</a>/<a href="http://nfdump.sourceforge.net/" title="nfdump -- Sourceforge Page">nfdump </a>&#8211; These are [tag]netflow[/tag] tools.  Nfdump is a suite for collecting the data, while nfsen is for displaying the information.  Check out netflow if you&#8217;ve never worked with it&#8230;it&#8217;s pretty cool.</li>
<li><a href="http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator" title="Dynamips -- Home Page">Dyanmips</a>/<a href="http://www.dynagen.org/" title="Dynagen -- Home Page">dynagen </a>&#8211; These apps let you run virtual Cisco routers on a machine.  You can set up full network deployments for testing and configuration experimentation.  It takes a good bit of resources, but it&#8217;s well worth it for the functionality.  I use it all the time at work to test or tweak configs.  I also use it to simulate certification labs.</li>
</ul>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2007/11/17/free-and-awesome-network-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

