snmpwalk -v 2c -c public localhost .1.3.6.1.2.1.1 Timeout: No Response from localhost
时间: 2024-04-03 13:32:49 浏览: 164
这个命令是用来查询 SNMP 设备上的信息的,其中:
- `-v 2c` 表示使用 SNMP 版本 2c。
- `-c public` 表示使用 community 字符串为 public。
- `localhost` 表示查询本地的 SNMP 设备。
- `.1.3.6.1.2.1.1` 是 OID 的一部分,表示查询系统信息。
- `Timeout: No Response from localhost` 表示命令执行超时,没有收到本地 SNMP 设备的响应。
如果你想要查询成功,需要确保本地有一个支持 SNMP 的设备,并且确保 community 字符串和 OID 设置正确。如果还是无法查询成功,可以检查网络连接和 SNMP 配置是否正确。
相关问题
python 正则匹配~ # snmpwalk -v 2c -c zte_public 190.254.0.3:1611.3.6.1.4.1.3902.6053.19.1.3.2.7\ ... $da 8:15 0 477G 0 disk\n\ ... ~ # snmpwalk -v 2c -c zte_public 190.254.0.3:161 1.3.6.1.4.1.3902.6053.19.1.3.2.7\ ... SNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.7.1.0 = Gauge32: 0\ ... $db 8:15 0 477G 0 disk\n\ ... SNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.14.0.0 = Gauge32: 0\ ... SNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.14.1.0 = Gauge32: 0\ ... SNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.15.1.0 = Gauge32: 0\ ... $dc 8:15 0 477G 0 disk\n\ ... SNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.20.1.0 = Gauge32: 0\ ... SNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.26.0.0 = Gauge32: 0\ ... $dd 8:15 0 477G 0 disk\n\ ... SNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.26.1.0 = Gauge32: 0"串中以$d开头,disk结尾的字符串
可以使用以下正则表达式来匹配以$d开头,disk结尾的字符串:
```python
import re
string = "# snmpwalk -v 2c -c zte_public 190.254.0.3:1611.3.6.1.4.1.3902.6053.19.1.3.2.7\ ...\n$da 8:15 0 477G 0 disk\n\ ... ~ # snmpwalk -v 2c -c zte_public 190.254.0.3:161 1.3.6.1.4.1.3902.6053.19.1.3.2.7\ ...\nSNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.7.1.0 = Gauge32: 0\ ...\n$db 8:15 0 477G 0 disk\n\ ...\nSNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.14.0.0 = Gauge32: 0\ ...\nSNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.14.1.0 = Gauge32: 0\ ...\nSNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.15.1.0 = Gauge32: 0\ ...\n$dc 8:15 0 477G 0 disk\n\ ...\nSNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.20.1.0 = Gauge32: 0\ ...\nSNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.26.0.0 = Gauge32: 0\ ...\n$dd 8:15 0 477G 0 disk\n\ ...\nSNMPv2-SMI::enterprises.3902.6053.19.1.3.2.7.1.1.26.1.0 = Gauge32: 0"
pattern = r'\$d.*?disk\\n\\s*\\\.\\.\\..*?'
result = re.findall(pattern, string, re.DOTALL)
print(result)
# 输出结果:['$da\t\t\t\t\t8:15\t0\t477G\t0\tdisk\n\\ ...', '$db\t\t\t\t\t8:15\t0\t477G\t0\tdisk\n\\ ...', '$dc\t\t\t\t\t8:15\t0\t477G\t0\tdisk\n\\ ...', '$dd\t\t\t\t\t8:15\t0\t477G\t0\tdisk\n\\ ...']
```
解析一下正则表达式:
- `\` :转义字符,表示后面的字符是特殊字符,需要转义处理;
- `\$d` :匹配以$d开头的字符串;
- `.*?` :非贪婪匹配任意字符,直到下一个字符能够匹配成功;
- `disk\\n\\s*` :匹配disk和换行符,并且后面可能有多个空白字符;
- `\\\.\\\.\\.` :匹配三个连续的点(因为点是特殊字符,需要转义);
- `.*?` :非贪婪匹配任意字符,直到下一个字符能够匹配成功;
- `.*?` 和 `\\\.\\\.\\.` 重复出现多次,因为要匹配多个符合条件的字符串;
- `re.DOTALL` :表示`.`可以匹配任意字符,包括换行符。
snmpset -v1 -c public 10.10.1.1 1.3.6.1.2.1.43.5.1.1.3.1 i 6 这个写出python脚本
以下是一个可以实现该命令的 Python 脚本:
```python
from pysnmp.hlapi import *
errorIndication, errorStatus, errorIndex, varBinds = next(
setCmd(SnmpEngine(),
CommunityData('public'),
UdpTransportTarget(('10.10.1.1', 161)),
ContextData(),
ObjectType(ObjectIdentity('1.3.6.1.2.1.43.5.1.1.3.1'), Integer(6)))
)
if errorIndication:
print(errorIndication)
else:
print('Success.')
```
注意,使用该脚本需要安装 PySNMP 库,可以使用以下命令进行安装:
```
pip install pysnmp
```
阅读全文