本文件提供範例,說明如何使用簡易網路管理通訊協定 (SNMP),從思科路由器取得 MAC 和 IP 位址帳戶資訊。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
MAC地址記帳功能根據LAN介面上的源MAC地址和目標MAC地址為IP流量提供記帳資訊。此功能計算接收或傳送來自唯一MAC地址的IP資料包的LAN介面的資料包和位元組總數。它還記錄收到或傳送的最後一個資料包的時間戳。
透過命令列,您可以獲得以下結果:
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地址以十進位制表示:0.0.12.117.65.32(十六進位制表示為0000.0c75.4120)。
資料包數= 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 IOS®軟體版本12.0起,思科路由器支援CISCO-IP-STAT-MIB。有關MIB支援的詳細資訊,請參閱MIB Locator (僅限註冊客戶)。
有關詳細資訊,請訪問:
通過啟用IP記帳,使用者可以檢視通過Cisco IOS軟體在源IP地址和目標IP地址基礎上交換的位元組數和資料包數。僅測量傳輸IP流量,且僅以出站方式測量;由軟體生成或終止於軟體的流量不包括在記帳統計資訊中。
為了維護準確的會計合計,軟體維護兩個會計資料庫:一個活動資料庫和一個檢查點資料庫。OLD-CISCO-IP-MIB.my中有兩個表,分別是lipCkAccountingTable(檢查點資料庫)和lipAccountingTable(活動資料庫)。 actCheckPoint將活動資料庫複製到檢查點資料庫中。因此,show ip accounting命令被清除。
網路管理系統(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>
使用checkpointing並使用SNMP從檢查點資料庫中檢索資料以獲得準確的記帳資料。
設定檢查點並將資料從活動資料庫複製到檢查點資料庫需要兩個步驟:
讀取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
將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的值將增加1。
% 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檢查點計帳表。檢查點表時,將活動表複製到檢查點表,然後重新初始化活動表。如上所示的檢查點會刪除或重新初始化IP記帳表。要檢索IP檢查點記賬表,請單行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 IOS軟體版本10.x起,Cisco路由器支援舊CISCO-IP-MIB。有關MIB支援的詳細資訊,請參閱MIB Locator (僅限註冊客戶)。
有關詳細資訊,請訪問: