this is my first question here..!!!
I'm triying to develop my own network inventory application by using SNMP traps.
My problem is I can't find out how to get interfaces information from cisco devices, like show version IOS command do. ie:
Cisco CISCO2911/K9 (revision 1.0) with 487424K/36864K bytes of memory.
Processor board ID FJC1914A05A
3 Gigabit Ethernet interfaces
1 terminal line
1 Virtual Private Network (VPN) Module
What OID can I use to get this information or same in an analog way..?
Best Regards,
Valle
To get the version of IOS you need to use the following OID: 1.3.6.1.4.1.9.9.25.1.1.1.2.7
You can also use 1.3.6.1.2.1.1.1.0 (sysDecr) from system group of MIB-II.
Other parameters you can get from different MIBs:
Interfaces from IF-MIB or RFC1213::ifTable
Boards from ENTITY-MIB
use the "show cdp neighbors" or "show cdp neighbors detail" to have information about cisco devices
Related
Overview: I live in an apartment, and I wish to use Cisco routers to run my network for career development. I plan to place a 40 thread server in the other bedroom because I can't run it in the same room as my current desktop because it would overload the circuit. As a result, I require a Cisco router running IOS (I want the CLI) that possesses wireless capabilities to allow my IoT devices and phones/laptops to connect to the internet. I also require another cisco router with wireless capabilities to act as a bridge to the network for the server. I will also use two cisco switches, but that is the easy part of the equation unless the routers I find also have switches inside.
Running cables isn't an option because I can't drill the walls, and I would then have to run the cables from one bedroom to the other, which is not ideal.
Problem: The problem I am finding is that there is extremely cheap cisco routing equipment on eBay, but I am unable to know if these products have the capabilities I require. Also, finding the wireless NIC card that can be inserted into these devices is not easy. Deciphering compatibility is another issue entirely.
Question: Can someone please assist me in picking my devices. I am looking to use pre-owned hardware due to cost.
ISP: Version Fios 1gb pipe.
It would be expensive to create bridge over WiFi using Cisco routers, not just cost but the expertise to make it work. You are better off getting cheap Cisco IOS routers like old 2800 or 2900 series, then use two cheap WiFi routers like TP Link for the WiFi bridge. So your setup would look something like below.
[BEDROOM DEVICES] --> CISCO RTR Ethernet --> TPLINK WIFI BRIDGE
Same on the other end as well.
I'm doing some polling of specific adapters on some PCs running windows via SNMP. I've noticed that polling using an OID constructed with the interface's ifIndex is unreliable as it appears that the ifTable is created dynamically.
I found some Cisco documentation that mentions that ifIndex is no longer persistent as of RFC2863. The documentation introduces a feature of Cisco routers that allows for ifIndex persistence between reboots.
Can such a thing be achieved in Windows? I want to avoid enumeration and identification of interfaces as it is impractical/difficult to do for my application
Unlike (newer, IOS 12+) Cisco devices, Windows does not have a fixed interface scheme.
The interface list is generated on boot and can change while running (think Wireless, dial-up, VPN, or tunneling interfaces; or link loss). That being said, on a stable Windows system the values should be consistent.
I would try the last known value, do a sanity check and re-enumerate the interfaces if it fails.
Is this kind of link aggregation even possible?
On a Windows machine, there are several 3rd-party applications which make use of bonding and load balancing multiple network interfaces for increased throughput, such as Connectify Dispatcher, for example. Would it be possible to develop such an app for OSX? Is there already any 3rd-party software which does this on OSX? The closest thing I could find was IPNetRouterX, which I've failed to use for bonding USB and WiFi network interfaces.
I have also tried the following line in OSX's terminal:
sudo networksetup -createBond bond0 en1 en3
...where en1 is my WiFi interface and en3 is my USB network interface, which simply results in:
** Error: The parameters were not valid.
Likely, there would need to be some sort of Layer 2 "magic glue" to make this in any way a possibility... but primarily being a Windows programmer, I'm not sure if Apple would enjoy allowing that level of programming access, considering how proprietary they like to be...
Any idea what can be done here?
There are options to networksetup to tell you whether the OS can bond a particular port or not. To do so, you need to hand it a "hardware port", which you can find by using:
networksetup -listallhardwareports
Each of those, in turn, can be queried using
networksetup -isbondsupported <HW Port Name>
Bonded networks are set up using the networksetup port name, not the kernel interface name, so if you were to bond two ethernet networks, you would do so like this:
networksetup -createBond myBondedNet 'Ethernet 1' 'Ethernet 2'
Querying the ports on my 2009 MacPro running 10.9, I find only the hardware ethernet ports to respond YES to the -isbondsupported inquiry.
Note that I didn't have to have the port operational in order for -isbondsupported to return YES, so in my case both of my ethernets responded YES even though only one is currently connected.
gaige thanks for your technical answer but RectangleEquals is not asking how to do Link Aggregation through terminal but
IF Link Aggregation can work for USB, WIFI, or other type of internet connections.
The answer is NO.
Apple didn't created Link Aggregation. It's a separated feature Unix had. Therefore Apple has zero idea how to improve it - nor does it want to spent resource to figure it out because it is not a common enough demand. Even if it wants to give you the feature it will not provide in a regular version of OS X but will provide in a server version and charge you for it.
And there are developers who can do it, by writing a lot of codes - so no free version of such application exist. You can try Connectify Switchboard for OS X.
I found that there is actually no decent way of accomplishing this, thanks to the way that networking is handled via separate interfaces. Although it would be possible to use two separate interfaces to connect to the same remote data source, it would require kernel-level programming skills to get these two interfaces working in unison... And the packets returned through each separate interface would be handled VERY differently, and the network packets would be far too out of sync with each other... So even then, if you were to create some sort of magic bridge to handle all of these situations and somehow use two separate interfaces to pull the same synchronous data, it would end up being (best case scenario) the exact same speed -- but likely SLOWER -- than with just one network interface. Far too much hassle for almost zero benefit.
i am working on a network discovery program which employs snmp to discover devices in the network. My program takes the router-ip as input, scans the iprotetable(iprouttenext hop),to determine if any other routers are connected to it. for non router devices (like switch) the algorithm scans the arptable (ipnettomediatable) of the router, but cant find the connected switch unless i ping from the switch to the router. is there any way where i can determine the device connected directly to the router ..?
Getting the devices connected to a router or switch is not that easy. Switches usually maintain a MAC forwarding database where it stores which MAC address has been seen on which switch port. This table can be easily read by using the bridge MIB. Unfortunately, there are several issues to take care of:
Those entries disappear again, when a device to the switch has been switched off or is simply not communicating. Usually, the entries in the MAC forwarding tables age out after 5 minutes or so.
The fact that a MAC address has been seen on a switch port doesn't mean that the device having the mac address is directly connected to the port. There might be any number of other switches, routers or hubs inbetween.
Some manufacturers like Cisco or HP use their own protocols to determine the network topology. There are several protocols (that area usually also available through a SNMP MIB):
CDP (Cisco Discovery Protocol): This is a proprietary protocol developed by Cisco to expose network topology information. Some vendors licensed this technology and implement that protocol in their products.
LLDP (Link Layer Discovery Protocol): A standard similar to CDP, but without paying Cisco license fees :-)
And many more. I know kthat Extreme Networks has their own protocols and I am pretty sure that other vendors have them as well.
The problem with those protocols is when you have a mixed environment. Cisco switches talking CDP do not understand Extremen Network's protocol and vica versa.
If your goal is to find IP addresses to discover, then you might use the ARP caches for routers. Scanning the ARP caches for switches makes no real sense, because they're operating on layer 2.
I was using broadcast message for my java snmp agent
On cisco devices, you can query the SNMP oid 1.3.6.1.4.1.9.5.1.9.3.1.8
to check if the interface is a trunk port or not.
Is there a SNMP oid for Foundry (Brocade) switches for the same thing?
SNMP oids are organized in a tree, each number represent a branch option. After the prefix 1.3.6.1.4.1 all the vendors are linked in (All cisco related SNMP information are reachable via 1.3.6.1.4.1.9, since 9 is the id of Cisco as a vendor).
According to IANA Foundry/Brocade has the vendor id 1991.
So my first step would be to check what a snmpwalk over the oid 1.3.6.1.4.1.1991 returns.
Or you could try and find your device at the mibDepot.