This should be pretty easy to script using the scripting language of your choice. If you know VBScript, you can use a combination of SendKeys and regular expression searches to find the appropriate information and export/save to a CSV file. I've written something similar for one of our helpdesk staff that gathers Earthlink access numbers using IE. Code is below. This could be modified easily to do what you need. I would caution you (unless I'm mistaken but I doubt it) against running the "sh ip nat trans" on a router that doesn't have more than the minimum recommended RAM for your IOS version. I've crashed a router more than once while running this command after it built up a sizeable translation table.
VBScript below ''''''''''''''''''''''''''''''''''''''''''''''''' Option Explicit 'On Error Resume Next ': Declare and set global variables Dim objFSO, objCmdShell, vReturn Set objFSO = CreateObject("Scripting.FileSystemObject") Set objCmdShell = CreateObject("Wscript.Shell") 'Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim RegEx, strPattern, strRepl, strMatch, strMatches Set RegEx = New RegExp RegEx.Global = True RegEx.IgnoreCase = True Call GetNumbers() ':============================================================= Sub GetNumbers() Dim arrStates(51) arrStates(0) = "AL" arrStates(1) = "AK" arrStates(2) = "AZ" arrStates(3) = "AR" arrStates(4) = "CA" arrStates(5) = "CO" arrStates(6) = "CT" arrStates(7) = "DE" arrStates(8) = "DC" arrStates(9) = "FL" arrStates(10) = "GA" arrStates(11) = "HI" arrStates(12) = "ID" arrStates(13) = "IL" arrStates(14) = "IN" arrStates(15) = "IA" arrStates(16) = "KS" arrStates(17) = "KY" arrStates(18) = "LA" arrStates(19) = "ME" arrStates(20) = "MD" arrStates(21) = "MA" arrStates(22) = "MI" arrStates(23) = "MN" arrStates(24) = "MS" arrStates(25) = "MO" arrStates(26) = "MT" arrStates(27) = "NE" arrStates(28) = "NV" arrStates(29) = "NH" arrStates(30) = "NJ" arrStates(31) = "NM" arrStates(32) = "NY" arrStates(33) = "NC" arrStates(34) = "ND" arrStates(35) = "OH" arrStates(36) = "OK" arrStates(37) = "OR" arrStates(38) = "PA" arrStates(39) = "RI" arrStates(40) = "SC" arrStates(41) = "SD" arrStates(42) = "TN" arrStates(43) = "TX" arrStates(44) = "UT" arrStates(45) = "VT" arrStates(46) = "VA" arrStates(47) = "WA" arrStates(48) = "WV" arrStates(49) = "WI" arrStates(50) = "WY" Dim strFileName strFileName = "D:\Scripts\EarthlinkAccessNumbers\EarthlinkAccessNumbers.txt" Dim strAllEarthLinkNumbers strAllEarthLinkNumbers = "D:\Scripts\EarthlinkAccessNumbers\AllEarthLinkNumbers-" & Year(Now) & Month(Now) & Day(Now) & ".csv" Dim i For i = 0 To UBound(arrStates) - 1 Dim strState, strURL strState = arrStates(i) strURL = "http://support.earthlink.net/support/ACCESS/search_print.jsp?" & _ "type=us&linkid=1001362&area=&prefix=&number=&state=" & strState & _ "&accs_type=Modem&printable=1" objCmdShell.Run "iexplore" objCmdShell.AppActivate "Microsoft Internet Explorer" WScript.Sleep 2000 objCmdShell.SendKeys "{TAB}" WScript.Sleep 500 objCmdShell.SendKeys "+" & strURL WScript.Sleep 500 objCmdShell.SendKeys "{ENTER}" Wscript.Sleep 15000 ': Send CTRL+A objCmdShell.SendKeys "^a" Wscript.Sleep 2000 objCmdShell.SendKeys "^c" Wscript.Sleep 2000 objCmdShell.SendKeys "%(fc)" Wscript.Sleep 2000 If objFSO.FileExists(strFileName) Then objFSO.DeleteFile(strFileName) End If objCmdShell.Run "notepad" objCmdShell.AppActivate "notepad" WScript.Sleep 2000 objCmdShell.SendKeys "^v" Wscript.Sleep 2000 objCmdShell.SendKeys "%(fs)" Wscript.Sleep 2000 objCmdShell.SendKeys "+" & strFileName Wscript.Sleep 2000 objCmdShell.SendKeys "{ENTER}" Wscript.Sleep 2000 objCmdShell.SendKeys "%(fx)" Dim objAllNumbersFile Set objAllNumbersFile = objFSO.OpenTextFile(strAllEarthLinkNumbers, 8, True) Dim objFile, strLine, numTest, strTelNumber, strCityState, numTelLength Dim strLineLen, strCSVFileLine Set objFile = objFSO.OpenTextFile(strFileName, 1) Do While NOT objFile.AtEndOfStream strLine = Trim(objFile.ReadLine) strLineLen = Len(strLine) strPattern = "(\d+)" RegEx.Pattern = strPattern numTest = RegEx.Test(strLine) If numTest Then strPattern = "(^\d+\s+\d+\s+\d+)" RegEx.Pattern = strPattern Set strMatches = RegEx.Execute(strLine) For Each strMatch in strMatches strTelNumber = Trim(strMatch) strPattern = "(\s)" RegEx.Pattern = strPattern strRepl = "-" strTelNumber = RegEx.Replace(strTelNumber, strRepl) numTelLength = Len(Trim(strTelNumber)) strCityState = Trim(Right(strLine, (strLineLen - numTelLength))) strCSVFileLine = strTelNumber & "," & strCityState Wscript.Echo "Writing line " & strCSVFileLine objAllNumbersFile.WriteLine(strCSVFileLine) Next Else Wscript.Echo "THIS IS NOT AN ACCESS NUMBER LINE" End If Loop objFile.Close objAllNumbersFile.Close Next End Sub ':====================================================================== === Set objFSO = Nothing Set objCmdShell = Nothing Wscript.Echo vbCrLf & "End of Script" & vbCrLf '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Vijay Ramcharan -----Original Message----- From: Gabriele [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 22, 2003 5:33 AM To: [EMAIL PROTECTED] Subject: NAT translation table [7:61553] hi! Does anyone knows if it's possible to export the cached NAT translation table (the one you get with "sh ip nat trans") somehow? The export should occur in a specified time range (e.g every 10 seconds). I need the information for a software project about accounting of ip traffic. the software itself cannot access the router by a console session .... the cisco in use is a 3640 with IOS 12.1T. thx a lot in advance gabriele Message Posted at: http://www.groupstudy.com/form/read.php?f=7&i=61579&t=61553 -------------------------------------------------- FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html Report misconduct and Nondisclosure violations to [EMAIL PROTECTED]