Xây dựng hệ thống

Một phần của tài liệu Nghiên cứu chuẩn quản trị máy tính và ứng dụng trong giảng dạy (Trang 58 - 79)

3.3.1 Công c s dng

Hệ thống ựược xây dựng dựa trên thư viện lập trình ActiveSoket Lib, ựây là một bộ ựiều khiển truyền thông mạng cho các nhà phát triển Windows. Thư viện này cung cấp một giao diện lập trình ứng dụng cho rất nhiều các giao thức mạng khác nhau như: DNS, FTP, HTTP, HTTPS, ICMP Ping, IP- to-Country, MSN, NTP, RADIUS, RSH, SCP, SFTP, SNMP, DMI v1/v2c (Get, GetNext, Set), SNMP, DMI Traps, SNMP, DMI MIB, SSH, TCP, Telnet, TFTP, UDP, Telnet, Wake-On-LAN...Bên cạnh ựó, thư viện activeSocket hỗ trợ các nền tảng: Windows 2008, Windows Vista, Windows 2003, Windows 7, Windows XP, Windows 2000, hỗ trợ cả Hệ ựiều hành Windows 32 - và 64 bit. Ngoài các ứng dụng thực thi trên nền desktop, activeSocket còn hỗ trợ xây dựng các chương trình ứng dụng chạy trên nền Web, làm việc tốt với các ngôn ngữ như Php, ASP, ASPXẦ

Với ActiveSocket, dữ liệu có thể truyền thông qua mạng IP, bao gồm cả mạng Internet. ActiveSocket cung cấp một interface dạng kịch bản dễ sử dụng cho truyền thông IP, sử dụng ActiveSocket, lập trình viên có thể dễ dàng xây dựng các chương trình ứng dụng dựa trên nền tảng mạng Internet và các giao thức mạng.

đối với giao thức SNMP, DMI, ActiveSocket hỗ trợ:

SNMP, DMI - thiết bị phù hợp Truy vấn SNMP, DMI và phân tắch kết quả. Thiết lập một giá trị trên một Agent từ xa. Gửi Trap tới Managers từ xa, và nhận Trap. Hỗ trợ SNMPv1 và SNMP, DMI, DMIv2; Sử dụng SNMP, DMI Browser ựể duyệt qua một tập tin MIB;

SNMP, DMI Traps - Gửi và nhận SNMP, DMI Trap tới Agent. Hỗ trợ SNMP v1 và SNMP v2c;

SNMP MIB Browser - Load một cơ sở dữ liệu MIB vào bộ nhớ và duyệt qua tất cả các ựối tượng và xem tất cả các ựặc tắnh;

3.3.2 Giao din lp trình trong ActiveSocket

a. đối tượng SnmpManager / SnmpObject

+ đối tượng SnmpObject Ờ Thuộc tắnh và phương thức

Thuộc tắnh Type In/Out Mand/Opt Mô tả

OID String In/Out M SNMP Object Identifier

Type Number In/Out M SNMP data type

Value String In/Out O SNMP data value

RequestID Number Out n/a SNMP node ID

Thuộc tắnh MIB (chỉ thiết lập ựược khi sử dụng ựối tượng SnmpMibBrowser ):

Name String Out O SNMP object name

Path String Out O SNMP full path object

name

NodeID String Out O SNMP node ID

ParentNodeID Number Out O n/a

Thuộc tắnh Type In/Out Mand/Opt Mô tả

Syntax String Out n/a SNMP OID syntax

Access Number Out n/a SNMP OID Access

Status Number Out n/a SNMP OID Status

Phương thức Mô tả

Clear Reset all properties

+ đối tượng SnmpManager Ờ Thuộc tắnh và phương thức

Thuộc tắnh Type In/Out Mand/Opt Mô tả

Version String Out n/a Số phiên bản của

ActiveSocket

Build String Out n/a Hiển thị thông tin bản

Build ActiveSocket

ExpirationDate String Out n/a Ngày hết hạn của

ActiveSocket

Timeout Number In/Out O Số millseconds trước khi

một phương thức SNMP sẽ time out

ProtocolVersion Number In/Out O Chỉ ựịnh phiên bản giao

thức SNMP

LastError Number In/Out O Kết quả của phương thức

Thuộc tắnh Type In/Out Mand/Opt Mô tả

vừa ựược gọi.

Phương thức Mô tả

Initialize Khởi tạo 1 ựối tượng Snmp

Shutdown Shut down ựối tượng Snmp

Clear Reset tất cả thuộc tắnh về giá trị mặc ựịnh

Open Open 1 phiên SNMP tới 1 host từ xa, sử dụng community string

Close Close phiên SNMP hiện tại

Get Lấy thông tin của ựối tượng Snmp có OID là tham số truyền vào (Object ID) từ 1 agent SNMP

GetNext Retrieve the next Snmp Data object from a table or list

within an SNMP agent.

Set Gán 1 giá trị mới cho OID ựược chỉ ựinh (Object ID) trên SNMP agent

GetErrorDescription Lấy thông tin mô tả lỗi

Sleep đình chỉ hoạt ựộng của ựối tượng trong khoảng thời

gian ắt nhất ựược truyền vào

Activate Activate Software

Tổng quan 1 số phương thức

SnmpManager.Open

Ớ Mô tả: Mở một phiên SNMP, DMI với một host từ xa, sử dụng community string chỉ ựịnh.

Ớ Tham số:

♦ Agent SNMP, tức là tên host hoặc ựịa chỉ IP của máy tắnh ựang chạy các phần mềm Agent SNMP;

♦ Community string; mặc ựịnh là public;

♦ Port (tùy chọn), số port UDP xác ựịnh trên Agent. Nếu không ựược ựịnh nghĩa, mang giá trị 161.

Ớ Giá trị trả về: Luôn là 0 nếu thành công. SnmpManager.Get

Ớ Mô tả: Nhận ựược giá trị và kiểu của OID quy ựịnh (Object ID) từ các Agent (từ xa). Phải mở một phiên với các Agent bằng cách sử dụng phương thức Open. Giá trị trả về là một ựối tượng SnmpObject. Ớ Tham số: OID, có thể là 1 chuối chữ số hoặc chuỗi số phân cách bởi

dấu Ộ.Ợ.

Ớ Giá trị trả về: 1 ựối tượng SnmpObject. Nếu phương thức thất bại ( error), thuộc tắnh LastError chứa mã lỗi.

SnmpManager.GetNext

Ớ Mô tả: Lấy OID kế tiếp từ một bảng hoặc danh sách của Agent. Phương thức này chỉ nên ựược gọi là sau khi phương thức Get thành công. Ớ Tham số: ();

Ớ Giá trị trả về: 1 ựối tượng SnmpObject. Nếu phương thức thất bại ( error), thuộc tắnh LastError chứa mã lỗi.

SnmpManager.Set

Ớ Mô tả: Thiết lập giá trị và kiểu của ựối tượng SnmpObject trên Agent. Chỉ thực hiện ựược khi ựã mở 1 phiên giao tiếp ựến Agent.

Ớ Tham số: 1 ựối tượng SnmpObject.

Ớ Giá trị trả về: Luôn là 0. Nếu thất bại, thuộc tắnh LastError chưa mã lỗi. SnmpManager.GetErrorDescription

Ớ Mô tả: cũng cấp mô tả lỗi của mã lỗi nhận ựược. Ớ Tham số: Mã lỗi ( kiển Integer);

Ớ Giá trị trả về: Mô tả lỗi liên quan ựến mã lỗi ựã cho. I. 2. đối tượng SnmpMibBrowser

Sử dụng ựối tượng SnmpMibBrowser ựể tải một cơ sở dữ liệu MIB vào bộ nhớ và duyệt qua tất cả các ựối tượng và xem tất cả thuộc tắnh.

+ Tổng quan về thuộc tắnh và phương thức của ựối tượng SnmpMibBrowser Thuộc tắnh Type In/Out Mand/Opt Mô tả

Version String Out n/a Version number of

ActiveSocket

Build String Out n/a Display build information

of ActiveSocket

ExpirationDate String Out n/a Expiration date of

ActiveSocket

LastError Number Out n/a Result of the lasat called

function

LogFile String In/Out O Log file that can be used

for troubleshooting purposes

Phương thức Mô tả

LoadMibFile Load 1 CSDL Mib từ 1 file trong bộ nhớ.

Get Truy xuất ựối tượng ựầu tiên trong Mib database.

GetNext Truy xuất ựối tượng tiếp theo trong Mib database.

GetErrorDescription Truy xuất mô tả mã lỗi nhận ựược.

Sleep đình chỉ hoạt ựộng của ựối tượng trong khoảng thời

gian ắt nhất ựược truyền vào.

+ Một số phương thức SnmpMibBrowser. SnmpMibBrowser.Clear

Ớ Mô tả: Thiết lập lại tất cả các thuộc tắnh về giá trị ban ựầu Ớ Tham số: None.

Ớ Giá trị trả về: Always 0. SnmpMibBrowser.LoadMibFile

Ớ Mô tả: Load 1 Mib Database từ 1 file. Ớ Tham số: đường dẫn file MIB;

Ớ Giá trị trả về: Always 0. Nếu phương thức thất bại ( error), thuộc tắnh

LastError chứa mã lỗi.

SnmpMibBrowser.Get

Ớ Mô tả: Nhận ựược ựối tượng ựầu tiên trong Mib database. Ớ Tham số: OID ỘchaỢ.

Ớ Giá trị trả về: 1 ựối tượng SnmpObject. Nếu phương thức thất bại ( error), thuộc tắnh LastError chứa mã lỗi.

SnmpMibBrowser.GetNext

Ớ Mô tả: Nhận ựược ựối tượng kế tiếp từ MIB database. Phương thức sử dụng sau khi phương thức Get lấy ựối tượng ựầu tiên trong MIB database.

Ớ Tham số: None;

Ớ Giá trị trả về: 1 ựối tượng SnmpObject. Nếu phương thức thất bại ( error), thuộc tắnh LastError chứa mã lỗi.

SnmpMibBrowser.GetErrorDescription

Ớ Mô tả: Cung cấp mô tả lỗi của mã lỗi nhận ựược. Ớ Tham số: Mã lỗi (integer).

Ớ Giá trị trả về: Mô tả lỗi liên quan tới mã lỗi nhận ựược. SnmpManager.GetNext

Ớ Mô tả: Lấy OID kế tiếp từ một bảng hoặc danh sách của Agent. Phương thức này chỉ nên ựược gọi là sau khi phương thức Get thành công. Ớ Tham số: ();

Ớ Giá trị trả về: 1 ựối tượng SnmpObject. Nếu phương thức thất bại ( error), thuộc tắnh LastError chứa mã lỗi.

II. 3. đối tượng SnmpTrapManager, SnmpTrap

đối tượng SnmpTrapManager cung cấp các thuộc tắnh và phương thức cho việc gửi và nhận Trap SNMP.

+ đối tượng SnmpTrap Ờ Thuộc tắnh và phương thức Thuộc tắnh Type In/Out Mand/Opt Mô tả

Host String In/Out M SNMP host (remote)

Community String In/Out M SNMP community

Port Number In/Out M SNMP port

GenericTrap Number In/Out O Generic Trap identifier

Thuộc tắnh Type In/Out Mand/Opt Mô tả

SpecificTrap Number In/Out O Specific Trap identifier

(custom trap)

Enterprise String In/Out O Relative OID path

UpTime String In/Out O UpTime

Phương thức Mô tả

Clear Reset all properties to their default values

AddObject Add a new SNMP object to the trap

GetFirstObject Get first variable

GetNextObject Get next variable

a. Một số thuộc tắnh: SnmpTrap.Community

Ớ Type: String

Ớ Mô tả: Nếu ựối tượng ựược sử dụng ựể gửi Trap, thuộc tắnh

"Community" quy ựịnh các Community sử dụng cho việc gửi Trap. Nếu ựối tượng ựược trả lại bởi các phương thức GetFirstTrap hoặc GetNextTrap, thuộc tắnh Community xác ựịnh các Community của bên nhận ựược.

SnmpTrap.Port Type: Number

Mô tả: SNMP cổng. Nếu ựối tượng ựược sử dụng ựể gửi Trap, thuộc tắnh 'Port' quy ựịnh cổng ựược sử dụng ựể gửi Trap (mặc ựịnh: 162). Nếu ựối

tượng ựược trả lại bởi các phương thức GetFirstTrap hoặc GetNextTrap, thuộc tắnh ỘPortỢ xác ựịnh cổng ựã nhận ựược Trap.

SnmpTrap.GenericTrap Type: Number (integer).

Mô tả: Thuộc tắnh chỉ sử dụng với Snmp v1. Cung cấp 1 danh sách giá trị:

Name Description

asSNMP_TRAP_COLDSTART Cold start

asSNMP_TRAP_WARMSTART Warm start

asSNMP_TRAP_LINKDOWN Link down

asSNMP_TRAP_LINKUP Link up

asSNMP_TRAP_AUTHFAILURE Authentication failure

asSNMP_TRAP_EGPNEIGHLOSS Neighbor lost

asSNMP_TRAP_ENTERSPECIFIC Custom type

SnmpTrap.SpecificTrap Ớ Type: Number

Ớ Mô tả: Thuộc tắnh chỉ sử dụng với Snmp v1. Có thể tùy chỉnh 1 số loại Trap.

b. Một số phương thức SnmpTrap.AddObject

Ớ Mô tả: Thêm 1 ựối tượng SnmpObject vào Trap. Có thể thêm nhiều ựối tượng vào 1 trap.

Ớ Tham số: None.

Ớ Giá trị trả về: Always 0.

SnmpTrap.GetFirstObject, SnmpTrap.GetNextObject

Ớ Mô tả: Duyệt qua tất cả các ựối tượng SnmpTrap trong Trap. Có thể có 1 hoặc nhiều các ựối tượng SnmpTrap trong một Trap.

Ớ Tham số: None.

Ớ Giá trị trả về: Một tham chiếu ựến một ựối tượng SnmpTrap. + đối tượng SnmpTrapManager Ờ Thuộc tắnh và phương thức Thuộc tắnh Type In/Out Mand/Opt Mô tả

Version String Out n/a Version number of

ActiveSocket

Build String Out n/a Display build information

of ActiveSocket

ExpirationDate String Out n/a Expiration date of

ActiveSocket

ProtocolVersion Number In/Out O Specifies the SNMP

protocol version to use

LastError Number In/Out O Result of the last called

function

Phương thức Mô tả

Initialize Khởi tạo ựối tượng SnmpTrapManager

Shutdown Shut down ựối tượng SnmpTrapManager

Clear Thiết lập lại các thuộc tắnh về giá trị mặc ựịnh.

Send Gửi 1 trap

Phương thức Mô tả

StartListening Bắt ựầu lắng nghe trap gửi ựến

StopListening Ngừng lắng nghe trap gửi ựến

GetFirstTrap Lấy trap ựầu tiên trong 'Inbox'

GetNextTrap Lấy trap tiếp theo trong 'Inbox'

Sleep đình chỉ việc thực hiện của ựối tượng cho khoảng thời

gian ắt nhất ựược chỉ ựịnh.

GetErrorDescription Lấy mô tả của mã lỗi nhận ựược.

Một số phương thức của ựối tượng SnmpTrapManager

SnmpTrapManager.Initialize

Ớ Mô tả: Khởi tạo ựối tượng SnmpTrapManager. Phương thức Khởi tạo khởi tạo các thư viện WinSNMP của hệ ựiều hành và phân bổ các nguồn tài nguyên cần thiết. Phải khởi tạo trước khi có thể Gửi một Trap SNMP. Phải gọi Shutdown ựể tắt các ựối tượng (trước khi Unload ựối tượng SnmpTrapManager).

Ớ Tham số: None.

Ớ Giá trị trả về: Always 0. Thuộc tắnh LastError cho biết phương thức ựã ựược hoàn tất thành công ?.

SnmpTrapManager.Send

Ớ Mô tả: Gửi 1 trap ựến Agent. Ớ Tham số: 1 ựối tượng SnmpTrap.

Ớ Giá trị trả về: Always 0. Thuộc tắnh LastError cho biết phương thức ựã ựược hoàn tất thành công ?.

SnmpTrapManager.StartListening

Ớ Mô tả: Bắt ựầu nghe Trap gửi ựến. Phương thức này trả về ngay lập tức. Từ thời ựiểm ựó, nó sẽ lưu trữ tất cả Trap ựến trong hàng ựợi nội bộ. Sử dụng GetFirstTrap và GetNextTrap ựể lấy những Trap nhận ựược từ các hàng ựợi nội bộ.

Ớ Tham số:

♦ Community: là community string. Nếu tham số rỗng thì sẽ chấp nhận trap từ bất cứ agent nào.

♦ Port ( tùy chọn) - UDP port ựược sử dụng cho truyền trap SNMP. Mặc ựịnh: 162.

Ớ Giá trị trả về: Always 0. Thuộc tắnh LastError cho biết phương thức ựã ựược hoàn tất thành công ?.

SnmpTrapManager.StopListening

Ớ Mô tả: Dừng lắng nghe trap ựến. Nó chỉ có ý nghĩa ựể gọi chức năng này nếu chương trình trong chế ựộ 'Listen', tức là nếu chương trình ựược gọi là StartListening trong giai ựoạn ựầu.

Ớ Tham số: None.

Ớ Giá trị trả về: Always 0. Thuộc tắnh LastError cho biết phương thức ựã ựược hoàn tất thành công ?.

SnmpTrapManager.GetFirstTrap

Ớ Mô tả: Nhận ựược Trap ựầu tiên từ hàng ựợi nội bộ. Trap ựược lấy trong hàng ựợi FIFO. Hàng ựợi xóa tự ựộng khi GetNextTrap ựã lấy mục cuối cùng trong hàng ựợi.

Ớ Tham số: None.

Ớ Giá trị trả về: 1 ựối tượng SnmpTrap. Thuộc tắnh LastError cho biết phương thức ựã ựược hoàn tất thành công ?.

SnmpTrapManager.GetNextTrap

Ớ Mô tả: Nhận ựược Trap kế tiếp từ hàng ựợi nội bộ. Trap ựược lấy trong hàng ựợi FIFO. Hàng ựợi xóa tự ựộng khi 'GetNextTrap' ựã lấy mục cuối cùng trong hàng ựợi.

Ớ Tham số: None.

Ớ Giá trị trả về: 1 ựối tượng SnmpTrap. Thuộc tắnh LastError cho biết phương thức ựã ựược hoàn tất thành công ?.

+ ActiveSocket Constants.

Trong ActiveSocket, tất cả các hằng số ựược nhóm lại với nhau trong một ựối tượng riêng biệt ựược gọi là SocketConstants. Tạo ra ựối tượng Constants trước khi có thể sử dụng các hằng số.

Các trường của ựối tượng Contants sử dụng ựối với Snmp: Version: Name Description asSNMP_VERSION_V1 SNMP v1 (RFCs 1155-1157) asSNMP_VERSION_V2C SNMP v2c (RFCs 1901-1908) Data type: Name Description asSNMP_TYPE_UNDEFINED Undefined

asSNMP_TYPE_INTEGER Integer (16 bits)

asSNMP_TYPE_INTEGER32 Integer (32 bits)

asSNMP_TYPE_BITS Bit stream

asSNMP_TYPE_OCTETSTRING Octet string

Name Description

asSNMP_TYPE_NULL Null

asSNMP_TYPE_OBJECTIDENTIFIER Object Identifier

asSNMP_TYPE_IPADDRESS IP address

asSNMP_TYPE_COUNTER32 Counter (32 bits)

asSNMP_TYPE_GAUGE32 Gauge (32 bits)

asSNMP_TYPE_TIMETICKS Time ticks

asSNMP_TYPE_OPAQUE Opaque

asSNMP_TYPE_COUNTER64 Counter (64 bits)

asSNMP_TYPE_UNSIGNED32 Unsigned integer (32 bits)

Trap types:

Name Description

asSNMP_TRAP_COLDSTART Cold start

asSNMP_TRAP_WARMSTART Warm start

asSNMP_TRAP_LINKDOWN Link down

asSNMP_TRAP_LINKUP Link up

asSNMP_TRAP_AUTHFAILURE Authentication failure

asSNMP_TRAP_EGPNEIGHLOSS Neighbor lost

asSNMP_TRAP_ENTERSPECIFIC Custom type

Mib Access constants

Name Description

asMIB_ACCESS_NOACCESS No access

asMIB_ACCESS_NOTIFY Notify access

asMIB_ACCESS_READONLY Read-only access

asMIB_ACCESS_WRITEONLY Write-only access

asMIB_ACCESS_READWRITE Rread-write access

asMIB_ACCESS_READCREATE Read-create access

Mib Status Constants

Name Description

asMIB_STATUS_CURRENT Current

asMIB_STATUS_DEPRECATED Deprecated

asMIB_STATUS_OBSOLETE Obsolete

asMIB_STATUS_MANDATORY Mandatory

3.4 Kết quả sau khi xây dựng chương trình thu thập thông tin

3.4.1. Giao din chắnh ca chương trình

Hình 3.1 Giao diện chắnh của chương trình

3.4.2. Mô phng mt s phương thc trong SNMP, DMI

Hình 3.2 Mô phỏng một số phương thức trong SNMP, DMI

3.4.3 Np file cơ s d liu MIB vào chương trình

Hình 3.3 Nạp file cơ sở dữ liệu MIB vào chương trình

3.4.4 Chc năng hin th danh sách các thiết b trên máy Agent

Hình 3.4 Chức năng hiển thị danh sách các thiết bị trên máy Agent

3.4.5 Chc năng hin th danh sách các chương trình ng dng trên máy người dùng

Hình 3.5 Chức năng hiển thị danh sách các chương trình ứng dụng trên máy người dùng

Một phần của tài liệu Nghiên cứu chuẩn quản trị máy tính và ứng dụng trong giảng dạy (Trang 58 - 79)