C#Process init中的SNMPWalk错误

时间:2013-07-01 13:53:59

标签: c# snmp

我正在创建一个使用SNMPWalk获取特定IP地址详细信息的应用程序。现在,它意味着使用Nmap查找指定网络中的所有打印机,然后使用SNMPWalk获取每台打印机的详细信息。

问题是SNMPWalk给了我错误:

"No log handling enabled - using stderr logging
-v2c:  (Sub-id not found: (top) -> -v2c)"

我的代码在这里:

Process p = new Process();

p.StartInfo.FileName = snmploc + "\\snmpwalk.exe";

p.StartInfo.ErrorDialog = false;

p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = false;

p.StartInfo.WorkingDirectory = snmploc;

p.StartInfo.Arguments = "–mALL -v2c –cpublic " + printer.IP();

p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;

p.Start();

Console.WriteLine("Snmpwalk has been fired");

Console.WriteLine("Waiting for Snmp to terminate...");

string output = p.StandardOutput.ReadToEnd();

string error = p.StandardError.ReadToEnd();

p.WaitForExit();

Console.WriteLine(p.ExitCode);

printer是类Printer的对象。它用于包含打印机详细信息,例如IP地址,名称,型号,序列号和开放端口。 snmploc是从命令行参数获得的。

这是如此复杂的主要原因是,当我尝试在命令提示符中使用完全相同的命令时,它可以很好地工作。

0 个答案:

没有答案