IDSNMP请用过的高手赐教! ( 积分: 100 )

  • 主题发起人 主题发起人 dliang
  • 开始时间 开始时间
D

dliang

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个网络监控的课题,单位的交换机路由器也需要监控,查到资料说用到SNMP和MIB之类的东西。不知道有无有做过的高手肯请赐教如何用SNMP在DELPHI下实现对交换机和路由器的监控?能是IDSNMP的,CISCO设备的更好!如嫌分数少只要能赐教,可以多加分,绝不食言!
 
我在做一个网络监控的课题,单位的交换机路由器也需要监控,查到资料说用到SNMP和MIB之类的东西。不知道有无有做过的高手肯请赐教如何用SNMP在DELPHI下实现对交换机和路由器的监控?能是IDSNMP的,CISCO设备的更好!如嫌分数少只要能赐教,可以多加分,绝不食言!
 
idsnmp支持的snmp协议现在的版本好像只是v1的,v2c,v3,现在ipwork的比较好,支持三个版本,但是现在没有出支持ipv6的,不过如果你想使用idsnmp的话,我可以给你贴一点代码。
interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient,
IdSNMP;

type
TForm1 = class(TForm)
snmp: TIdSNMP;
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
origOID:string;
i:integer;
begin
SNMP.Community := 'public';
SNMP.Host := '202.202.41.173';
SNMP.Query.Clear;
origOID := '1.3.6.1.2.1.2.2.1.16';
SNMP.Query.MIBAdd(origOID, '');
SNMP.Query.PDUType := PDUGetNextRequest;
while SNMP.SendQuery do
begin
if Copy(SNMP.Reply.MIBOID[0], 1, Length(origOID)) <> origOID then
Break;
for I := 0 to SNMP.Reply.ValueCount - 1 do
memo1.Lines.Add(SNMP.Reply.Value);
SNMP.Query.Clear;
SNMP.Query.MIBAdd(SNMP.Reply.ValueOID[0], '');
SNMP.Query.PDUType := PDUGetNextRequest;
end;
end;

end.
在这个网址上有ipwork的下载,这个很不错,我推荐使用这个
www.0zones.com精品控件里面有下载。
 
先行谢过,明天学习学习!稍后请教!
 
to cqwty
今天看了一天,还没有搞清楚 origOID 这个是什么?我用你的程序可以得到一些返回值,但是不知道表示些什么?怎么和MIB联系起来用呢?
 
真的没有人能赐教了吗?
 
找了一个SNMP的文档可惜不能发上来!要的请留邮箱!
 
如果你不了解mib里面的oid,那先找一本关于snmp的书籍看看,这样对你比较有帮助。
 

Similar threads

D
回复
0
查看
833
DelphiTeacher的专栏
D
后退
顶部