• snmp获取交换机端口和对应ip


    转自:https://blog.csdn.net/nickkwan/article/details/5535685

    通过snmp获取IP地址对应的二层交换机端口的过程。

    环境描述:

    核心交换机:两台Cisco 6509 + FWSM 通过HSRP热备,核心交换机IP分别为192.168.8.1和192.168.8.2

    二层交换机:Cisco 3560 PoE 每台3560通过两条光纤分别上联到两台6509,交换机管理IP为192.168.8.214

    命令行操作系统:Linux AS4

    snmp工具:net-snmp

    查询条件:设要查询的IP地址为192.168.100.8/32

    1、首先要获得目的IP地址对应的MAC地址,该步骤分为以下子步骤:

    1.1 获得目标IP网段的ipAdEntIfIndex值(参考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.2.1.4.20.1.2&translate=Translate&submitValue=SUBMIT&submitClicked=true)

    snmpwalk -c public -v 2c 192.168.8.1 .1.3.6.1.2.1.4.20.1.2 -On

    在输出中有:

    .1.3.6.1.2.1.4.20.1.2.192.168.100.229 = INTEGER: 166

    表示192.168.100网段对应的ipAdEntIfIndex值为166

    1.2 根据ipAdEntIfIndex查询目标IP所属的ifName即VLan ID(参考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.2.1.31.1.1.1.1+&translate=Translate&submitValue=SUBMIT&submitClicked=true)

    snmpwalk -c public -v 2c 192.168.8.1 .1.3.6.1.2.1.31.1.1.1.1 -On

    在输出中有:

    .1.3.6.1.2.1.31.1.1.1.1.166 = STRING: Vl11

    表示ipAdEntIfIndex值为166的端口的ifName为Vl11,即VLan ID为11

    1.3 根据ipAdEntIfIndex和目的IP地址查询获得目的IP地址的MAC(参考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=1.3.6.1.2.1.3.1.1.2&translate=Translate&submitValue=SUBMIT&submitClicked=true)

    snmpwalk -c public -v 2c 192.168.8.1 .1.3.6.1.2.1.3.1.1.2.166.1.192.168.100.8 -On

    在输出中有:

    .1.3.6.1.2.1.3.1.1.2.166.1.192.168.100.8 = Hex-STRING: 00 11 BC 69 94 00

    由此,获得目的IP地址的MAC地址:192.168.100.8 -> 00 11 BC 69 94 00

    2、根据MAC地址获得三层交换机的物理端口号

    2.1 根据MAC查询dot1dTpFdbPort(参考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.2.1.17.4.3.1.2&translate=Translate&submitValue=SUBMIT&submitClicked=true)

    snmpwalk -c public@11 -v 2c 192.168.8.1 .1.3.6.1.2.1.17.4.3.1.2.0.21.96.180.229.94 -On

    在输出中有:

    .1.3.6.1.2.1.17.4.3.1.2.0.21.96.180.229.94 = INTEGER: 407

    即dot1dTpFdbPort值为407

    命令行中的参数@11表示要查询的VLan ID为11,0.21.96.180.229.94 为目标IP的MAC地址各段转换为十进制的值

    如果此步查出的值大于1000(本例环境中为1000),则表明该MAC地址是由PO从接口由另一台6509学到,需要修改查询参数再次查询

    例如:

    .1.3.6.1.2.1.17.4.3.1.2.0.21.96.180.229.94 = INTEGER: 1666

    则修改查询为


    snmpwalk -c public@11 -v 2c 192.168.8.2 .1.3.6.1.2.1.17.4.3.1.2.0.21.96.180.229.94 -On

    本命令行查询结果影响到后边的查询,务必查询正确

    2.2 根据dot1dTpFdbPort的值查询dot1dBasePortIfIndex的值(参考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.2.1.17.1.4.1.2&translate=Translate&submitValue=SUBMIT&submitClicked=true)

    snmpwalk -c public@11 -v 2c 192.168.8.1 .1.3.6.1.2.1.17.1.4.1.2.407 -On

    在输出中有:

    .1.3.6.1.2.1.17.1.4.1.2.407 = INTEGER: 85

    即dot1dBasePortIfIndex的值为85

    2.3 根据dot1dBasePortIfIndex查询ifName的值(参考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.2.1.31.1.1.1.1&translate=Translate&submitValue=SUBMIT&submitClicked=true)

    snmpwalk -c public@11 -v 2c 192.168.8.1 .1.3.6.1.2.1.31.1.1.1.1.85 -On

    在输出中有:

    .1.3.6.1.2.1.31.1.1.1.1.85 = STRING: Gi4/23

    即ifName的值为Gi4/23,也就是三层交换机上的Gi4/23口

    3、根据三层交换机的接口信息查询与之互连的二层交换机的IP

    3.1 根据dot1dBasePortIfIndex查询cdpCacheAddress的值(参考:http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=.1.3.6.1.4.1.9.9.23.1.2.1.1.4&translate=Translate&submitValue=SUBMIT&submitClicked=true)

    snmpwalk -c public -v 2c 192.168.8.1 .1.3.6.1.4.1.9.9.23.1.2.1.1.4.85 -On

    在输出中有:

    .1.3.6.1.4.1.9.9.23.1.2.1.1.4.85.366 = Hex-STRING: C0 A8 08 D6

    即cdpCacheAddress的值为C0 A8 08 D6,转换为十进制就是192.168.8.214,此即为二层交换机的管理IP地址

    3.2 根据目的IP的MAC地址查询对应的二层交换机物理接口号

    snmpwalk -c public@11 -v 2c 192.168.8.214 .1.3.6.1.2.1.17.4.3.1.2.0.21.96.180.229.94 -On

    .1.3.6.1.2.1.17.4.3.1.2.0.21.96.180.229.94 = INTEGER: 16

    snmpwalk -c public@11 -v 2c 192.168.8.214 .1.3.6.1.2.1.17.1.4.1.2.16 -On

    .1.3.6.1.2.1.17.1.4.1.2.16 = INTEGER: 10014

    snmpwalk -c public@11 -v 2c 192.168.8.214 .1.3.6.1.2.1.31.1.1.1.1.10014


    .1.3.6.1.2.1.31.1.1.1.1.10014 = STRING: Fa0/14

    由此可得目的IP对应的二层交换机物理端口号为Fa0/14

    最终,根据目的IP地址,获得了其所在的二层交换机管理IP为192.168.8.214,端口号为Fa0/14
    ————————————————
    版权声明:本文为CSDN博主「nickkwan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/nickkwan/article/details/5535685

    满足不是幸福,平平淡淡才是真
  • 相关阅读:
    困扰几周了,请教啊,android与websevice数据交互很诡异的问题
    最新版本_adt-bundle-windows-x86_64-20140702 无法建立avd
    android向web提交数据,中文乱码
    activity怎么控制fragment中的textview组件
    关于云储存或者百度云的基础问题, 用java/android 实现上传文件到云储存(比如百度云)
    短信列表如何让同一个号码的短信只显示一条,刚刚加载短信列表会加载所有的数据列。求指教
    Android图片上传到服务器的问题
    安卓模拟器这么慢,大家都怎么调试的?
    浏览器前缀-----[译]Autoprefixer:一个以最好的方式处理浏览器前缀的后处理程序
    windows 下安装nodejs及其配置环境
  • 原文地址:https://www.cnblogs.com/xing03/p/14990800.html
Copyright © 2020-2023  润新知