Khoa công nghệ thông tin D101 K8 LỜI CẢM ƠN Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Tro[.]
Khoa công nghệ thông tin D101 K8 LỜI CẢM ƠN - Trên thực tế khơng có thành cơng mà không gắn liền với hỗ trợ, giúp đỡ dù hay nhiều, dù trực tiếp hay gián tiếp người khác Trong suốt thời gian từ bắt đầu học tập giảng đường đến nay, em nhận nhiều quan tâm, giúp đỡ q Thầy, Cơ, gia đình bạn bè Với lời biết ơn sâu sắc nhất, em xin gửi đến quý Thầy, Cô Khoa Công Nghệ Thông Tin - Trường Đại Học Thành Đô với tri thức tâm huyết để truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian học tập trường Và đặc biệt, em xin chân thành cảm ơn thầy giáo Trần Xuân Thanh, người thầy tận tình hướng dẫn, giúp đỡ cho em hồn thành q trình hồn thành Khóa luận tốt nghiệp Đồ Án Tốt Nghiệp thực khoảng thời gian 03 tháng Bước đầu vào thực tế, tìm hiểu, kiến thức em hạn chế nhiều bỡ ngỡ Do vậy, không tránh khỏi thiếu sót điều chắn, em mong nhận ý kiến đóng góp quý báu quý Thầy, Cô bạn học lớp để kiến thức em lĩnh vực hoàn thiện Sau cùng, em xin kính chúc q Thầy, Cơ Khoa Cơng Nghệ Thơng Tin tồn thể người thật dồi sức khỏe, niềm tin để tiếp tục thực sứ mệnh cao đẹp truyền đạt kiến thức cho hệ mai sau Trân trọng cảm ơn Hà Nội, Ngày 01 Tháng 06 Năm 2020 Sinh viên thực Nguyễn Minh Tiến Báo cáo Đồ án tốt nghiệp Nguyễn Minh Tiến_ 1601702 Khoa công nghệ thông tin D101 K8 LỜI MỞ ĐẦU - Cùng với phát triển công nghệ thông tin, công nghệ mạng máy tính phát triển mạng Internet ngày phát triển đa dạng phong phú Các dịch vụ mạng thâm nhập vào hầu hết lĩnh vực đời sống xã hội Các thông tin Internet đa dạng nội dung hình thức, có nhiều thơng tin cần bảo mật cao tính kinh tế, tính xác tính tin cậy nó. Bên cạnh đó, hình thức phá hoại mạng trở nên tinh vi phức tạp Do hệ thống, nhiệm vụ bảo mật đặt cho người quản trị mạng quan trọng cần thiết Xuất phát từ thực tế đó, có nhiều cơng nghệ liên quan đến bảo mật hệ thống mạng máy tính xuất hiện, việc nắm bắt cơng nghệ cần thiết Chính vậy, việc thiết lập mạng LAN đem đến lợi ích như: máy tính mạng trao đổi thông tin với dễ dàng, dùng chung ứng dụng mạng( tiết kiệm chi phí mua phần mềm quyền), dùng chung thiết bị ngoại vi như: máy in, ổ cứng, máy scan (tiết kiệm chi phí phần cứng), Nhưng bên cạnh đặt số vấn đề là: phải quản lý máy tính mạng LAN máy tính làm việc cách hiệu từ xa, quản lý người dùng máy tính mạng công việc học tập làm việc cách hiệu Là sinh viên công nghệ thông tin, với hiểu biết kiến thức tích lũy thời gian học trường tự học, nên em định chọn đề tài “Phát triển công cụ quản trị mạng cục bộ” hoạt động Online Offline với hy vọng ứng dụng học vào thực tế, qua phát triển ứng dụng trợ giúp cho việc quản lý máy tính mạng LAN Mặc dù sinh viên học chuyên nghành phần mềm kinh nghiệm làm việc kỹ thuật hạn chế, nội dung tài liệu cịn có phần sai sót nên mong Thầy bạn sinh viên đóng góp nhiều ý kiến bổ sung thêm để em hồn thành đồ án cách xác hữu ích Trong q trình xây dựng báo cáo này, em nhận nhiều giúp đỡ, góp ý giảng viên bạn lớp Em xin chân thành cảm ơn! Báo cáo Đồ án tốt nghiệp Nguyễn Minh Tiến_ 1601702 Khoa Công Nghệ Thông Tin D101 K8 MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU MỤC LỤC BẢNG KÝ HIỆU VÀ VIẾT TẮT DANH MỤC HÌNH VẼ DANH MỤC BẢNG Tổng quan mạng cục công cụ lập trình Mục đích đề tài Lý chọn đề tài Lý chọn ngôn ngữ thiết kế JAVA 3.1 Đơn giản 10 3.2 Hướng đối tượng 10 3.4 Mạnh mẽ 11 3.5 Bảo mật 11 3.6 Phân tán 12 3.7 Đa luồng 12 3.8 Động 12 Thuật toán sử dụng Nền tảng Net Đối tượng phạm vi nghiên cứu 6.1 Đối tượng nghiên cứu 14 6.2 Phạm vi nghiên cứu 15 Chương 1: TỔNG QUAN LẬP TRÌNH MẠNG VÀ LẬP TRÌNH MẠNG TRONG NET FRAMEWORK 1.1 Tổng quan lập trình mạng 1.1.1 Họ giao thức TCP/IP 16 1.1.2 So sánh giao thức TCP UDP 16 1.1.3 Địa IP 18 1.2 Lập trình mạng Net Framwork 1.2.1 Cơ sở lý thuyết NET .19 1.2.1.1 Nền tảng NET 19 1.2.1.2 Ngôn ngữ C# 20 1.2.2 Sử dụng lớp hỗ trợ xây dựng từ lớp Socket 21 1.2.2.1 Lớp TCPClient .21 Đồ Án Tốt Nghiệp Nguyễn Minh Tiến_ 1601702 Khoa Công Nghệ Thông Tin D101 K8 1.2.2.2 Lớp TCPListener 22 1.2.2.3 Lớp UDPClient 23 1.2.3 Socket không đồng 24 1.2.3.1 Mơ hình xử lý kiện Windows 24 1.2.3.2 Sử dụng Socket không đồng .24 1.2.4 Sử dụng Thread ứng dụng mạng 27 1.2.4.1 Một số khái niệm 27 1.2.4.2 Sử dụng Thread chương trình Net 28 1.2.4.3 Sử dụng Threadpool chương trình Net 29 1.2.4.4 Lớp IPEndpoint 31 1.2.4.5 Lớp UDP (UDPClient) 32 2.2.1.1 Lớp TCP (TCPClient) 34 2.2.1.2 Lớp TcpListener .35 1.3 Sơ lược lập trình đa luồng 1.3.1 Khái niệm Luồng (Thread) 37 1.3.2 Khảo sát namespace System.Threading .38 1.3.2.1 Lớp Thread 39 1.3.2.2 Thao tác với luồng 40 1.3.3 Đồng hóa (Synchronization) lập trình đa luồng 42 1.3.3.1 Đồng hóa 42 1.3.3.2 Deadlock 45 1.3.3.3 Race condition .46 1.3.3.4 Sử dụng Thread chương trình Net .48 Chương 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Khảo sát thực trạng 2.1.1 Phân tích nhu cầu thực tiễn 51 2.1.2 Yêu cầu đề 51 2.1.3 Mô hình liệu mức quan niệm .51 2.2 Phân tích thành phần xử lý 2.2.1 Các xử lý liên quan đến đăng nhập 52 2.2.2 Các xử lý việc gửi tin nhắn 53 2.3 Thiết kế liệu 2.3.1 Chuẩn hóa liệu: 56 2.3.2 Mơ hình liệu mức vật lý .56 2.3.3 Thiết kế liệu: 57 2.4 Giao diện tính trương trình 2.4.1 Giao diện phía Client 58 2.4.1.1 2.4.1.2 2.4.1.3 2.4.1.4 Giao diện chờ kết nối 58 Màn hình Chat .58 Màn hình Gửi - nhận thông điệp từ Server 59 Màn hình Nhận tệp tin, file từ Server 61 Đồ Án Tốt Nghiệp Nguyễn Minh Tiến_ 1601702 Khoa Công Nghệ Thông Tin 2.4.2 D101 K8 Giao diện phía Server 62 2.4.2.1 Màn hình 62 2.4.2.2 Màn hình Chat trực tiếp với Client .62 2.4.2.3 Màn hình Server gửi thơng điệp cho Client 63 2.4.2.4 Màn hình theo dõi Client .63 2.4.2.5 Màn hình chụp ảnh hình Client .64 2.4.2.6 Màn hình điều khiển Client từ xa 64 2.4.2.7 Màn hình gửi lệnh Shell 65 Chương 3: CÀI ĐẶT – THỬ NGHIỆM 3.1 Giới thiệu chương trình 3.2 Cài đặt chương trình 3.3 Đánh giá chương trình Chương 4: KẾT LUẬN 4.1 Kết đạt 4.2 Hướng phát triển KẾT LUẬN DANH MỤC TÀI LIỆU THAM KHẢO Đồ Án Tốt Nghiệp Nguyễn Minh Tiến_ 1601702 Khoa Công Nghệ Thông Tin D101 K8 BẢNG KÝ HIỆU VÀ VIẾT TẮT Ký hiệu, viết tắt Tên đầy đủ LAN Local Network Area (Mạng cục bộ) IP Internet Protocol - giao thức Internet WLAN Wireless LAN CPU Central Prossesing Unit SERVER Máy chủ CLIENT Máy khách NIC Network Interface Card Repeater, Hub, Switch, Bridge Các thiết bị ghép nối CABLE Dây cáp WAN Wide Area Network UDP User Datagram Protocol hay User Define Protocol TCP Transport Control Protocol - Giao thức điều khiển truyền vận FCL framework class library IDE Intergrated Development Enviroment IANA Tổ chức cấp phát số hiệu Internet (Internet Assigned Numbers Authority (IANA)) MAC Media Access Control - cho thiết bị mạng API Application Programming Interface Đồ Án Tốt Nghiệp Nguyễn Minh Tiến_ 1601702 Khoa Cơng Nghệ Thơng Tin D101 K8 DANH MỤC HÌNH VẼ Số hiệu hình vẽ Tên hình Số trang Hình 1.1: Minh họa biên dịch chạy chương trình C/C++ Hình 1.2: Minh họa biên dịch chạy chuơng trình Ngơn ngữ lập trình Java Hình 2.1: Mạng LAN mạng kết nối máy tính kết nối nội Hình 2.4: Mạng dạng hình Hình 2.5: Mạng dạng vịng Hình 2.6: Mạng dạng tuyến Hình 2.7: Kết chương trình khơng sử dụng đồng hóa Hình 2.8: Kết chương trình sử dụng đồng hóa Hình 3.1: Mơ hình liệu mức quan niệm Hình 3.2: Mơ hình xử lý đăng nhập Hình 3.3: Mơ hình xử lý đăng xuất Hình 3.4: Mơ hình xử lý gửi tin nhắn Online Hình 3.5: Mơ hình xử lý gửi tin nhắn Offline Hình 3.6: Mơ hình xử lý thêm Friend Hình 3.7: Mơ hình xử lý xóa Friend Hình 3.8: Mơ hình xử lý tạo Group Hình 3.9: Mơ hình xử lý đồng ý gia nhập Group Hình 3.10: Mơ hình xử lý khỏi Group Hình 3.11: Mơ hình xử lý hủy Group Hình 3.12: Mơ hình xử lý gửi tin nhắn Group Hình 3.13: Mơ hình liệu mức vật lý Hình 3.14: Màn hình chờ kết nối Hình 3.15: Kết nối server thành cơng Hình 3.16: Màn hình Chat Clien Server Hình 3.17: Màn hình nhận thơng điệp từ Server Hình 3.18: Màn hình Nhận tệp tin, file từ Server Hình 3.19: Màn hình Hình 3.20: Màn hình Chat trực tiếp với Client Hình 3.21: Màn hình Server gửi thơng điệp cho Client Hình 3.22: Màn hình theo dõi Client Hình 3.23: Chụp ảnh hình Client Hình 3.25: Màn hình gửi lệnh Shell Đồ Án Tốt Nghiệp Nguyễn Minh Tiến_ 1601702 Khoa Công Nghệ Thông Tin D101 K8 DANH MỤC BẢNG Số hiệu bảng Tên bảng Số trang Bảng 2.1: Các thành phần lớp IpAddress Bảng 2.2: Các thành viên lớp IpEndPoint Bảng 2.3: Các thành viên lớp UDPClient Bảng 2.4: Các thành phần lớp TcpClient Bảng 2.5: Các thành phần lớp TcpListener Bảng 2.6: Một số lớp namespace System.Threading Bảng 2.7: Các thành phần static lớp Thread Bảng 2.8: Các thành viên cấp đối tượng lớp Thread Bảng 3.1: Table Client Bảng 3.2: Table FriendList Bảng 3.3: Table OfflineMessage Bảng 3.4: Table GroupChat Bảng 3.5: Table GroupDetail Đồ Án Tốt Nghiệp Nguyễn Minh Tiến_ 1601702 Khoa Công Nghệ Thông Tin D101 K8 Tổng quan mạng cục cơng cụ lập trình Mục đích đề tài Chương trình “Giám sát hỗ trợ máy tính mạng LAN” xây dựng nhằm hỗ trợ cho việc hỗ trợ, giám sát trao đổi liệu mạng LAN công ty, doanh nghiệp mà khơng cần phải sử dụng phần mềm bên ngồi để đảm bảo liệu khơng bị truyền bên Lý chọn đề tài Việc nối máy tính thành mạng từ lâu trở thành nhu cầu khách quan vì: Có nhiều công việc chất phân tán thông tin, xử lý hai địi hỏi có kết hợp truyền thơng với xử lý sử dụng phương tiện từ xa Chia sẻ tài nguyên mạng cho nhiều người sử dụng thời điểm (ổ cứng, máy in, ổ CD ROM ) Nhu cầu liên lạc, trao đổi thơng tin nhờ phương tiện máy tính Các ứng dụng phần mềm địi hịi thời điểm cần có nhiều người sử dụng, truy cập vào sở liệu Hiện nay, mạng LAN có tiến vượt bậc ngày phổ biến đời sống sinh hoạt Điều làm cho nhu cầu liên lạc trao đổi thông tin thông qua mạng LAN ngày lớn hơn, công ty dùng để hỗ trợ trao đổi Database mà khơng cần sử dụng phần mềm bên ngồi khác Chính vậy, chương trình “Giám sát hỗ trợ máy tính mạng LAN” xây dựng để đáp ứng phần nhu cầu cấp thiết Trên thực tế có nhiều ứng dụng mạng phổ biến rộng rãi cho việc hỗ trợ này, người dùng phải Doawnload nhiều phần mềm khác Người ta sử dụng chương trình Chat, Teamview, Ultraview, Sky… với mục đích trao đổi thơng tin trị chuyện, bàn bạc cơng việc gửi liệu gián tiếp qua môi trường Internet - cách đơn giản để kết nối người lại với Khi xây dựng chương trình cần phải đảm bảo yêu cầu kết nối, liệu trình truyền phải đảm bảo tồn vẹn an tồn Đặc biệt chương trình tích hợp chức truyền file, chat, theo dõi quản lý máy tính mạng LAN Là ứng dụng mạng nên chương trình hỗ trợ, giam sát hoạt động dựa mơ hình Client – Server Point to Point kết nối giao thức TCP UDP Trên sở đó, em xây dựng chương trình hoạt động theo mơ hình Client – Server sử dụng giao thức kết nối TCP Khi xây dựng chương trình vấn đề quan tâm vấn đề bảo mật thơng tin truyền Do mã hóa thơng tin trước truyền việc làm hoàn toàn Đồ Án Tốt Nghiệp Nguyễn Minh Tiến_ 1601702 Khoa Công Nghệ Thông Tin D101 K8 cần thiết Ở đây, em chọn thuật toán RSA để mã hóa liệu q trình truyền tin Lý chọn ngôn ngữ thiết kế JAVA 3.1 Đơn giản Do người thiết kế mong muốn phát triển ngôn ngữ dễ đọc quen thuộc với đa số người lập trình, nên Java loại bỏ đặc trưng phức tạp C C++ thao tác trỏ, thao tác nạp chồng (overload) … sử dụng lệnh “goto” file header (.h) Cấu trúc “struct” “union” loại bỏ khỏi Java 3.2 Hướng đối tượng Java thết kế quanh mơ hình hướng đối tượng Vì Java, tiêu điểm liệu phương pháp thao tác lên liệu 3.3 Dễ bảo trì (Vận hành) Đây khả chương trình viết máy chạy đâu Chúng thể mức mã nguồn mức nhị phân: Ở mức mã nguồn, người lập trình cần mô tả kiểu cho biến Kiểu liệu Java quán cho tất hệ điều hành phần cứng khác Java có riêng thư viện lớp sở Vì chương trình Java viết máy dịch chạy trơn tru loại máy khác mà không cần viết lại Ở mức nhị phân, chương trình biên dịch chạy khác mà không cần dịch lại mã nguồn Tuy cần có phần mềm máy ảo Ngơn ngữ lập trình Java, hoạt động trình thơng dịch máy thực thi Hình 1: Minh họa biên dịch chạy chương trình C/C++ Trình biên dịch chuyển chương trình viết C/C++ hay ngôn ngữ khác thành mã máy phụ thuộc vào CPU Nên muốn chạy CPU khác, ta phải biên dịch lại Đồ Án Tốt Nghiệp Nguyễn Minh Tiến_ 1601702 ... D101 K8 Tổng quan mạng cục cơng cụ lập trình Mục đích đề tài Chương trình ? ?Giám sát hỗ trợ máy tính mạng LAN? ?? xây dựng nhằm hỗ trợ cho việc hỗ trợ, giám sát trao đổi liệu mạng LAN công ty, doanh... như: máy in, ổ cứng, máy scan (tiết kiệm chi phí phần cứng), Nhưng bên cạnh đặt số vấn đề là: phải quản lý máy tính mạng LAN máy tính làm việc cách hiệu từ xa, quản lý người dùng máy tính mạng. .. Chính vậy, chương trình ? ?Giám sát hỗ trợ máy tính mạng LAN? ?? xây dựng để đáp ứng phần nhu cầu cấp thiết Trên thực tế có nhiều ứng dụng mạng phổ biến rộng rãi cho việc hỗ trợ này, người dùng phải