用python判断olt是中兴还是华为
时间: 2023-06-11 14:07:01 浏览: 222
判断OLT是中兴还是华为需要查看OLT的型号或者设备信息,一般来说这些信息都可以通过SNMP协议获取。下面是通过Python使用PySNMP库获取OLT设备信息的示例代码:
```python
from pysnmp.hlapi import *
import re
# 定义SNMP协议参数
target = '127.0.0.1'
port = 161
community = 'public'
# 定义OID
vendor_oid = '.1.3.6.1.2.1.47.1.1.1.1.13'
model_oid = '.1.3.6.1.2.1.47.1.1.1.1.7'
# 构造SNMP请求
vendor_req = getCmd(SnmpEngine(),
CommunityData(community),
UdpTransportTarget((target, port)),
ContextData(),
ObjectType(ObjectIdentity(vendor_oid)))
model_req = getCmd(SnmpEngine(),
CommunityData(community),
UdpTransportTarget((target, port)),
ContextData(),
ObjectType(ObjectIdentity(model_oid)))
# 发送SNMP请求并获取响应
vendor_resp = next(vendor_req)[3][0]
model_resp = next(model_req)[3][0]
# 解析响应获取设备信息
vendor_match = re.search(r'ZX|HW', vendor_resp)
model_match = re.search(r'\d+', model_resp)
if vendor_match and model_match:
vendor = vendor_match.group()
model = int(model_match.group())
if vendor == 'ZX':
print('中兴OLT')
elif vendor == 'HW':
print('华为OLT')
else:
print('未知厂商')
else:
print('获取设备信息失败')
```
需要注意的是,上述代码中使用的OID仅适用于中兴和华为的部分设备型号,如果需要适配其他厂商或型号需要根据实际情况修改OID。
阅读全文