我在 Python3 中收到了一个 SNMP 陷阱消息,并且我得到了一个十六进制数。
如何将其转换为字符串以便我可以看到它?
接收数据(十六进制)
b'0E\x02\x01\x01\x04\x06404040\xa78\x02\x04\x00\xf6\x17~\x02\x01\x00\x02\x01\x000*0\x0f\x06\x08+\x06\x01 \x02\x01\x01\x03\x00C\x03\x01k+0\x17\x06\n+\x06\x01\x06\x03\x01\x01\x04\x01\x00\x06\t+\x06\x01\x06 \x03\x01\x01\x05\x01'
这是我的 SNMP 陷阱接收器代码
import socket
import sys
port = 162
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("", port))
while 1:
data, addr = s.recvfrom(4048)
print(data)
这是我的 SNMP 陷阱发件人代码
from pysnmp.hlapi.asyncore import *
snmpEngine = SnmpEngine()
sendNotification(
snmpEngine,
CommunityData('404040'),
UdpTransportTarget(('192.168.0.160', 162)),
ContextData(),
'trap',
NotificationType(ObjectIdentity('SNMPv2-MIB', 'coldStart')),
)
snmpEngine.transportDispatcher.runDispatcher()