quản trị phần mềm công nghệ thông tin,quản trị phần mềm công nghệ thông tin,quản trị phần mềm công nghệ thông tin,quản trị phần mềm công nghệ thông tin,quản trị phần mềm công nghệ thông tin,quản trị phần mềm công nghệ thông tin,quản trị phần mềm công nghệ thông tinquản trị phần mềm công nghệ thông tinquản trị phần mềm công nghệ thông tin
LỜI NÓI ĐẦU Thế giới ngày có nhiều tiến mạnh mẽ công nghệ thông tin (CNTT) từ tiềm thông tin trở thành tài nguyên thực sự, trở thành sản phẩm hàng hoá xã hội tạo thay đổi to lớn lực lượng sản xuất, sở hạ tầng, cấu trúc kinh tế, tính chất lao động cách thức quản lý lĩnh vực xã hội Trong năm gần đây, CNTT nước ta có phát triển lĩnh vực sống lĩnh vực quản lý xã hội khác Với trình độ phát triển việc ứng dụng CNTT vào công việc ngày xem điều bắt buộc Tuy nhiên với việc phát triển mạng lưới máy tính nhanh gây khó khăn định việc quản lý hệ thống mạng Công việc quản lý hệ thống mạng có yêu cầu đặt để tận dụng tối đa tài nguyên có hệ thống tăng độ tin cậy hệ thống Do đó, vấn đề quản trị mạng thiếu Trong quản trị mạng theo giao thức SNMP phương pháp sử dụng rộng rãi Với nhu cầu thiết thực vậy, để hiểu rõ quan trọng việc quản lý hệ thống mạng, khóa luận thực tập tốt nghiệp tiến hành tìm hiểu giao thức SNMP tổ chức xây dựng chương trình mô giám sát lưu lượng cổng giao tiếp thiết bị mạng Nội dung đồ án bao gồm phần chính: Chương 1: Tổng quan hệ thống quản lý mạng Chương 2: Giao thức quản lý mạng đơn giản Chương 3: Xây dựng chương trình mô giám sát lưu lượng cổng giao tiếp thiết bị mạng Cuối cùng, xin chân thành cảm ơn tới thầy Th.s Phạm Văn Hiệp tạo điều kiện, giúp đỡ có đủ khả để hoàn thành đồ án Thực Tập Tốt Nghiệp MỤC LỤC LỜI NÓI ĐẦU THUẬT NGỮ VIẾT TẮT & KÝ HIỆU DANH MỤC CÁC HÌNH CHƯƠNG TỔNG QUAN VỀ QUẢN LÝ HỆ THỐNG MẠNG Giới thiệu chung quản lý hệ thống mạng Các yêu cầu quản lý hệ thống mạng Kiến trúc quản lý mạng Cơ chế quản lý mạng CHƯƠNG GIAO THỨC QUẢN LÝ MẠNG ĐƠN GIẢN 10 Sự đời phát triển SNMP 10 Một số vấn đề SNMP 11 SNMP Communities 16 Các phương thức SNMP 17 4.1 GetRequest: 18 4.2 GetNextRequest: 19 4.3 GetBulkRequest: 21 4.4 SetRequest: 22 4.5 GetResponse: 23 4.6 Trap: 26 4.7 Notification: 28 4.8 InformRequest: 29 4.9 Report: 29 Cấu trúc quản lý thông tin (SMI) 29 5.1 Đặt tên OIDs 30 5.2 Định nghĩa OIDs 31 5.3 Object Access 33 Cơ sở thông tin quản lý (MIB-II) 33 SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang Thực Tập Tốt Nghiệp Cấu trúc tin SNMP 35 7.1 Cấu trúc PDU GetRequest 38 7.2 Cấu trúc PDU GetResponse 39 7.3 Cấu trúc PDU: 40 7.4 Cấu trúc PDU SetRequest 41 7.5 Cấu trúc PDU Trap 42 7.6 Cấu trúc Bulk PDU 43 Tổng kết 44 CHƯƠNG XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG GIÁM SÁT LƯU LƯỢNG CÁC CỔNG GIAO TIẾP TRONG THIẾT BỊ MẠNG 45 Chuẩn bị lập trình SNMP 45 Giới thiệu chương trình ADSL Router Traffic Monitor 47 Cách sử dụng chương trình ADSL Router Traffic Monitor 48 Mã nguồn SNMP Traffic Monitor 49 4.1 Ý tưởng thực 49 4.2 Thiết kế giao diện 49 4.3 Các module chương trình 50 Đánh giá 55 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57 TÀI LIỆU THAM KHẢO 58 SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang Thực Tập Tốt Nghiệp THUẬT NGỮ VIẾT TẮT & KÝ HIỆU ADSL API ASN.1 ATM BGP CCITT CGI CS-MARS DNS DSI FTP HTTP IETF IIOP IOR IOS IOS IP MIB NMS RFC RMON SMTP SMI SNMP SSH UDP : : : : : : : : : : : : : : : : : : : : : : : : : : : Asymmetric Digital Subscriber Line Application Program Interfaces Abstract Syntax Notation Asynchronous Transfer Mode Border Gateway Protocol International Telegraph and Telephone Consultative Committee Common Gateway Interface Cisco Security Monitoring, Analysis, and Response System Domain Name Service Dynarnic Skeleton Invocation File Transfer Protocol HyperText Transfer Protocol Intemet Engineering Task Force Intemet Inter-ORB protocol Interoperable Object Reference International Organization for Standardization Internetworking Operating System Internet Protocol Management Information Base Network Management Station Request For Comments Remote Network Monitoring Simple Mail Transfer Protocol Structure of Management Information Simple Network Management Protocol Secure Shell User Datagram Protocol SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang Thực Tập Tốt Nghiệp DANH MỤC CÁC HÌNH STT Tên Hình Trang Hình 2-1: Mối quan hệ NMS Agent Hình 2.2 - Mô hình quản lý Manager - Agent Hình 2.3 - Giám sát tài nguyên máy chủ 11 Hình 2.4 - Giám sát lưu lượng port switch, router 11 Hình 2.5 - Hệ thống cảnh báo cố tức thời 12 Hình 2-6: Mô hình phương thức SNMP 14 Hình 2-7: Mô hình phương thức lệnh GetRequest 14 Hình 2-8: Sơ đồ đường OID 16 Hình 2-9: Mô hình lấy thông tin get-bulk 17 10 Hình 2-10: Mô hình lệnh SetRequest 19 11 Hình 2-11: Bảng thông báo lỗi SNMPv1 20 12 Hình 2-12: Bảng thông báo lỗi SNMPv2 22 13 Hình 2-13: Các thông báo lỗi SNMPv2 23 14 Hình 2-14: Bảng mô hình gửi Trap từ Agent 24 15 Hình 2-15: Sơ đồ OIDs 27 16 Hình 2-16: Bảng liệu MSI v1 29 17 Hình 2-17: Sơ đồ MIB - 31 18 Hình 2-18: Mô hình trao đổi liệu NMS Agent 33 19 Hình 3-1: Thiết kế giao diện ADSL Router Traffic Monitor 48 20 Hình 3-2: Lấy thông tin thiết bị giám sát 49 21 Hình 3-3: Hiển thị danh sách interface 52 22 Hình 3-4: Biểu đồ quét lưu lượng interface 53 SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang Thực Tập Tốt Nghiệp CHƯƠNG TỔNG QUAN VỀ QUẢN LÝ HỆ THỐNG MẠNG Giới thiệu chung quản lý hệ thống mạng Sự phát triển hội tụ mạng năm gần tác động mạnh mẽ tới tất khía cạnh mạng lưới, chí nhận thức tảng phương pháp tiếp cận Quản lý mạng lĩnh vực có thay đổi hoàn thiện mạnh mẽ nỗ lực tiêu chuẩn hoá tổ chức tiêu chuẩn lớn giới yêu cầu từ phía người sử dụng dịch vụ Mặt khác nhà khai thác mạng, nhà cung cấp thiết bị người sử dụng thường áp dụng phương pháp chiến lược khác cho việc quản lý mạng thiết bị Mỗi nhà cung cấp thiết bị thường đưa giải pháp quản lý mạng riêng cho sản phẩm Trong bối cảnh hội tụ mạng nay, số lượng thiết bị dịch vụ đa dạng phức tạp tạo thách thức lớn vấn đề quản lý mạng Nhiệm vụ quản lý mạng rõ ràng mặt nguyên tắc chung, toán quản lý cụ thể lại có độ phức tạp lớn Điều xuất phát từ tính đa dạng hệ thống thiết bị đặc tính quản lý loại thiết bị, xa chiến lược quản lý phải phù hợp với kiến trúc mạng đáp ứng yêu cầu người sử dụng Một loạt thiết bị điển hình cần quản lý gồm: Máy tính cá nhân, máy trạm, server, máy vi tính cỡ nhỏ, máy vi tính cỡ lớn, thiết bị đầu cuối, thiết bị đo kiểm, máy điện thoại, tổng đài điện thoại nội bộ, thiết bị truyền hình, máy quay, modem, ghép kênh, chuyển đổi giao thức, CSU/DSU, ghép kênh thống kê, ghép giải gói, thiết bị tương thích ISDN, card NIC, mã hoá giải mã tín hiệu, thiết bị nén liệu, gateway, xử lý front-end, đường trung kế, DSC/DAC, lặp, tái tạo tín hiệu, thiết bị chuyển mạch, bridge, router switch, tất phần danh sách thiết bị phải quản lý Toàn cảnh tranh quản lý phải bao gồm quản lý tài nguyên mạng tài nguyên dịch vụ, người sử dụng, ứng dụng hệ thống, sở liệu khác loại môi trường ứng dụng Về mặt kĩ thuật, tất thông tin thu thập, trao đổi kết hợp với hoạt động quản lý mạng dạng số liệu quản lý kĩ thuật tương tự kĩ thuật sử dụng mạng truyền số liệu Tuy nhiên khác truyền thông số liệu trao đổi thông tin quản lý việc trao đổi thông tin quản lý đòi hỏi trường liệu chuyên biệt, giao thức truyền thông SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang Thực Tập Tốt Nghiệp mô hình thông tin chuyên biệt, kỹ chuyên biệt để thiết kế, vận hành hệ thống quản lý biên dịch thông tin quản lý báo lỗi, trạng hệ thống, cấu hình độ bảo mật Các yêu cầu quản lý hệ thống mạng Các chế quản lý mạng nhìn nhận từ hai góc độ, góc độ mạng hệ thống quản lý nằm mức cao mô hình OSI từ phía người điều hành quản lý hệ thống mạng Mặc dù cá nhiều quan điểm khác mô hình quản lý hệ thống thống ba chức quản lý gồm: giám sát, điều khiển đưa báo cáo tới người điều hành + Chức giám sát có nhiệm vụ thu thập liên tục thông tin trạng thái tài nguyên quản lý sau chuyển thông tin dạng kiện đưa cảnh báo tham số tài nguyên mạng quản lý vượt ngưỡng cho phép + Chức quản lý có nhiệm vụ thực yêu cầu người quản lý ứng dụng quản lý nhằm thay đổi trạng thái hay cấu hình tài nguyên quản lý + Chức đưa báo cáo có nhiệm vụ chuyển đổi hiển thị báo cáo dạng mà người quản lí đọc, đánh giá tìm kiếm, tra cứu thông tin báo cáo Dưới góc độ người điều hành quản lý mạng, số yêu cầu thường đặt gồm: + Khả giám sát điều khiển mạng thành phần hệ thống thiết bị từ đầu cuối đến đầu cuối + Có thể truy nhập cấu hình lại từ xa tài nguyên quản lý + Dễ dàng việc cài đặt, vận hành bảo dưỡng hệ thống quản lý ứng dụng + Bảo mật hoạt động quản lý truy nhập người sử dụng, bảo mật truyền thông thông tin quản lý SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang Thực Tập Tốt Nghiệp + Có khả đưa báo cáo đầy đủ rõ nghĩa thông tin quản lý + Quản lý theo thời gian thực hoạt động quản lý hàng ngày thực cách tự động + Mềm dẻo việc nâng cấp hệ thống có khả tương thích với nhiều công nghệ khác + Có khả lưu trữ khôi phục thông tin quản lý Kiến trúc quản lý mạng Quản lý mạng gồm tập chức để điều khiển, lập kế hoạch, liên kết, triển khai giám sát tài nguyên mạng Quản lý mạng nhìn nhận cấu trúc gồm nhiều lớp: + Quản lý kinh doanh: Quản lý khía cạnh kinh doanh mạng ví dụ như: ngân sách/ tài nguyên, kế hoạch thỏa thuận + Quản lý dịch vụ: Quản lý dịch vụ cung cấp cho người sử dụng, ví dụ dịch vụ cung cấp bao gồm việc quản lý băng thông truy nhập, lưu trữ liệu ứng dụng cung cấp + Quản lý mạng: Quản lý toàn thiết bị mạng mạng + Quản lý phần tử: Quản lý tập hợp thiết bị mạng, ví dụ định tuyến truy nhập hệ thống quản lý thuê bao + Quản lý phần tử mạng: Quản lý thiết bị đơn mạng, ví dụ định tuyến, chuyển mạch, Hub Quản lý mạng chia thành hai chức sở: truyền tải thông tin quản lý qua hệ thống quản lý phần tử thông tin quản lý mạng Các chức gồm nhiệm vụ khác như: Giám sát, cấu hình, sửa lỗi lập kế hoạch thực nhà quản trị nhân viên quản lý mạng SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang Thực Tập Tốt Nghiệp Cơ chế quản lý mạng Cơ chế quản lý mạng bao gồm giao thức quản lý mạng, giao thức quản lý mạng cung cấp chế thu thập, thay đổi truyền liệu quản lý mạng qua mạng Các chế giám sát nhằm để xác định đặc tính thiết bị mạng, tiến trình giám sát bao gồm thu thập lưu trữ tập liệu Dữ liệu thường thu thập thông qua polling tiến trình giám sát gồm giao thức quản lýmạng Xử lý liệu sau trình thu thập thông tin quản lý mạng bước loại bỏ bớt thông tin liệu không cần thiết nhiệm vụ quản lý Sự thể thông tin quản lý cho người quản lý cho phép người quản lý nắm bắt hiệu tính đặc tính mạng cần quản lý Một số kĩ thuật biểu diễn liệu thường sử dụng dạng ký tự, đồ thị lưu đồ (tĩnh động) Tại thời điểm xử lý thông tin liệu, nhiều thông tin chưa kịp xử lý lưu trữ vùng nhớ lưu trữ khác Các chế dự phòng cập nhật lưu trữ xác định trước chế quản lý mạng nhằm tránh tối đa tổn thất liệu Các phân tích thời gian thực yêu cầu thời gian hỏi đáp tới thiết bị quản lý khoảng thời gian ngắn Đây điều kiện đánh đổi số lượng đặc tính thiết bị mạng với lượng tài nguyên (khả tính toán, số lượng thiết bị tính toán, nhớ, lưu trữ) cần thiết để hỗ trợ phân tích Thực nhiệm vụ cấu hình cài đặt tham số thiết bị mạng để điều hành điều khiển phần tử Các chế cấu hình bao gồm truy nhập trực tiếp tới thiết bị, truy nhập từ xa lấy file cấu hình từ thiết bị Dữ liệu cấu hình thông qua cách sau: + Các câu lệnh SET SNMP + Truy nhập qua telnet giao diện dòng lệnh + Truy nhập qua HTTP + Truy nhập qua kiến trúc CORBA + Sử dụng FTP/TFTP để lấy file cấu hình SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang Thực Tập Tốt Nghiệp CHƯƠNG GIAO THỨC QUẢN LÝ MẠNG ĐƠN GIẢN Sự đời phát triển SNMP Giao thức Simple Netwok Management Protocol (SNMP) đời vào năm 1988 để đáp ứng đòi hỏi cấp bách chuẩn chung cho quản trị mạng Internet SNMP cung cấp cho người dùng tập lệnh đơn giản để quản trị thiết bị từ xa Được phát triển từ giao thức Simple Gateway Monitoring Protocol (SGMP), SNMP mở rộng cho phù hợp với yêu cầu hệ thống quản trị mạng đa dụng Ban đầu, SNMP xem giải pháp tạm thời cho việc quản trị mạng máy tính dựa TCP/IP chờ đợi chuyển hẳn sang giao thức dựa kiến trúc mạng OSI Tuy nhiên, phát triển mạnh mẽ ứng dụng TCP/IP, từ năm 1990, khiến cho TCP/IP trở thành giao thức truy nhập mạng de factor giới Điều khiến cho SNMP trở thành giao thức quản trị mạng sử dụng không bị xem giải pháp tạm thời [Stallings 96] Các hoạt động quy cách liệu SNMP định dựa tiêu chuẩn đưa RFC (Request For Comment) chúng phát triển Trong số RFC xây dựng nên chuẩn SNMP, có ba tiêu chuẩn quan trọng dùng làm sở cho SNMP Chúng là: • RFC 1156 - Cấu trúc định danh thông tin quản trị internet TCP/IP (Structure and Identification of ManagementInformation for TCP/IP based internets) • RFC 1157 - A Simple Network Management Protocol (SNMP) • RFC 1213 – Cơ sở thông tin quản trị mạng cho Internet TCP/IP SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang 10 Thực Tập Tốt Nghiệp phải trả lời item nằm mib, item request có item response + max-repetitions : item lại variable-bindings agent trả lời max-repetitions item nằm chúng mib, item lại request có max-repetitions item tương ứng response Tổng kết SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang 44 Thực Tập Tốt Nghiệp CHƯƠNG XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG GIÁM SÁT LƯU LƯỢNG CÁC CỔNG GIAO TIẾP TRONG THIẾT BỊ MẠNG Chuẩn bị lập trình SNMP Tại bạn cần phải lập trình SNMP ? Nhiều thiết bị, ứng dụng hãng thiết kế mib riêng, bạn giám sát chúng ứng dụng snmp thông thường Bạn dùng phần mềm hãng thiết bị để giám sát Nhưng bạn có nhiều chủng loại thiết bị khác bắt buộc bạn phải dùng phần mềm riêng Bây làm để dùng ứng dụng để giám sát tất chúng ? Lúc bạn cần biết cách lập trình ứng dụng giám sát SNMP Cũng có số phần mềm cho phép giám sát “custom mib” chưa hẳn chúng đáp ứng hoàn toàn nhu cầu bạn Các thiết bị gửi event dạng trap đến trap host Định nghĩa trap chuẩn có số event nghèo nàn, dòng sản phẩm khác có định nghĩa nhiều trap enterpriseSpecific mà phải dùng sản phẩm hãng đọc Nếu bạn có file mib mô tả event thiết bị, làm để dùng ứng dụng để làm host nhận event cảnh báo cho tất chủng loại thiết bị ? Lúc bạn cần biết cách lập trình ứng dụng SNMP Trap receiver Giả sử bạn viết ứng dụng đó, ứng dụng chạy nhiều server Người quản trị cần giám sát hiệu ứng dụng bạn tất server mà không cần phải truy cập vào server để lấy thông tin Bạn thiết kế giao thức phần mềm giám sát riêng, sử dụng SNMP người dùng dùng phần mềm có sẵn tính “custom mib” Solarwinds để giám sát ứng dụng bạn Lúc bạn cần biết cách lập trình ứng dụng SNMP Agent để bổ sung tính vào ứng dụng bạn Nếu bạn người phát triển ứng dụng, việc dùng phần mềm giám sát có sẵn đáp ứng nhu cầu công việc bạn không cần phải đọc chương Delphi 2010 SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang 45 Thực Tập Tốt Nghiệp Delphi ngôn ngữ lập trình hướng đối tượng, cú pháp giống với Pascal Môi trường lập trình Delphi hỗ trợ thiết kế form dạng kéo thả tương tự Visual Studio Các đối tượng giao diện đóng gói gọi VCL (Visual Component Library), tương tự Controls C# hay Java Beans Java Có hàng trăm component Delphi, chúng hỗ trợ Unicode hoàn toàn Ứng dụng Delphi viết ứng dụng native Windows nên không sử dụng NET Framework Bạn cần cài đặt Delphi 2009 2010 để viết ứng dụng SNMP Indy Project Indy thư viện component hỗ trợ lập trình mạng mức application (layer mô hình OSI), nghĩa ứng dụng bạn phải xử lý phần data sau tách hết header giao thức lớp application Indy hỗ trợ hầu hết giao thức phổ biến : TCP, UDP, IPMulticast, DNS, Echo, FTP, HTTP, IMAP4, SMTP, POP3, Telnet, ICMP, Syslog, SNMP, … Bạn viết web server với vài dòng lệnh Indy dự án mã nguồn mở tích hợp vào Delphi Mã nguồn Indy viết Delphi tình nguyện viên Nếu không sử dụng thư viện Indy để viết ứng dụng mạng, bạn sử dụng component có sẵn Delphi TTCPServer, TTCPClient, TUDPSocket để thay Tuy nhiên lúc bạn phải tự viết phần mã xử lý liệu lớp cao Và không muốn dùng component Delphi bạn dùng hàm Windows API thư viện Winsock Patch Indy Tiburon Bộ Indy kèm theo Delphi 2010 có lỗi component IdSNMP, bạn cần update lên phiên Indy Tiburon để vá lỗi, không IdSNMP hoạt động sai Indy Tiburon download trang chủ tài liệu link gốc http://indy.fulgan.com/ZIP/ Quá trình update thực chất xóa Indy Delphi 2010 thay Indy Tiburon, trình tự update sau : SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang 46 Thực Tập Tốt Nghiệp + Giải nén Indy folder IndyTiburon + Khởi động Delphi 2010 + Mở biên dịch package IndyTiburon\Lib\System\IndySystem140.dpk + Biên dịch package IndyTiburon\Lib\Core\IndyCore140.dpk + Biên dịch package IndyTiburon\Lib\Core\dclIndyCore140.dpk + Biên dịch package IndyTiburon\Lib\Protocols\IndyProtocols140.dpk + Biên dịch package IndyTiburon\Lib\Protocols\dclIndyProtocols140.dpk + Tắt Delphi + Xóa tất file C:\Program Files\Embarcadero\RAD Studio\7.0\lib\Indy10 + Copy tất file *.dcu folder IndyTiburon (kể subfolder) sang C:\Program\Files\Embarcadero\RAD Studio\7.0\lib\Indy10 (có khoảng 325 file) + Copy file *.bpl C:\Users\Public\Documents\RAD Studio\7.0\Bpl (Win 7) C:\Documents and Settings\All Users\Documents\RAD Studio\7.0\Bpl (Win XP) ghi đè vào file folder C:\Program Files\Embarcadero\RAD Studio\7.0\bin + Khởi động lại Delphi Lưu ý: phiên Indy thời điểm viết tài liệu 10.5.5, phiên chưa hỗ trợ SNMPv2c Do ứng dụng viết hoạt động với SNMPv1 Giới thiệu chương trình ADSL Router Traffic Monitor ADSL Router Traffic Monitor chương trình dùng để giám sát lưu lượng interface SNMP Mục đích chương trình để dùng thực tế mà để hỗ trợ tìm hiểu SNMP công cụ đơn giản để thực tập cấu hình SNMP cho thiết bị Các tính chương trình bao gồm : + Lấy thông tin mô tả thiết bị (nhóm mib-2.system) + Lấy danh sách interface cho phép người dùng chọn interface để giám sát SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang 47 Thực Tập Tốt Nghiệp + Cho phép chọn chu kỳ lấy mẫu khác + Vẽ lưu lượng biểu đồ, đường lưu lượng in/out riêng, tự động zoom biểu đồ lưu lượng tăng Cách sử dụng chương trình ADSL Router Traffic Monitor Cách sử dụng phần mềm để giám sát : + Nhập địa IP thiết bị cần giám sát vào ô “Địa IP” + Nhập read-community vào ô “Read community string”, giá trị mặc định “public” + Nhấn nút “Lấy thông tin”, phần mềm lấy thông tin thiết bị, tổng số interface (port) có thông tin interface + Chọn interface cần giám sát danh sách interface + Chọn chu kỳ lấy mẫu + Nhấn nút “Bắt đầu giám sát”, biểu đồ lưu lượng vẽ bên dưới, đường màu GREEN input, BLUE ouput Ví dụ minh họa giám sát ADSL Router DLink DSL-520T : + Nhập IP router 192.168.1.1 + Sau nhấn “Lấy thông tin” xuất nhiều interface Đối với thiết bị Dlink DSL-520T chọn làm minh họa có interface ethernet tên “eth0” (modem port), bạn dùng modem port có interface ethernet Nếu bạn chọn giám sát interface ethernet phần mềm theo dõi lưu lượng port đó, bạn chọn giám sát interface “nas0” phần mềm giám sát lưu ượng port adsl (port đấu nối với nhà cung cấp), tức giám sát toàn lưu lượng vào modem + Chọn chu kỳ giây + Chọn interface “nas0” “Bắt đầu giám sát”, lưu lượng vẽ Chú ý : phần mềm sử dụng SNMPv1, thiết bị bạn hỗ trợ nhiều version bạn phải cấu hình SNMP agent cho phép dùng v1 SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang 48 Thực Tập Tốt Nghiệp Mã nguồn SNMP Traffic Monitor 4.1 Ý tưởng thực Để lấy thông tin hệ thống (tên, mô tả, thời gian hoạt động, …) ta lấy tất OID nằm iso.org.dod.internet.mgmt.mib-2.system (.1.3.6.1.2.1.1) Bản thân thiết bị không cung cấp thông tin tốc độ lưu lượng interface nên ta lấy trực tiếp SNMP Ta phải lấy tổng số byte mà interface nhận OID iso.org.dod.internet.mgmt.mib- 2.interfaces.ifTable ifEntry.ifInOctets (.1.3.6.1.2.1.2.2.1.10) tổng số byte truyền ifOutOctets (.1.3.6.1.2.1.2.2.1.16) Việc lấy thông tin thực liên tục tính (giá_trị_sau –giá_trị_trước) / thời_gian_giữa_các_lần_lấy_mẫu để có tốc độ lưu lượng interface Để không ảnh hưởng đến chương trình chính, phần code quét lưu lượng liên tục đặt thread 4.2 Thiết kế giao diện SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang 49 Thực Tập Tốt Nghiệp Hình 3-1: Thiết kế giao diện 4.3 Các module chương trình Lấy thông tin thiết bị Sau nhập IP community string, nhấn nút “Lấy thông tin” để phần mềm lấy thông tin củathiết bị nhóm mib-2.system name, description, contact, … mmInfo.Clear; SNMP.Host := edHost.Text; SNMP.Community := edCommunity.Text; SNMP.ReceiveTimeout := 1000; // timeout = 1000 ms // Bước : dùng hàm QuickSend để lấy thông tin thuộc group mib-2.system // số thiết bị không hỗ trợ sub-id nên ta lấy object sysDescr SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang 50 Thực Tập Tốt Nghiệp // sysDescr.0 hàm QuickSend trả TRUE lấy thông tin thành công, // FALSE timeout kết lấy chuỗi chứa biến v s := 'sysDescr : '; // sysDescr có oid 1.3.6.1.2.1.1.1 if SNMP.QuickSend('1.3.6.1.2.1.1.1', SNMP.Community, SNMP.Host, v) or SNMP.QuickSend('1.3.6.1.2.1.1.1.0', SNMP.Community, SNMP.Host, v) then s := s + v; mmInfo.Lines.Add(s); // xuất kết mmInfo s := 'sysUptime : '; if SNMP.QuickSend('1.3.6.1.2.1.1.3', SNMP.Community, SNMP.Host, v) or SNMP.QuickSend('1.3.6.1.2.1.1.3.0', SNMP.Community, SNMP.Host, v) then s := s + v; mmInfo.Lines.Add(s); s := 'sysContact : '; if SNMP.QuickSend('1.3.6.1.2.1.1.4', SNMP.Community, SNMP.Host, v) or SNMP.QuickSend('1.3.6.1.2.1.1.4.0', SNMP.Community, SNMP.Host, v) then s := s + v; mmInfo.Lines.Add(s); s := 'sysName : '; if SNMP.QuickSend('1.3.6.1.2.1.1.5', SNMP.Community, SNMP.Host, v) or SNMP.QuickSend('1.3.6.1.2.1.1.5.0', SNMP.Community, SNMP.Host, v) then s := s + v; mmInfo.Lines.Add(s); s := 'sysLocation : '; Hình 3-2: Lấy thông tin thiết bị giám sát SVTH : Nguyễn Anh Tuấn GVHD: Th.s Phạm Văn Hiệp Trang 51 Thực Tập Tốt Nghiệp Lấy số lượng interface thiết bị // Bước : lấy tổng số interface có thiết bị s := 'ifNumber : '; if SNMP.QuickSend('1.3.6.1.2.1.2.1', SNMP.Community, SNMP.Host, v) or SNMP.QuickSend('1.3.6.1.2.1.2.1.0', SNMP.Community, SNMP.Host, v) then s := s + v; mmInfo.Lines.Add(s); // số ifNumber rỗng kiểu số gán = if not TryStrToInt(v, ifNumber) then ifNumber := 0; Lấy danh sách interface index // Bước : Lần lượt lấy index interface entry, cách GetNext // liên tục, ifIndex SNMP.Query.Host := edHost.Text; SNMP.Query.Community := edCommunity.Text; SNMP.Query.Port := 161; SNMP.Query.Version := 0; // sử dụng SNMP v1 (0=v1; 1=v2c) SNMP.Query.PDUType := PDUGetNextRequest; List.Clear; // ifIndex có OID 1.3.6.1.2.1.2.1.1, GetNext lấy // ifIndex interface OID := '1.3.6.1.2.1.2.1.1'; // tổng số interface thiết bị = ifNumber nên ta lặp ifNumber lần for i := to ifNumber begin SNMP.Query.MIBOID.Clear; // xóa sanh sách OID cần query SNMP.Query.MIBOID.Add(OID); // sau thêm ifIndex interface cần query j := 1; while (j