Báo Cáo Cuối Kì Lập trình mạng căn bản Đề tài Proxy Sever

24 983 3
Báo Cáo Cuối Kì Lập trình mạng căn bản Đề tài Proxy Sever

Đ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áo Cáo Cuối Kì Lập trình mạng căn bản Đề tài Proxy Sever

Báo Cáo Cuối Kì Lập trình mạng căn bản Đề tài: Proxy Sever Giảng viên hướng dẫn: TS: Trần Bá Nhiệm Thực hiện: Phạm Đình Thanh Quang – 09520229 Trần Đình Quý - 09520239 Trường Đại học Công Nghệ Thông Tin Đại học Quốc gia Tp. Hồ Chính Minh Năm học: 2011 - 2012 Trường Đại học Công Nghệ Thông Tin Đại học Quốc gia Tp. Hồ Chí Minh Báo cáo cuối kì Môn: Lập trình mạng căn bản Đề tài: Proxy Sever Giảng viên hướng dẫn: TS: Trần Bá Nhiệm Thực hiện: Phạm Đình Thanh Quang – 09520239 Trần Đình Quý – 09520239 Năm học: 2011 - 2012 Mục Lục: Mục Lục: 3 Lời Cảm Ơn: 5 Cơ Sở Lý Thuyết: 6 1. Proxy Sever là gì? 6 2. Chức năng của proxy 6 3. Ý nghĩa của proxy 7 4. Cách sử dụng proxy hiệu quả 7 5. Khuyết điểm 8 Nội dung chương trình: 9 1. Ý Tưởng Chương Trình 9 2. Giao Diện Chương Trình 9 3. Xây Dựng Chương Trình 12 3.1. Class Cache 12 3.2. Class Server 13 3.3. Class frmMain (Class Chương Trình) 18 Hướng Dẫn Sử Dụng 21 Tài Liệu Tham Khảo 24 Lời Cảm Ơn: Chúng em xin gửi lời cảm ơn chân thành tới tập thể các thầy cô trường đại học Công Nghệ Thông Tin – Đại học Quốc Gia Tp. Hồ Chí Minh, đặc biệt là thầy Trần Bá Nhiệm, người đã dẫn dắt, chỉ dạy cho chúng em tất cả nội dung của bộ môn này trong suốt học kì qua. Đồng thời cũng xin cảm ơn tất cả các bạn sinh viên, các thành viên trên các diễn đàn của trường cũng như của Microsoft đã góp sức giúp nhóm mình hoàn thành bài báo cáo này. Xin chân thành cám ơn! Cơ Sở Lý Thuyết: 1. Proxy Sever là gì? Proxy là một Internet server làm nhiệm vụ chuyển tiếp thông tin và kiểm soát tạo sự an toàn cho việc truy cập Internet của các máy khách, còn gọi là khách hàng sử dụng dịch vụ internet. Trạm cài đặt proxy gọi là proxy server. Proxy hay trạm cài đặt proxy có địa chỉ IP và một cổng truy cập cố định. Ví dụ: 123.234.111.222:80. Địa chỉ IP của proxy trong ví dụ là 123.234.111.222 và cổng truy cập là 80. 2. Chức năng của proxy Một số hãng và công ty sử dụng proxy với mục đích: Giúp nhiều máy tính truy cập Internet thông qua một máy tính với tài khoản truy cập nhất định, máy tính này được gọi là Proxy server. Chỉ duy nhất máy Proxy này cần modem và account truy cập internet, các máy client (các máy trực thuộc) muốn truy cập internet qua máy này chỉ cần nối mạng LAN tới máy Proxy và truy cập địa chỉ yêu cầu. Những yêu cầu của người sử dụng sẽ qua trung gian proxy server thay thế cho server thật sự mà người sử dụng cần giao tiếp, tại điểm trung gian này công ty kiểm soát được mọi giao tiếp từ trong công ty ra ngoài internet và từ internet vào máy của công ty. Sử dụng Proxy, công ty có thể cấm nhân viên truy cập những địa chỉ web không cho phép, cải thiện tốc độ truy cập nhờ sự lưu trữ cục bộ các trang web trong bộ nhớ của proxy server và giấu định danh địa chỉ của mạng nội bộ gây khó khăn cho việc thâm nhập từ bên ngoài vào các máy của công ty. Đối với các nhà cung cấp dịch vụ đường truyền internet: Do internet có nhiều lượng thông tin mà theo quan điểm của từng quốc gia, từng chủng tộc hay địa phương mà các nhà cung cấp dịch vụ internet khu vực đó sẽ phối hợp sử dụng proxy với kỹ thuật tường lửa để tạo ra một bộ lọc gọi là firewall proxy nhằm ngăn chặn các thông tin độc hại hoặc trái thuần phong mỹ tục đối với quốc gia, chủng tộc hay địa phương đó. Địa chỉ các website mà khách hàng yêu cầu truy cập sẽ được lọc tại bộ lọc này, nếu địa chỉ không bị cấm thì yêu cầu của khách hàng tiếp tục được gửi đi, tới các DNS server của các nhà cung cấp dịch vụ. Firewall proxy sẽ lọc tất cả các thông tin từ internet gửi vào máy của khách hàng và ngược lại. 3. Ý nghĩa của proxy Proxy không chỉ có giá trị bởi nó làm được nhiệm vụ của một bộ lọc thông tin, nó còn tạo ra được sự an toàn cho các khách hàng của nó, firewal Proxy ngăn chặn hiệu quả sự xâm nhập của các đối tượng không mong muốn vào máy của khách hàng. Proxy lưu trữ được các thông tin mà khách hàng cần trong bộ nhớ, do đó làm giảm thời gian truy tìm làm cho việc sử dụng băng thông hiệu quả. Proxy server giống như một vệ sĩ bảo vệ khỏi những rắc rối trên Internet. Một Proxy server thường nằm bên trong tường lửa, giữa trình duyệt web và server thật, làm chức năng tạm giữ những yêu cầu Internet của các máy khách để chúng không giao tiếp trực tiếp Internet. Người dùng sẽ không truy cập được những trang web không cho phép (bị cấm). Mọi yêu cầu của máy khách phải qua Proxy server, nếu địa chỉ IP có trên proxy, nghĩa là website này được lưu trữ cục bộ, trang này sẽ được truy cập mà không cần phải kết nối Internet, nếu không có trên Proxy server và trang này không bị cấm, yêu cầu sẽ được chuyển đến server thật, DNS server và ra Internet. Proxy server lưu trữ cục bộ các trang web thường truy cập nhất trong bộ đệm để giảm chi phí kết nối, giúp tốc độ duyệt web nhanh hơn. Proxy server bảo vệ mạng nội bộ khỏi bị xác định bởi bên ngoài bằng cách mang lại cho mạng hai định danh: một cho nội bộ, một cho bên ngoài. Điều này tạo ra một “bí danh” đối với thế giới bên ngoài và gây khó khăn đối với nếu người dùng “tự tung tự tác” hay các hacker muốn xâm nhập trực tiếp máy tính nào đó. 4. Cách sử dụng proxy hiệu quả Do các proxy có quy mô bộ nhớ khác nhau và số lượng người đang sử dụng proxy nhiều- ít khác nhau, Proxy server hoạt động quá tải thì tốc độ truy cập internet của khách hàng có thể bị chậm. Mặt khác một số website khách hàng có đầy đủ điều kiện nhân thân để đọc, nghiên cứu nhưng bị tường lửa chặn không truy cập được thì biện pháp đổi proxy để truy cập là điều cần thiết nhằm đảm bảo công việc. Do đó người sử dụng có thể chọn proxy server để sử dụng cho riêng mình. Có các cách chọn lựa cho người sử dụng. Sử dụng proxy mặc định của nhà cung cấp dịch vụ (internet), trường hợp này người sử dụng không cần điền địa chỉ IP của proxy vào cửa sổ internet option của trình duyệt trong máy của mình. Sử dụng proxy server khác (phải trả phí hoặc miễn phí) thì phải điền địa chỉ IP của proxy server vào cửa sổ internet option của trình duyệt. Proxy Sever còn làm cho việc sử dụng băng thông hiệu quả hơn. Với băng thông hạn chế mà yêu cầu truy cập Internet lại rất cao, thì Proxy Sever là cách có lợi. Giả sử, một cơ quan có hai kết nối: kết nối 56K bit/s với Internet và kết nối Ethernet cục bộ với 50 PC. Nếu không có Proxy Sever, mỗi yêu cầu và phản hồi Internet đều truyền trên đường 56K, như vậy có thể xảy ra tình trạng tắt nghẽn nếu có nhiều người dùng truy cập đồng thời Internet. Proxy Sever cho phép người dùng truy cập Internet một cách cục bộ qua kết nối Ethernet, nhờ vậy nhiều yêu cầu cho cùng trang Web sẽ không tràn ngập đường kết nối 56K. 5. Khuyết điểm Tuy nhiên, không phải lúc nào Proxy Sever cũng hữu ích, ví dụ như khi gặp phải loại thông tin không cho phép lưu lại trên bộ đệm kiểu như CGI. Mặt khác, tốc độ cũng sẽ bị ảnh hưởng vì Proxy Sever kiểm tra từng yêu cầu trước khi phản hồi. Nội dung chương trình: 1. Ý Tưởng Chương Trình Chương trình được xây dựng với mục tiêu: Giao diện đẹp mắt và độ thẫm mĩ cao, cách trình bày các công cụ trực quan và khoa học hướng tới mục tiêu đơn giản hoá khi người dùng lần đầu sử dụng chương trình. Đồng thời, chương trình cũng hỗ trợ tương tác với trình duyệt được sử dụng rộng rãi nhất hiện nay: Internet Explorer (Hỗ trợ sẵn một Web Browser trong chương trình đồng thời có chức năng thay đổi thông số Proxy cho Internet Explorer cũng như các trình duyệt sử dụng Proxy chung với Internet Explorer như Chrome, Opera,…). Riêng đối với Mozzila FireFox hay các trình duyệt chạy trên nền Netscape thì phải tự thay đổi bằng tay. 2. Giao Diện Chương Trình Giao diện chính: Giao diện công cụ Banned Site (Không cho người dùng vào các trang đã bị chặn) Kiểm tra proxy khi chạy một số website nổi tiếng: [...]... trình được xây dựng trực quan, dễ dàng thao tác ngay cả với những người mới sử dụng lần đầu Để bắt đầu một proxy, ta chỉ cần chọn địa chỉ IP của host từ combobox và gõ số cổng đặc biệt của Proxy, sau đó nhấn Start Server để bắt đầu Proxy Lưu ý: Để sử dụng proxy trên trình duyệt tích hợp, cần phải check vào ô Use Proxy Sever Thông tin proxy này sẽ được lưu vào Registry và cũng sẽ ảnh hưởng đến các trình. .. của chương trình vào Header 3.3 Class frmMain (Class Chương Trình) Class này có nhiệm vụ chủ yếu là tương tác với người sử dụng, khởi tạo và gọi các hàm trong class Server để bắt đầu và dừng server Đồng thời, class frmMain còn được sử dụng để thay đổi thông tin của Proxy trong Registry của Windows, hỗ trợ người dùng tương tác với trình duyệt tích hợp sẵn trong chương trình cũng như các trình duyệt... về đối tượng CacheEntry đã được lưu trong bộ nhớ Cache của Proxy Nếu một yêu cầu từ phía máy khách (Client) đã được thực hiện trước đó bởi Proxy thì Proxy sẽ thực hiện lấy thông tin từ Cache chứ không gửi yêu cầu đến máy chủ của website nữa 3.2 Class Server Class Server là class chính của chương trình, chứa các hàm khởi tạo Proxy cũng như dừng proxy, tiếp nhận yêu cầu từ máy khách và gửi lên máy chủ... (Enable == 1 && Server != null) chkUseProxy.Checked = true; else chkUseProxy.Checked = false; } catch (NullReferenceException ex) { chkUseProxy.Checked = false; } } - Hàm chkUseProxy_Click(object sender, EventArgs e) để gán hoặc xoá thông tin về Proxy trong Registry đồng thời refresh lại để thông tin có tác dụng private void chkUseProxy_Click(object sender, EventArgs e) { RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Interne... Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Interne t Settings", true); if (chkUseProxy.Checked == true) { registry.SetValue("ProxyEnable", 1); registry.SetValue("ProxyServer", cmbIP.Text + ":" + txtPort.Text); } else { registry.SetValue("ProxyEnable", 0); registry.SetValue("ProxyServer", ""); } settingsReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero,... cmbIP.SelectedIndex = 0; chkUseProxy.Enabled = false; // Get the proxy setting from Internet Options RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Interne t Settings", false); try { int Enable = Convert.ToInt32(registry.GetValue("ProxyEnable")); string Server = registry.GetValue("ProxyServer").ToString(); if (Enable == 1 && Server != null) chkUseProxy.Checked...Các website không được phép truy cập: 3 Xây Dựng Chương Trình Chương trình được xây dựng từ lớp cơ bản: - Class frmMain: Class xử lí các sự kiện cho các công cụ trên Windows Form khi được gọi Class Server: Tạo proxy server và xử lí các yêu cầu đến từ các máy khách (Client) Class Cache: Lưu lại cache của các liên kết sử dụng giao thức... "Start Server") { btnStart.Text = "Stop Server"; HTTPServer.Start(); chkUseProxy.Enabled = true; lblStatus.Text = "Proxy Server Started At: " + cmbIP.Text + ":" + txtPort.Text; cmbIP.Enabled = false; txtPort.Enabled = false; } else { btnStart.Text = "Start Server"; HTTPServer.Stop(); chkUseProxy.Enabled = false; lblStatus.Text = "Proxy Server Stopped!"; cmbIP.Enabled = true; txtPort.Enabled = true; }... tương tác với trình duyệt tích hợp sẵn trong chương trình cũng như các trình duyệt nền IE Một số hàm tiêu biểu trong class này: - Hàm buttonItem1_Click(object Proxy sender, EventArgs e) dùng để bắt đầu hoặc dừng /// /// Start or Stop Proxy Server /// /// /// private void buttonItem1_Click(object sender, EventArgs e) { if (String.IsNullOrEmpty(cmbIP.Text)... client Sau khi xử lí xong công việc thì client này sẽ được đóng lại để tiết kiệm tài nguyên Hàm List BannedList() trả về một biến kiểu List chứa danh sách các trang web không được phép tải về Các trang này được lưu trong file XML có tên là Banned.XML Hàm void HTTPProcess(TcpClient client) là hàm chính của chương trình này Hàm này sẽ được thực hiện các lệnh sau: o Dùng biến clientStream kiểu . Báo Cáo Cuối Kì Lập trình mạng căn bản Đề tài: Proxy Sever Giảng viên hướng dẫn: TS: Trần Bá Nhiệm Thực hiện: Phạm. Nghệ Thông Tin Đại học Quốc gia Tp. Hồ Chí Minh Báo cáo cuối kì Môn: Lập trình mạng căn bản Đề tài: Proxy Sever Giảng viên hướng dẫn: TS: Trần Bá Nhiệm Thực hiện: Phạm. Thuyết: 6 1. Proxy Sever là gì? 6 2. Chức năng của proxy 6 3. Ý nghĩa của proxy 7 4. Cách sử dụng proxy hiệu quả 7 5. Khuyết điểm 8 Nội dung chương trình: 9 1. Ý Tưởng Chương Trình 9 2.

Ngày đăng: 17/07/2015, 17:58

Từ khóa liên quan

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

Tài liệu liên quan