IP : 简单网络管理协议 (SNMP)

如何使用 SNMP 获得 MAC 和 IP 地址记帐信息

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

本文提供关于怎样的示例从使用简单网络管理协议(SNMP)的Cisco路由器获取MAC和IP地址记帐信息。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

MAC 地址计数

MAC地址计数功能为根据源及目的地MAC地址的IP数据流提供记帐信息LAN接口。此功能统计LAN接口接收/发送或发自某一特定MAC地址的IP信息包总数和字节数。它也记录接收或发送的最后数据包的一时间戳。

从line命令,您取得此结果:

router_10.64.7.2#show running
<snip>
...
interface FastEthernet2/0
ip address 10.64.7.2 255.255.255.248
ip accounting mac-address input
ip accounting Mac-address output
...
 <snip>
...
snmp-server community public RO
SNMP-server community private RW
...
<snip>
 

router_10.64.7.2#show interfaces mac

FastEthernet2/0 

  Input  (486 free)

    0000.0c75.4120(24 ):  19349 packets, 1608842 bytes, last: 5360ms ago

    00e0.1e3f.6989(33 ):  19272 packets, 1597208 bytes, last: 1276ms ago

    ... 

    0040.0550.bc5c(245):  207 packets, 44890 bytes, last: 174440ms ago

                   Total:  1091720 packets, 178475402 bytes

  Output  (506 free)

    0040.ca19.c776(34 ):  3744 packets, 400075 bytes, last: 81804ms ago

    ... 

    0090.bf1f.e000(208):  229537 packets, 64266576 bytes, last: 0ms ago

                   Total:  266111 packets, 70376527 bytes

 router_10.64.7.2#

或者,得到上述信息使用SNMP从CISCO-IP-STAT-MIB如显示是可能的:

% snmpwalk 10.64.7.2 public .1.3.6.1.4.1.9.9.84.1.2.1
enterprises.9.9.84.1.2.1.1.3.9.1.0.0.12.117.65.32 = Counter32: 19349
...
enterprises.9.9.84.1.2.1.1.3.9.2.1.0.94.0.0.5 = Counter32: 19040
enterprises.9.9.84.1.2.1.1.4.9.1.0.0.12.117.65.32 = Counter32: 1608842
...
enterprises.9.9.84.1.2.1.1.4.9.2.1.0.94.0.0.5 = Counter32: 1485120 

注意:

public = RO community string 
1.3.6.1.4.1.9.9.84.1.2.1 = cipMacTable 
1.3.6.1.4.1.9.9.84.1.2.1.1.3 = cipMacSwitchedPkts 
1.3.6.1.4.1.9.9.84.1.2.1.1.4 = cipMacSwitchedBytes

采取其中一从snmpwalk命令输出的示例。

  • 输出的前半,即, cipMacSwitchedPkts

    enterprises.9.9.84.1.2.1.1.3.9.1.0.0.12.117.65.32 = Counter32: 19349

    这里, 9是IfIndex,并且1是cipMacDirection。

    input(1), 
    output(2) 

    因此, 0.0.12.117.65.32是MAC地址,即, 0000.0c75.4120。MAC地址在十进制:翻译对在十六进制的0000.0c75.4120)的0.0.12.117.65.32 (。

    数据包数量= 19349。

  • SNMP输出的第二半,即, cipMacSwitchedBytes

    enterprises.9.9.84.1.2.1.1.4.9.1.0.0.12.117.65.32 = Counter32: 1608842

    这里, 9是IfIndex,并且1是cipMacDirection。

    input(1),
    output(2) 

    因此, 0.0.12.117.65.32是MAC地址,即, 0000.0c75.4120。

    字节数= 1608842。这在show interfaces mac命令输出中对应于以下条目:

    router_10.64.7.2#show interfaces mac
    FastEthernet2/0 
      Input  (486 free)
        0000.0c75.4120(24 ):  19349 packets, 1608842 bytes, last: 5360ms ago
    ...
    

Cisco路由器支持CISCO-IP-STAT-MIB从Cisco IOS�软件版本12.0。关于MIB支持的更多信息,参考MIB定位器leavingcisco.com (仅限注册用户)。

更多信息请参见:

IP 地址记帐

通过启用IP 记帐,用户可以根据源和目的地IP地址,查看通过Cisco IOS软件交换的字节数量和信息包数量。仅转接IP数据流仅被测量和根据一个出站基本类型;计费统计数据不包括软件生成的数据流、或在软件中终止的数据流。

要维护准确记帐总额,软件维护两个记帐数据库:激活和Checkpoint的数据。有在OLD-CISCO-IP-MIB.my的两个表是lipCkAccountingTable (检查点数据库)和lipAccountingTable (激活数据库)。actCheckPoint复制激活数据库到检查点数据库。结果,清除showip记帐命令

网络管理系统(NMS)能使用从MIB的lipCkAccountingTable分析在检查点数据库的稳定的数据。运行或者激活,数据库复制到检查点数据库。如果检查点数据库已经有早先从激活数据库获得的数据,路由器会将激活数据库的最新副本添加到查点数据库的现有数据中。检查点数据库存储从激活数据库获取的数据,直到actCheckPoint设置,或者,直到您通过发出clear ip accounting [checkpoint]命令删除此数据库内容。

MIB actCheckPoint激活检查点数据库。必须读此变量,然后设置相同的值。读然后设置的值被增加,在一成功的集合请求后。在路由器的配置如下:

<snip>
...
interface FastEthernet2/0
ip address 10.64.7.2 255.255.255.248
ip accounting output-packets
...
<snip>

使用SNMP,如何获得IP地址记帐信息

请使用checkpointing并且从检查点数据库获取数据使用SNMP得到准确记帐会计数据。

两步过程是需要的设置检查点和复制从激活数据库的数据到检查点数据库:

  1. 读值actCheckPoint (1.3.6.1.4.1.9.2.4.11)。

    % snmpget -v 1 10.64.7.2 public .1.3.6.1.4.1.9.2.4.11.0
         enterprises.9.2.4.11.0 = 0
    
  2. 设置actCheckPoint为读的值。

    % snmpset 10.64.7.2 private .1.3.6.1.4.1.9.2.4.11.0 i 0
         enterprises.9.2.4.11.0 = 0
    

    注意: 如果集是成功的值actCheckPoint由一个增加。

    % snmpget -v 1 10.64.7.2 public .1.3.6.1.4.1.9.2.4.11.0
    enterprises.9.2.4.11.0 = 1
    

这里,您确实不删除IP检查点会计表。检查点表时,您可以将正使用的表复制到检查点表中,然后重新初始化正使用的表。Checkpointing如上所述删除或重初始化IP记帐表。检索IP检查点会计表, snmpwalk lipCkAccountingTable。

注意: 1.3.6.1.4.1.9.2.4.9 = lipCkAccountingTable :

% snmpwalk 10.64.7.2 public .1.3.6.1.4.1.9.2.4.9
enterprises.9.2.4.9.1.1.10.64.7.26.172.17.111.59 = IpAddress: 10.64.7.26
enterprises.9.2.4.9.1.1.172.17.110.208.172.17.110.223 = IpAddress: 172.17.110.208
enterprises.9.2.4.9.1.2.10.64.7.26.172.17.111.59 = IpAddress: 172.17.111.59
enterprises.9.2.4.9.1.2.172.17.110.208.172.17.110.223 = IpAddress: 172.17.110.223
enterprises.9.2.4.9.1.3.10.64.7.26.172.17.111.59 = 29
enterprises.9.2.4.9.1.3.172.17.110.208.172.17.110.223 = 57
enterprises.9.2.4.9.1.4.10.64.7.26.172.17.111.59 = 2436
enterprises.9.2.4.9.1.4.172.17.110.208.172.17.110.223 = 5700
enterprises.9.2.4.9.1.5.10.64.7.26.172.17.111.59 = 0
enterprises.9.2.4.9.1.5.172.17.110.208.172.17.110.223 = 0

从router_10.64.7.2 :

router_10.64.7.2#show ip account
    Source         Destination              Packets               Bytes
172.17.110.208  172.17.110.223                   25                2500
10.64.7.26       172.17.111.59                   13                1092

帐户数据年龄是0。

总之,设置actCheckPoint清除在lipCkAccountingTable的数据。换句话说,此从一个全新的数据库开始。

Cisco路由器支持OLD-CISCO-IP-MIB从Cisco IOS软件版本10.x。关于MIB支持的更多信息,参考MIB定位器leavingcisco.com (仅限注册用户)。

更多信息请参见:

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 13503