LẬP TRÌNH MẠNG NGHỀ: QUẢN TRỊ MẠNG MÁY TÍNH

121 461 1
LẬP TRÌNH MẠNG NGHỀ: QUẢN TRỊ MẠNG MÁY TÍNH

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI TỔNG CỤC DẠY NGHỀ GIÁO TRÌNH Tên Mô đun: LẬP TRÌNH MẠNG NGHỀ: QUẢN TRỊ MẠNG MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG NGHỀ (Ban hành kèm theo Quyết định số: 120/QĐ-TCDN ngày 25 tháng 02 năm 2012 Tổng cục Trưởng Tổng cục dạy nghề) Hà Nội, Năm 2013 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thông tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Ngày nay, mạng máy tính trở thành công cụ thiếu tất lĩnh vực sống Việc nắm bắt kỹ thuật qua hình thành kỹ lập trình mạng xem yêu cầu cấp thiết sinh viên chuyên ngành máy tính nói chung quản trị mạng nói riêng Giáo trình biên soạn nhằm giúp sinh viên làm quen với khái niệm kỹ thuật lập trình mạng để đáp ứng yêu cầu lập trình mạng Hà Nội, ngày 20 tháng năm 2013 Tham gia biên soạn Chủ biên Hồ Viết Hà Thành viên Dương Hiển Tú MỤC LỤC TUYÊN BỐ BẢN QUYỀN LỜI GIỚI THIỆU BÀI : TỔNG QUAN VỀ LẬP TRÌNH MẠNG Lịch sử phát triển Lập trình mạng Lý lập trình mạng tảng NET Phạm vi Địa IP Network stack 11 Port 12 Internet standards 13 NET framework 13 8.1 Thành phần NET Framework 13 8.2 Những đặc điểm NET Framework 15 Visual Studio NET 17 9.1 Phiên Visual Studio NET 2008 17 9.2 Làm việc với Visual Studio NET 2008 19 9.3 Các loại ứng dụng dùng C# 21 9.4 Cấu trúc chương trình C# 22 9.5 Cấu trúc thư mục ứng dụng 24 BÀI : VẤN ĐỀ I/O TRONG NET 26 Giới thiệu không gian tên IO 26 Streams 26 2.1 Mã hóa liệu 26 2.2 Sử dụng StreamReader để đọc tập tin Text 30 BÀI : LÀM VIỆC VỚI SOCKETS 41 Giới thiệu socket lập trình mạng 41 1.1 Định nghĩa 41 1.2 Số hiệu cổng (Port Number) socket 42 1.3 Các chế độ giao tiếp 43 Tạo ứng dụng đơn giản “hello world” 44 2.1 Viết dạng đơn giản UDP client 44 2.2 Viết dạng đơn giản UDP server 45 Dùng giao thức TCP/IP để chuyển files 46 Gỡ rối lập trình mạng 49 Mức Socket NET 50 BÀI : KẾT NỐI VỚI WEB SERVER 61 Giới thiệu HTTP 61 HTTP 62 2.1 Yêu cầu HTTP 62 2.2 Đáp ứng HTTP 64 2.3 Kiểu MIME 65 2.4 Không gian tên System.Web 65 2.5 Chuyển liệu (Posting data) 68 2.6 Chú ý làm việc với cookies 69 2.7 A WYSIWYG editor 69 Máy chủ Web (Web servers) 71 Làm việc với lớp System.Net.HttpWebListener 74 Trình duyệt Web di động (Mobile Web browsers) 74 BÀI : TRUYỀN THÔNG VỚI EMAIL SERVERS 76 Phương thức gởi nhận Email 76 SMTP 78 POP3 83 Làm việc với lớp System.Web.Mail 84 Xây dựng ứng dụng Mail 84 BÀI : TRUYỀN THÔNG VỚI FILE SERVER 87 Tổng quan File server truyền File 87 1.1 Chia sẻ File Microsoft 87 1.2 Chia sẻ File Netware 88 Truyền File 89 2.1.Cách thức dùng cổng FTP 89 2.2 Bắt tay truyền File 89 2.3 Truyền thông qua thư mục 90 2.4.Tham khảo lệnh FTP 92 2.5 Công cụ FTP 101 2.6 Công cụ FTP với điều khiển Internet 103 2.7 Một vài công cụ thực tế FTP 104 2.8 FTP hỗ trợ NET 2.0 108 BÀI : AN NINH MẠNG (FIREWALLS, PROXY SERVERS, AND ROUTERS) 111 Tổng quan bảo vệ mạng 111 1.1 Giới thiệu An ninh mạng 111 1.2 Xây dựng mạng lưới an ninh từ đầu 111 Tunneling mạng doanh nghiệp 114 Tránh cạm bẫy mạng 115 YÊU CẦU VỀ ĐÁNH GIÁ KẾT QUẢ HỌC TẬP 120 TÀI LIỆU THAM KHẢO 121 MÔ ĐUN LẬP TRÌNH MẠNG Mã mô đun : MĐ35 Vị trí, tính chất, ý nghĩa vai trò Môđun - Vị trí: Mô đun bố trí vào năm thứ học kì II khóa học - Tính chất: Mô đun chuyên môn nghề tự chọn - Ý nghĩa vai trò : Đây mô đun chuyên môn nghề cung cấp cho sinh viên kỹ lập trình mạng, xây dựng sản phẩm phần mềm để phục vụ công việc quản trị mạng Mục tiêu mô đun - Trình bày nguyên lý lập trình mạng, chế hoạt động chương trình thông qua Giao thức, hàm truy xuất - Mô tả mô hình mạng, Giao thức truy cập thông qua chương trình cài đặt - Sử dụng thành thạo công cụ lập trình Windows Java để lập trình - Xây dựng ứng dụng mạng : dịch vụ, hệ thống, liệu để bảo vệ hệ thống, giám sát hệ thống, truy vấn liệu… - Bố trí làm việc khoa học đảm bảo an toàn cho người phương tiện học tập Nội dung môn học Số TT Thời gian Tổng Lý Thực Kiểm số thuyết hành Tra* 10 5 10 17 12 13 16 10 13 Tên mô đun Tổng quan lập trình mạng Vấn đề I/O NET Làm việc với Sockets Truyền thông với Web Servers Truyền thông với Mail Servers Truyền thông với File server Bảo mật mạng :Firewalls, Servers, and Routers Cộng Proxy 11 90 30 56 BÀI 1: TỔNG QUAN VỀ LẬP TRÌNH MẠNG Mã : MĐ35.01 Giới thiệu: Trình bày vấn đề tổng quát liên quan đến lập trình mạng ngôn ngữ sử dụng trình lập trình ứng dụng thực thi hệ thống mạng Hướng dẫn môi trường lập trình NET Framwork Mục tiêu : - Trình bày vấn đề điều hành mạng lập trình mạng: Vấn đề truyền thông tin, địa IP, Giao thức, tầng liên lạc tính phân cấp giao thức, thông điệp - Trình bày thành phần môi trường NET Framwork - Thực câu lệnh Visual Studio NET - Thực thao tác an toàn với máy tính Lịch sử phát triển Lập trình mạng Mục tiêu : Trình bày cấu trúc lịch sử phát triển kỹ thuật lập trình mạng Cuốn sách giúp bạn phát triển ứng dụng mạng với NET, cách sử dụng C (phát âm C-sharp) ngôn ngữ lập trình VB.NET Nó chia thành ba phần riêng biệt: vấn đề kết nối mạng, thiết kế ứng dụng phân tán, chủ đề mạng chuyên ngành Sáu chương sách bao gồm công nghệ Internet thành lập, chẳng hạn email World Wide Web Tận dụng công nghệ thành lập cho phép truy cập công cộng nói chung lớn cho dịch vụ phần mềm bạn hầu hết người dùng có trình duyệt web ứng dụng email máy tính họ thảo luận thiết kế ứng dụng mạng Điều bao gồm bảo mật ứng dụng, hiệu suất, khả mở rộng Chứa chương thực tế, thực hành lời khuyên để giúp nâng cao chất lượng tổng thể phần mềm bạn Với bảo mật khó khăn hơn, ứng dụng bạn nhạy cảm với hành vi trộm cắp sở hữu trí tuệ thông tin đặc quyền Cải tiến hiệu suất khả mở rộng mô tả phần đảm bảo ứng dụng bạn đáp ứng tải cực đoan Các mạng phần chuyên đề cung cấp vô số thông tin hai thích hợp công nghệ Internet tiên tiến Chúng bao gồm chương điện thoại, chụp gói, hàng đợi tin nhắn, IPv6, dịch vụ Microsoft lĩnh vực phát triển ứng dụng phân tán: dịch vụ Web truy cập từ xa Lý lập trình mạng tảng NET Mục tiêu : Trình bày lý lập trình mạng môi trường NET Một định kỹ thuật thực dự án thực ngôn ngữ để sử dụng NET tảng có khả để phát triển giải pháp, cung cấp hỗ trợ đáng kể cho lập trình mạng Trong thực tế, NET có hỗ trợ nội cho mạng so với tảng khác phát triển Microsoft Cuốn sách giả định bạn định để phát triển với NET, ngôn ngữ bên tảng NET không thảo luận chi tiết tuyệt vời, ngoại trừ cho mục đích so sánh Điều để nói NET được-tất cuối tất ứng dụng lập trình mạng Nếu ứng dụng bạn chạy sở hạ tầng UNIX giao tiếp thông qua Java gọi phương thức từ xa (RMI), sau NET đường để Trong hầu hết trường hợp, nhiên, bạn tìm thấy điều NET nhiều khả xử lý điều bạn ném vào Phạm vi Mục tiêu: Phân tích phần mềm ứng dụng lập trình mạng, nguyên tắc làm việc phần mềm Một chương trình mạng ứng dụng mà sử dụng mạng máy tính để chuyển thông tin đến từ ứng dụng khác Ví dụ từ trình duyệt web phổ biến Internet Explorer, chương trình mà bạn sử dụng để nhận email bạn, phần mềm điều khiển tàu vũ trụ NASA Tất thành phần chia sẻ phần mềm khả giao tiếp với máy tính khác, làm vậy, trở nên hữu ích cho người sử dụng cuối Trong trường hợp trình duyệt, tất trang web bạn truy cập tập tin lưu trữ máy tính nơi khác Internet Với chương trình email bạn, bạn giao tiếp với máy tính nhà cung cấp dịch vụ Internet (ISP) bạn trao đổi email công ty tổ chức email bạn cho bạn Cuốn sách chủ yếu quan tâm đến việc tạo chương trình mạng, không Web trang web Mặc dù khả trang web chương trình mạng cách nhanh chóng hội tụ, quan trọng để hiểu đối số hệ thống Một dịch vụ truy cập thông qua trang web truy cập để người sử dụng nhiều tảng khác nhau, toàn kiến trúc mạng sẵn sàng xây dựng cho bạn, nhiên, có điểm mà tính đơn giản không khả thi để thực cách sử dụng trang web mà bạn có chuyển sang mạng ứng dụng Người dùng thường tin tưởng ứng dụng mạng, đó, chương trình có quyền kiểm soát lớn máy tính mà họ chạy trang web máy tính xem Điều làm cho cho ứng dụng mạng để quản lý tập tin máy tính địa phương, trang web, cho tất mục đích thực tế, làm điều Quan trọng hơn, từ góc độ kết nối mạng, ứng dụng có quyền kiểm soát lớn làm giao tiếp với máy tính khác Internet Có ngoại lệ cho quy tắc này, thực thi nội dung (chẳng hạn điều khiển ActiveX) bao gồm trang Trong trường hợp này, trang khả tất thứ làm chương trình mạng, hầu hết trình duyệt phần mềm chống virus cảnh báo chống lại phủ nhận nội dung thực thi Vì vậy, kịch thường chấp nhận không khả thi lòng tin công cộng Để đưa ví dụ đơn giản, trang web không làm cho máy tính xem mở kết nối mạng liên tục cho máy tính khác (ngoại trừ máy tính mà từ trang web phục vụ) Điều áp dụng trang web có chứa nội dung nhúng applet Java phim Flash Có ngoại lệ cho quy tắc này, thực thi nội dung (chẳng hạn điều khiển ActiveX) bao gồm trang Trong trường hợp này, trang khả tất thứ làm chương trình mạng, hầu hết trình duyệt phần mềm chống virus cảnh báo chống lại phủ nhận nội dung thực thi Vì vậy, kịch thường chấp nhận không khả thi lòng tin công cộng Địa IP Mục tiêu: Trình bày nguyên lý địa IP, nhân dạng địa IP với lớp khác nhau, Phân tích IP cụ thể Phân giải tên miền tương ứng với IP ngược lại Mỗi máy tính kết nối trực tiếp với Internet phải có địa toàn cầu IP Một địa IP số có bốn byte, mà thường viết bốn thập phân, số thời gian cách nhau, chẳng hạn 192.168.0.1 Máy tính kết nối gián tiếp với Internet, chẳng hạn thông qua mạng công ty họ, có địa IP, chúng không cần phải toàn cầu nhất, có mạng Để tìm địa IP máy tính bạn, mở cửa sổ giao diện điều khiển hệ điều hành DOS loại ipconfig (Windows NT, 2000, and XP) winipcfg (Windows 95, 98, ME) Trong hình, 1.1 máy tính có hai địa IP: 192.618.0.1 81.98.59.133 Điều không bình thường máy tính đặc biệt có chứa hai card mạng kết nối với hai mạng khác Chỉ có địa IP truy cập công khai Nếu bạn nhận địa IP 127.0.0.1, máy tính bạn không kết nối với mạng Địa IP luôn đề cập đến máy tính địa phương sử dụng ví dụ sau Trong cách mà bạn nói cho dù số điện thoại địa phương quốc tế cách nhìn vào tiền tố, bạn cho biết liệu máy tính với địa IP mạng khu vực địa phương nơi khác Internet cách nhìn chặt chẽ địa IP Trong trường hợp địa IP, họ luôn độ dài, tiền tố định (192,168 phổ biến nhất) máy tính mạng lưới khu vực địa phương, mạng nội bộ, truy cập vào giới bên Nếu bạn chia sẻ kết nối Internet bạn với máy tính khác mạng bạn, bạn có địa IP riêng Đây công nhận phạm vi địa IP liệt kê Bảng 1.1 Dãy địa Số lượng địa 10.0.0.0 đến 10.255.255.255 Tên 16 tỉ máy tính (lớp A) 172.16.0.0 đến 172.31.255.255 900.000 máy tính (lớp B) 192.168.0.0 đến 192.168.255.255 65.000 máy tính (lớp C) Bảng 1.1 : Bảng liệt kê địa máy tính Cùng địa IP riêng tồn hai máy tính mạng khu vực khác cục (LAN) Điều không gây vấn đề máy tính trực tiếp liên lạc với Trong đó, máy tính giải tư nhân bắt đầu yêu cầu thông tin từ máy tính nước ngoài, máy tính nước bắt đầu yêu cầu thông tin từ máy tính cá nhân giải Các trường hợp ngoại lệ cho quy tắc nơi network address translation (NAT) cổng chuyển tiếp thiết lập router nằm thượng nguồn máy tính tư nhân giải Đây nơi mà yêu cầu từ máy móc nước dành cho địa IP router chuyển tiếp đến com-puter định phía sau router Câu trả lời từ máy tính chuyển tiếp từ phía sau router máy nước bắt đầu yêu cầu Những lợi ích kiến trúc an ninh khả cân tải, mô tả chi tiết chương sau Tất máy tính có địa IP riêng phải kết nối với máy tính router mạng với địa IP công cộng truy cập Internet Để đảm bảo hai máy tính Internet có địa IP, có quan quản lý trung ương gọi Internet Assigned Numbers Authority (IANA), gần Tổng công ty Internet cho tên miền số (ICANN ) Cơ thể hoạt động thông qua nhà cung cấp dịch vụ Internet để gán địa IP công cộng cho tổ chức cá nhân Mặc dù phân bổ địa IP thời điểm, nhiều phổ biến phân bổ địa IP khối tiếp giáp Tiếp giáp khối có ba lớp học: A, B, C Class A địa khối địa IP với byte Class A 16 triệu địa IP kích thước Địa lớp B khối địa IP với byte thứ hai Lớp B giữ 65.024 địa IP công cộng 216 phạm vi byte đầy đủ byte cuối địa IP 255 chúng dành riêng để sử dụng tương lai Địa lớp C khối địa IP với byte đầu tiên, thứ hai, thứ ba Class C nắm giữ 254 địa công cộng, địa lớp C thường xuyên giao cho công ty Một máy tính lúc có địa IP Nó có địa IP từ máy chủ ISP động điều khiển máy chủ bạn (DHCP) giao thức Điều có nghĩa địa IP bạn thay đổi bạn trực tuyến Một địa IP gọi địa IP động Nếu bạn mạng nội bộ, bạn kiểm tra xem địa IP bạn chịu 0, RecvBytes.Length); if (bytes 6), Nhà xuất Lao động Xã hội, 2009 [2] Richard Blum, C# Network Programming, Joel Fugazzotto, 2003 [3] Fiach Reid, Network Programming in NET, Donegal-Ireland, 2004 [4] Website : http: //codeproject.com [...]... vụ để thực thi, quản lý bộ nhớ, tiểu trình cho các ứng dụng hỗ trợ bởi NET o Quản lý quá trình thực thi: để quản lý quá trình thực thi của trình, CLR thực hiện qua các bước sau: chọn chương trình biên dịch tương ứng với ngôn ngữ lập trình, biên dịch ứng dụng sang tập tin MSIL (trình bày chi tiết trong phần biên dịch và thực thi ứng dụng), biên dịch từ mã định dạng MSIL sang mã máy bằng trình JIT ( Just-In-Time)... công dụng của mỗi thành phần, lập trình các bài tập nhỏ trên môi trường NET Framwork thông qua lập trình biên dịch dùng CLR .NET Framework là hạ tầng cơ bản được chuẩn hoá, độc lập ngôn ngữ lập trình, cho phép người lập trình xây dựng, tích hợp, biên dịch, triển khai, chạy các dịch vụ Web, XML, tiện ích hay thực thi chương trình đa cấu trúc (phát triển bằng các ngôn ngữ lập trình hỗ trợ NET) trên hệ điều... cấp cơ sở hạ tầng để thi hành chương trình o Quản lý bộ nhớ: tự quản lý bộ nhớ là một trong những dịch vụ mà CLR cung cấp trong quá trình thực thi chương trình Trình thu gom ( Garbage Collector) quản lý bộ nhớ đã cấp cho một tiến trình rồi sau đó tự động thu lại khi chương trình kết thúc ( chúng ta sẽ tìm hiểu chi tiết về Garbage Collector trong cuốn sách “ lập trình hướng đối tượng” sắp phát hành)... tử Trong lập trình mạng, bạn thường không cần phải quan tâm mình với cách thức thông tin truyền giữa hai máy tính, chỉ với những gì bạn muốn gửi Chi tiết tốt hơn được đặt ở các cấp thấp hơn và được kiểm soát bởi hoạt động của máy tính hệ thống 6 Port Mục tiêu: Giải thích nguyên tắc làm việc thông qua cổng và Trình bày các số hiệu và công dụng của các cổng trong giao thức mạng Nếu bạn muốn trình duyệt... piston trong khi máy gia tốc là chán nản Đóng gói là các chi tiết phức tạp của một nhiệm vụ ẩn,và lập trình viên chỉ cần tập trung vào những gì đang xảy ra ở một mức độ cao hơn Các kết nối hệ thống mở (OSI) mô hình mạng ngăn xếp có bảy lớp đóng gói, như thể hiện trong Bảng 1.2 Trong lập trình hiện đại, tuy nhiên, mạng ngăn xếp trông giống như Bảng 1.3 lớp quan trọng nhất cho bất kỳ lập trình viên là lớp... định nghĩa giá trị, tham chiếu, biên cố, giao tiếp, thuộc tính và kiểm soát ngoại lệ Ngoài ra, một số lớp khác cung cấp các dịch vụ chuyển đổi kiểu dữ liệu, tham số, tính toán, xử lý và truy cập từ xa Trong đó, Code bao gồm hai loại :  Manage Code: bao gồm những chương trình được tạo ra từ các ngôn ngữ lập trình có hỗ trợ NET, chẳng hạn, sử dụng ngôn ngữ lập trình C# để phát triển chương trình ứng dụng... ví dụ mạng chứa trong cuốn sách này Nếu không có một kiến thức để làm việc NET về xử lý I/O có thể rất khó khăn để thích ứng với các ví dụ mã trong cuốn sách này với nhu cầu lập trình mạng Giúp cho Sinh viên vận dụng các lớp trong môi trượng NET để lập trình mạng đặc biệt là các lớp trong System.IO.Streams để ghi và đọc các dữ liệu lên các vùng lưu trữ, trong hệ thống mạng Mục tiêu của bài: - Trình. .. CLR quản lý nhằm cách ly nhiều ứng dụng đang thi hành trên cùng một máy tính cụ thể: o Mỗi ứng dụng sẽ được nạp vào tiến trình( Process) tách biệt mà không ảnh hưởng đến ứng dụng khác Với kỹ thuật kiểu mã an toàn Application Domains bảo đảm đoạn mã đang chạy trong miền ứng dụng độc lập với tiến trình của ứng dụng khác trên cùng một máy o Khi tạm dừng từng thành phần thì sẽ không dừng toàn bộ tiến trình. .. một IDE dùng chung duy nhất cho mọi ngôn ngữ lập trình và các loại ứng dụng được được tích hợp Như vậy, ứng dụng Web Forms (ASP.NET) được xem như một phần của ngôn ngữ lập trình, bạn có thể sử dụng chung IDE với ứng dụng Windows Forms Chẳng hạn, bạn có thể mở dự án (Project) bằng ngôn ngữ lập trình Visual Basic.NET, rồi mở tiếp một Project bằng ngôn ngữ lập trình C# trong cùng một Solution Ngoài ra,... phần chính của NET Framework, quản lý mã (code) có thể thực thi của chương trình, quản lý các tiến trình, quản lý tiểu trình (Threading), quản lý bộ nhớ, cung cấp dịch vụ để biên dịch, tích hợp và tác vụ truy cập từ xa (Remoting)  FCL bao gồm tất cả các dịch vụ như giao tiếp người sử dụng, điều khiển, truy cập dữ liệu, XML, Threading, bảo mật Tóm lại, CLR được xem như máy ảo NET (.NET Virtual Machine), ... tiếp có nối kết, sử dụng giao thức TCP • Hoặc giao tiếp không nối kết, sử dụng giao thức UDP Socket giao diện chương trình ứng dụng với tầng vận chuyển Nó cho phép ta chọn giao thức sử dụng tầng... chế độ giao tiếp Xét kiến trúc hệ thống mạng TCP/IP Hình 3.3 Bộ giao thức TCP/IP Tầng vận chuyển giúp chuyển tiếp thông điệp chương trình ứng dụng với Nó hoạt động theo hai chế độ: • Giao tiếp... AF_INET cho phép giao tiếp trình máy tính khác mạng 1.2 Số hiệu cổng (Port Number) socket Để thực giao tiếp, hai trình phải công bố số hiệu cổng socket mà sử dụng Mỗi cổng giao tiếp thể địa

Ngày đăng: 27/03/2016, 14:23

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan