问题
I have written some C# code that I am using to run an file "snmpwalker.exe" that is returning details about so cisco switches when I pass in the correct community string ip address and vlan information with an OID. I have been able to get enough information to be able to map the MAC addresses to the switch's ports but I want to also find out the ip addresses. Does anyone know what the OID for snmp would be to get back a list with mac addresses and ip addresses on a cisco switch?
I haven't used snmp before or done much in networking so I am new to how most of this stuff works.
回答1:
A switch is a layer-2 device. It works with MAC addresses and knows nothing about IP addresses.
A DHCP server will only have MAC addresses for devices that have requested an IP address. Servers, switches, printers etc. probably won't use DHCP.
Other ideas:
- If your subnet is small you could ping every address and look at the ARP cache in your host. This should find most things with an IP address, but not everything necessarily responds to a PING. For a large subnet this will be slow, and isn't really good practice.
- You could ping the multicast all-hosts address (224.0.0.1) and examine the ARP cache, but that will only find multicast capable devices.
- Ping the subnet broadcast address and examine the ARP cache. Again, not everything will necessarily respond.
Combining these approaches will probably get most things, but you'll have trouble finding, for example, a printer with a static address that doesn't respond to ping.
If you don't understand these terms find a tutorial on networking before you go any further.
来源:https://stackoverflow.com/questions/19719357/snmp-oid-to-map-mac-addresses-to-ip-addresses