cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
7751
Views
0
Helpful
18
Replies
Highlighted
Beginner

Read Config File From Cisco Router Using C#

Hi i want to read the configuration stored in cisco router without using puTTY or hyper terminal (serial interface) purely using C# and retrieve the configuration files. is this possible?

18 REPLIES 18
Highlighted
Beginner

Hi Bing,

What you need is to import the config file via tftp and then read it within your code.

Here is a link for simple TFTP client on C#

http://www.codeproject.com/Articles/19314/A-simple-TFTP-client-using-C

HTH,

Reza

Highlighted

Hi Reza Nashvi,

Thanks for you reply. May i ask is there any way to import the config file via TFTP?

Thanks!

Highlighted

Hi Bing,

There are a lot of sample codes on the internet which you can use. There is no built-in TFTP support in C# and you have to create your own class to do it.

The following example shows how to download a remote file "config" from a tftp server located at 192.168.1.10:69, and name the local file "config.txt".

    using System.Net;

    using System.Net.Sockets;

    using CodePlex.JPMikkers.TFTP.Client;

    .

    .

    .

    TFTPClient.Download(

        new IPEndPoint(IPAddress.Parse("192.168.1.10"), 69),

        "config",

        "config.txt");

HTH,

Reza

Highlighted

Hi reza

I assume your method is to use tftp cilent to grab the file from the tftp server using c#? what I'm doing is I want to grab the configuration file from the router itself using C# without going in the router (putty or hyperterminal) and use the command running-config tftp and put in the Cisco tftp server and grab it. I'm still a newbie in programming hope you can understand

Thanks!

Highlighted

Hi Bing,

With thies method you can grab the file directly from your router. You need to configure your router as TFTP server first as below:

Router#configure terminal

Router(config)#tftp-server nvram:startup-config alias config

Router(config)#end

Then you can grab config file directly from your router.

As Joseph mentioned you can try SNMP as well but I think you need a system which is able to run snmpset command. Here is a link to cisco website for this:

http://www.cisco.com/en/US/tech/tk648/tk362/technologies_configuration_example09186a0080094aa6.shtml

Remember no matter what method you use to grab the config file you need to make it as secure as possible. Like for SNMP use snmp v3 if possible or apply an ACL to tftp server and allow only your server to get the file.

Highlighted

Hi Reza Thanks for your reply and your kind assistance!

I have already key in this command: tftp-server nvram:startup-config alias config in my Cisco router. and now I think my router is in TFTP server. However may i ask normally if i want to use command: copy running-config tftp i need to be in

privilege mode so i want to ask the C# program has the right to go in the router to grab the config file?

And also, I found this website http://www.c-sharpcorner.com/UploadFile/shanesnedecor/TFTPTest11282005005441AM/TFTPTest.aspx this program also uses C# to get the config file but I don't know what is the text to key in into the 2 textbox which is the TFTP Server and File Name.

Thanks Reza!

Highlighted

Hi Bing,

You are very welcome.

In reply to your first question the answer is "No". As soon as you enable tftp server on your router, you are allowing anyone to run tftp get command. If you want to try it you can setup Tftpd64 and try under "tftp client" tab page. If you fill-up host,port,local file and remote file and then click on Get it will go to your router and will download the file. You can control access with ACL and block un-authorized IPs.

Unfortunately I can't see the c# code in your link. I have to be a member of that site and I'm not. But if it's asking about your tftp server and file name then you can use your router IP as server IP and "config" for File name if you punched in the following command on your router:

tftp-server nvram:startup-config alias config

HTH,

Reza

Highlighted

Hi Reza i have downloaded the software but i keep getting the error timeout waiting block #1 i think i show you image will be easier the host 192.168.1.2 (is my router fastEthernet 0/0) the server interfaces: 192.168.1.39 (this is my computer ip address) the port i assume TFTP is 69, the local file is i create a text file name "boon.txt" and the remote file is config the block size 512.

I think i show you my config file better you take a look am i on the correct track

Thank you reza!

Highlighted

Hi Bing,

Please check layer 3 conectivity between your router and computer. Also make sure windows firewall is off. Here is what I have on my computer:

10.10.1.125 is my computer

10.10.1.12 is my router.

Highlighted

Hi Reza!

Yes i did not connect to my router now my router connectivity is up but i encounter another error pls help!

Thanks for your help!

Highlighted

Hi Bing,

What Anti-Virus you are running? Can you disable it please?

Highlighted

Hi Reza I'm using Symantec Endpoint Protection i've disabled all the anti virus as shown below

but the same error still appear. please help thank you!

Highlighted

Hi Bing,

I suspect something is closing the connection on your computer. The best way to check this to run wireshark and see if you receive any reset packet from your router. Then you can say it's either your router or computer. Easiest way is to test it with a computer with no AV and disabled firewall.

There is no  special setting for this simple tftp file transfer and it should work!

Highlighted

Hi Reza,

May i ask how do i see is there any reset packet from my router using wireshark?

I see. So can i troubleshoot by using the FastEthernet 0/0 (192.168.1.2) to plug in directly to my computer NIC and try instead? basically no internet to use also if i do it this way.. pls advice.

Thanks for your help reza!