Luận văn nghiên cứu và xây dựng một vài chương trình tấn công trên mạng internet qua giao thức telnet

  • Số trang: 76 |
  • Loại file: PDF |
  • Lượt xem: 18 |
  • Lượt tải: 0
nganguyen

Đã đăng 34173 tài liệu

Mô tả:

Luận văn Nghiên cứu và xây dựng một vài chương trình tấn công trên mạng Internet qua giao thức Telnet -1- MỞ ĐẦU Với sự phát triển mạnh mẽ của công nghệ thông tin, đặc biệt là sự xuất hiện của mạng máy tính toàn cầu Internet đã làm thay đổi phương thức khai thác máy tính cổ điển. Mạng và công nghệ mạng mặc dù ra đời cách đây không lâu nhưng nó đã được triển khai ứng dụng ở hầu hết khắp mọi nơi trên thế giới. Bên cạnh những thành tựu ấy, mạng máy tính lại nảy sinh những vấn đề mang tính tiêu cực và trở thành mối lo ngại cho người sử dụng tham gia vào mạng máy tính toàn cầu. Thế giới tội phạm cũng triệt để tận dụng những thành tựu này, và một loại tội phạm mới xuất hiện: “tin tặc”, “tội phạm công nghệ cao”. Ngày nay, các loại tội phạm máy tính càng ngày càng có xu hướng gia tăng cả về số lượng và tính chất nguy hiểm. Ngay cả các cơ quan đặc biệt nước ngoài cũng sử dụng Internet như là một phương tiện liên lạc để đa dạng hoá các thủ đoạn hoạt động. Trong lực lượng công an, việc ứng dụng những thành tựu công nghệ thông tin vào hoạt động của các lực lượng đã nâng cao hiệu quả công vệc, góp phần đấu tranh phòng chống các loại tội phạm, giữ vững trật tự an toàn xã hội. Hiện nay, trong ngành có rất nhiều hệ thống máy tính được kết nối với mạng Internet. Đó thực sự là những khó khăn với người quản trị hệ thống, nhất là đối với trong lực lượng công an thì yêu cầu bảo mật thông tin luôn luôn được đặt lên hàng đầu. Tình hình hiện nay đòi hỏi lực lượng công an phải gấp rút ứng dụng những công nghệ mới, nghiên cứu các biện pháp bảo mật thông tin và cả các biện pháp nhằm “phá hoại” thông tin của các đối tượng trong một số trường hợp cụ thể nhằm đáp ứng yêu cầu nghiệp vụ của ngành. Bên cạnh đó, phải nghiên cứu một cách có hệ thống các phương thức tấn công trên mạng để giúp lực lượng trinh sát kỹ thuật thu thập thông tin một cách bí mật. -2- Tôi xin đăng ký đề tài khóa luận tốt nghiệp là: “Nghiên cứu và xây dựng một vài chương trình tấn công trên mạng Internet qua giao thức Telnet.” Xuất phát từ yêu cầu thực tiễn nói trên, nội dung cơ bản của khóa luận giúp cho người sử dụng có kiến thức cơ bản về các phương thức tấn công trên mạng, trên cơ sở đó xây dựng một số chương trình “tấn công” qua giao thức Telnet(đây là giao thức được ứng dung trong khoá luận). Đồng thời, khoá luận cũng đề xuất một số giải pháp bảo mật cho hệ thống tham gia mạng Internet. Để đạt được mục đích nói trên, ngoài phần mục lục, lời nói đầu và kết luận, khoá luận được chia làm 3 chương cơ bản như sau:  Chương I: Tổng quan về mạng Internet và giao thức Telnet. Ở chương này, khoá luận tập trung trình bày về các giao thức cơ bản của Internet, tập trung vào giao thức Telnet là giao thức được ứng dụng trong khoá luận.  Chương II: Một số giải pháp bảo mật thông tin trên mạng. Mục đích chương II nhằm nghiên cứu những nguy cơ gây có thể gây mất an ninh trên mạng, trên cơ sở đó đề xuất một số giải pháp bảo mật thông tin cho các hệ thống máy tính trên mạng.  Chương III: Xây dựng một số chương trình tấn công qua giao thức Telnet. Trên cơ sở những vấn đề đã nghiên cứu ở trên, khoá luận đưa ra một số chương trình tấn công qua thư điện tử, xâm nhập Web, Crack phần mềm và một số kỹ thuật quét tường lửa. -3- CHƯƠNG I TỔNG QUAN VỀ MẠNG INTERNET VÀ GIAO THỨC TELNET 1.1 Giới thiệu về mạng máy tính toàn cầu Internet 1.1.1 Mạng máy tính Mạng máy tính là hệ thống các máy tính độc lập được kết nối với nhau. Hai máy tính được gọi là được kết nối với nhau nếu chúng có khả năng trao đổi thông tin. Sự kết nối có thể thông qua dây dẫn, tia Laser, sóng điện từ hay vệ tinh viễn thông... Việc kết nối các máy tính có những ưu điểm sau đây: - Sử dụng chung tài nguyên: Dữ liệu, chương trình và các thiết bị có thể được dùng chung bởi người dùng từ các máy tính trên mạng. - Tăng độ tin cậy của hệ thống thông tin: Nếu một máy tính hay một đơn vị dữ liệu nào đó bị hỏng thì luôn có thể sử dụng một máy tính khác hay một bản sao khác của dữ liệu, nhờ đó, khả năng mạng bị ngừng sử dụng được giảm thiểu. - Tạo ra môi trường truyền thông mạnh giữa nhiều người sử dụng trên phạm vi địa lý rộng: Mục tiêu này ngày càng trở nên quan trọng nhất là khi mạng máy tính đã phát triển trên phạm vi toàn cầu như ngày nay. - Tiết kiệm chi phí: Do tài nguyên được dùng chung, hệ thống tin cậy hơn nên chi phí thiết bị và bảo dưỡng của mạng máy tính thấp hơn so với trường hợp máy tính riêng lẻ. Liên mạng máy tính (Internetworking hay Internet) là một công nghệ được đưa ra nhằm kết nối các mạng thành một thể thống nhất. Công nghệ Internet che dấu đi kiến trúc vật lý của mạng và cho phép máy tính truyền thông -4- một cách độc lập với liên kết vật lý của mạng. Một liên mạng đã khá quen thuộc với chúng ta là mạng Internet 1.1.2 Mạng Internet Internet là một tổ hợp hàng triệu máy được kết nối với nhau thông qua giao thức TCP/IP để có thể chia sẻ thông tin với nhau, trong đó có đủ loại máy tính, và chúng sử dụng nhiều hệ điều hành khác nhau.Thông tin trên Internet gồm đủ loại từ thư điện tử (Email), các File đồ hoạ đến Video và còn nhiều thông tin khác được cung cấp bởi những người sử dụng Internet. Những máy chủ (Host) mạnh thường sử dụng những hệ điều hành đa nhiệm, ví dụ như UNIX, để người sử dụng kết nối vào. Những máy chủ được định vị tại các điểm như thư viện, các trường đại học, các tổ chức, các đại lý, các công ty trên toàn thế giới. Những máy chủ này được kết nối với nhau qua đường điện thoại và chỉ mất khoảng 640/1000 giây để bắt đầu nhận thông báo từ Bắc Mỹ tới Nam cực. 1.1.2.1 Các dịch vụ mức ứng dụng ban đầu trên Internet - Thư điện tử (Electronic mail) Cho phép người dùng ngồi trước máy tính tại nhà mình gửi E-mail tới bất cứ ai ở đâu trên thế giới nếu họ có địa chỉ E-mail. Họ có thể tham gia các nhóm thảo luận (Discussion group) về những đề tài khác nhau hay bắt đầu một nhóm mới về những chủ đề mà họ ưa thích. - Truyền file (File Transfer) Nếu cần một chương trình phần mềm mới như các tiện ích nén file, các chương trình diệt virus, một phần mềm trò chơi, hình ảnh hay âm thanh, người dùng có thể tải xuống bất cứ lúc nào với File Transfer. -5- - Truy nhập từ xa (Remote login) Có lẽ điều thú vị nhất trong các ứng dụng của Internet là Remote login, nó cho phép người dùng kết nối vào một máy tính ở xa như một trạm cuối để sử dụng máy tính đó. 1.1.2.2 Dịch vụ mức mạng của Internet Một lập trình viên viết chương trình ứng dụng trên Internet cần có một cái nhìn khác với người chỉ đơn giản sử dụng dịch vụ Internet. Ở tầng mạng, Internet cung cấp 2 kiểu dịch vụ mà các ứng dụng của Internet thường dùng đó là: - Dịch vụ truyền không kết nối (Connectionless Paket Delivery Service) là một phương thức truyền dữ liệu mà các mạng chuyển mạch gói cung cấp. Điều này chỉ đơn giản là mạng Internet chuyển các gói tin từ máy này sang máy khác dựa vào thông tin địa chỉ của gói đến đích của nó. Việc chia nhỏ gói tin truyền này có một ưu điểm là nếu một đường đi bị bận hoặc bị đứt, thì các gói có thể được truyền theo một đường khác. - Dịch vụ truyền tin cậy (Reliable Stream Transport Service) Phần lớn các ứng dụng đòi hỏi nhiều dịch vụ hơn chỉ truyền thông không kết nối bởi vì chúng cần tự động sửa lỗi, kiểm tra tính toàn vẹn của thông tin truyền đi trên mạng. 1.1.3 Giao thức truyền thông và mô hình tham chiếu OSI 1.1.3.1 Giao thức truyền thông Các máy tính trên mạng có thể trao đổi thông tin với nhau thông qua một bộ những phần mềm cùng làm việc theo một chuẩn nào đó. Giao thức truyền thông (Protocol) là tập hợp các quy tắc quy định phương thức truyền nhận thông tin giữa các máy tính trên mạng. Các mạng máy tính hiện đại được thiết kế bằng cách phân chia cấu trúc ở mức độ cao nhằm làm giảm sự phức tạp khi thiết kế. Các giao thức mạng thường -6- được chia làm các tầng (Layer), mỗi tầng được xây để dựng dựa trên dịch vụ của tầng dưới nó và cung cấp dịch vụ cho tầng cao hơn. 1.1.3.2 Mô hình tham chiếu OSI(Open Systems Interconect Referent model) Mô hình mạng máy tính do tổ chức tiêu chuẩn hoá quốc tế (International Standard Organization - ISO) đưa ra năm 1983 được gọi là mô hình tham chiếu các hệ thống mở (Open Systems Interconect referent model - OSI). Mô hình tham chiếu OSI chứa 7 tầng mô tả chức năng của giao thức truyền thông. Mỗi tầng của mô hình OSI miêu tả một chức năng được thực hiện khi dữ liệu di chuyển giữa các ứng dụng giữa các mạng. Application Virtual Communication Application Presentation Presentation Session Session Transport Transport Network Network Data Link Data Link Physical Physical Hình 1. Mô hình tham chiếu OSI -7- Các lớp giao thức được xếp chồng lớp nọ trên lớp kia. Chính sự xuất hiện của nó, cấu trúc thường được gọi là Stack hoặc giao thức xếp chồng. Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo đảm những nguyên tắc chung (cài đặt cùng một giao thức truyền thông). Các chức năng được tổ chức thành một tập các tầng đồng mức cung cấp chức năng như nhau. Các tầng đồng mức phải sử dụng một giao thức chung. Một tầng không định nghĩa một giao thức đơn, nó định nghĩa một chức năng truyền thông có thể được thi hành bởi một số giao thức. Do vậy, mỗi tầng có thể chứa nhiều giao thức, mỗi giao thức cung cấp một dịch vụ phù hợp cho chức năng của tầng. Ví dụ cả giao thức truyền file (File Transfer Protocol - FTP) và giao thức thư điện tử (Simple Mail Transfer Protocol - SMTP) đều cung cấp dịch vụ cho người dùng và cả hai đều thuộc tầng ứng dụng. Mỗi mức ngang hàng giao thức truyền thông (sự bổ xung của các giao thức cùng mức tương đương trên hệ thống khác). Mỗi mức phải được chuẩn hoá để giao tiếp với mức tương đương với nó. Trên lý thuyết, giao thức chỉ biết đến những gì liên quan tới lớp của nó mà không quan tâm tới mức trên hoặc dưới của nó. Tuy nhiên phải có sự thoả thuận để chuyển dữ liệu giữa các tầng trên một máy tính, bởi mỗi tầng lại liên quan tới việc gửi dữ liệu từ ứng dụng tới một ứng dụng tương đương trên một máy khác. Tầng cao hơn dựa vào tầng thấp hơn để chuyển dữ liệu qua mạng phía dưới. Dữ liệu chuyển xuống ngăn xếp từ tầng này xuống tầng thấp hơn cho tới khi được truyền qua mạng nhờ giao thức của tầng vật lý. Ở đầu nhận, dữ liệu đi lên ngăn xếp tới ứng dụng nhận. Những tầng riêng lẻ không cần biết các tầng trên và dưới nó xử lý ra sao, nó chỉ cần biết cách chuyển nhận thông tin từ các tầng đó. Sự cô lập các hàm truyền thông trên các tầng khác nhau giảm thiểu sự tích hợp công nghệ của đầu vào mỗi bộ giao thức. Các ứng dụng mới có thể thêm vào mà không cần thay đổi tầng vật lý của mạng, phần cứng có thể được bổ sung mà không cần viết lại các phần mềm ứng dụng. -8- Tầng vật lý (Physical layer) - Tầng vật lý liên quan tới việc truyền dòng bit giữa các máy bằng kênh truyền thông vật lý, ở đây, cấu trúc của dữ liệu không được quan tâm đến. - Việc thiết kế tầng vật lý cần quan tâm đến các vấn đề về ghép nối cơ khí, điện tử, thủ tục và môi trường truyền tin bên dưới nó, ví dụ mức điện áp tương ứng với bit 0 - 1, thời gian tồn tại của xung... Tầng liên kết dữ liệu (Data link layer) - Liên kết, thiết lập, duy trì, huỷ bỏ các liên kết dữ liệu là nhiệm vụ của tầng liên kết dữ liệu. - Ngoài ra tầng liên kết dữ liệu còn kiểm soát lỗi đường truyền, thông lượng. Tầng này thực hiện việc đóng gói thông tin gửi thành các frame, gửi các frame một cách tuần tự đi trên mạng, xử lý các thông báo xác nhận (Acknowledgement frame) do bên nhận gửi về. Xác định ranh giới giữa các frame bằng cách ghi một số byte đặc biệt vào đầu và cuối frame. Giải quyết vấn đề thông lượng truyền giữa bên gửi và bên nhận (Vấn đề này có thể được giải quyết bởi một số lớp trên). Tầng mạng (Network layer) - Vấn đề chủ chốt của tầng mạng là routing (dẫn đường), định rõ các gói tin (packet) được truyền theo những con đường nào từ nguồn đến đích. Các con đường này có thể cố định, ít bị thay đổi, được thiết lập khi bắt đầu liên kết hay động (dynamic) thay đổi tuỳ theo trạng thái tải của mạng. - Nếu có nhiều gói tin truyền trên mạng có thể xảy ra tình trạng tắc nghẽn, tầng mạng phải giải quyết vấn đề này. - Thực hiện chức năng giao tiếp với các mạng bao gồm việc đánh lại địa chỉ, cắt hợp gói tin cho phù hợp với các mạng. -9- Ngoài ra tầng mạng còn thực hiện một số chức năng kế toán, ví dụ, một số Firewall (Packet Filtering) được cài đặt trên tầng này để thống kê số lượng các gói tin truyền qua mạng hay ngăn cấm hoặc cho phép các gói tin của giao thức nào đó. Tầng giao vận (Transport layer) - Kiểm soát việc truyền tin từ nút tới nút (end-to-end): Bắt đầu từ tầng này, các thực thể đã có thể nói chuyện một cách logic với nhau. - Thực hiên việc ghép kênh và phân kênh: Mỗi ứng dụng có thể gửi dữ liệu đi theo nhiều con đường, một đường truyền lại có thể được nhiều ứng dụng sử dụng, phân kênh/hợp kênh giải quyết vấn đề phân chia dữ liệu cho các ứng dụng. - Khắc phục sai sót trong quá trình truyền tin: Việc khắc phục sai sót được thực hiện trên nhiều tầng khác nhau, nhưng hiệu quả nhất là ở các tầng cao, việc khắc phục sai sót thực hiện ở tầng giao vận là hợp lý nhất. Tầng phiên (Session layer) - Tầng này cho phép người sử dụng trên các máy khác nhau thiết lập, duy trì, huỷ bỏ, đồng bộ phiên truyền thông giữa họ. Cung cấp một số dịch vụ hữu ích cho người sử dụng như cho phép người dùng logon vào hệ thống chia sẻ thời gian, truyền tệp giữa các máy tính. - Quản lý thẻ bài (Token): cơ chế thẻ bài được tầng phiên cung cấp để tránh hiện tượng tranh chấp đường truyền trên mạng. - Thực hiện đồng bộ (Synchronization): thực hiện đối với những dữ liệu lớn bằng cách thêm vào các thông tin kiểm tra, sửa lỗi. Tầng trình diễn (Presentation layer) - Giải quyết vấn đề liên quan tới cú pháp và ngữ nghĩa của thông tin như chuyển đổi thông tin theo một chuẩn nào đó được cả hai bên sử dụng (mã ASCII - EDBCDIC). - 10 - - Nén/giãn dữ liệu để giảm số lượng bit truyền trên mạng. - Mã hoá dữ liệu để thực hiện quyền truy cập. Tầng ứng dụng (Application layer) - Tầng ứng dụng cung cấp giao diện sử dụng cho người dùng và môi trường truyền tin. - Thực hiện chức năng chuyển file trong đó có giải quyết vấn đề không tương thích như cách đặt tên file hay các mã điều khiển trong một tệp văn bản... - Cung cấp các dịch vụ Electronic mail, Remote login, Directory lookup... 1.1.4 Bộ giao thức TCP/IP 1.1.4.1 Giao thức chuyển địa chỉ ARP (Address Resolution Protocol) và giao thức chuyển ngược địa chỉ RARP (Reverse Address Resolution Protocol) Mọi máy tính cùng nằm trên một mạng có cùng một net id và các máy tính cùng trên một mạng vật lý có thể gửi frame vật lý trực tiếp cho nhau nên việc truyền thông tin giữa hai máy tính trong cùng một mạng vật lý không cần sử dụng Gateway. Việc dẫn đường trực tiếp chỉ sử dụng phần địa chỉ máy host id trong địa chỉ IP. Trạm gửi chỉ việc kết khối dữ liệu vào frame, chuyển địa chỉ IP của trạm đích thành địa chỉ vật lý và gửi trực tiếp frame tới máy nhận. Một cơ chế sử dụng để chuyển địa chỉ IP thành địa chỉ vật lý là ARP (Address Resolusion Protocol). Khi hai máy tính cùng nối vào một mạng vật lý, chúng biết được địa chỉ IP của nhau nhưng để truyền thông giữa hai máy, chúng phải biết được địa chỉ vật lý của nhau. ARP giải quyết vấn đề chuyển từ địa chỉ - 11 - IP 32 bit sang địa chỉ Ethernet 48 bit. Người ta sử dụng hai cơ chế chuyển địa chỉ là: - Chuyển giao trực tiếp. - Chuyển giao gián tiếp. Chuyển giao trực tiếp Địa chỉ vật lý là một hàm của địa chỉ IP, ví dụ sử dụng trên mạng Token ring proNET-10 là mạng cho phép đặt địa chỉ IP và địa chỉ vật lý tùy ý. Người ta có thể đặt địa chỉ IP là 192.5.48.3 và địa chỉ vật lý là 3, khi đó ta có PA=f(IA). Với PA là địa chỉ vật lý, IA là địa chỉ Internet và f là hàm chuyển đổi. Chuyển giao địa chỉ động Chuyển giao địa chỉ động được thực hiện bằng cách máy tính gửi thông tin gửi một thông báo tới toàn bộ các máy tính trên mạng, trong thông báo đó có chứa địa chỉ IP của máy tính nó cần liên lạc, mọi máy sẽ nhận được thông báo và máy nào thấy địa chỉ IP của mình thì trả lại một thông báo chứa địa chỉ vật lý, khi đó, hai máy tính có thể “nói chuyện” với nhau. Host A Host B Host C Host D ARP Request Host A Host B Host C ARP Reply - 12 - Host D 1.1.4.2 Giao thức điều khiển truyền tin (Internet Control Message Protocol - ICMP) Việc dẫn đường qua các mạng sử dụng giao thức điều khiển truyền tin (Internet Control Message Protocol - ICMP) được định nghĩa trong RFC 792. ICMP sử dụng gói tin IP để chuyển thông báo của nó. ICMP gửi các thông báo làm các công việc: Điều khiển, thông báo lỗi và chức năng thông tin cho TCP/IP… Thông thường ICMP được gửi khi một gói tin không thể đi tới đích, một gateway không còn đủ chỗ nhớ để nhận thêm gói tin hay một gateway hướng dẫn máy tính sử dụng gateway khác để truyền thông tin theo một con đường tối ưu hơn. 1.1.4.3 Giao thức không kết nối (User Datagram Protocol – UDP) UDP cho phép chương trình ứng dụng truy cập trực tiếp đến gói tin của dịch vụ chuyển giao giống như dịch vụ mà giao thức IP cung cấp. Nó cho phép ứng dụng trao đổi thông tin qua mạng với ít thông tin điều khiển nhất. UDP là giao thức không kết nối, kém tin cậy vì nó không có cơ chế kiểm tra tính đúng đắn của dữ liệu truyền. - 13 - 1.1.4.4 Giao thức điều khiển truyền tin (Transmission Control Protocol TCP) Một số ứng dụng đòi hỏi giao thức giao vận cung cấp dịch vụ chuyển giao thông tin tin cậy sử dụng TCP bởi nó cung cấp dịch vụ kiểm tra đúng đắn và dữ liệu được truyền với một sự phối hợp thích hợp. Một số đặc điểm của dịch vụ tin cậy mà TCP cung cấp là: - Hướng dòng (Stream Orientation): TCP coi dữ liệu nó gửi đi là một dòng byte không phải là gói tin. Do đó, TCP đảm bảo số thứ tự của các byte gửi nhận. TCP chuẩn không bắt hệ thống phải sử dụng một số đặc biệt nào để đánh số dòng byte, mỗi hệ thống tự chọn một số mà nó sẽ dùng làm điểm bắt đầu. Mỗi trạm cuối phải biết số thứ tự mà trạm kia dùng. - Chuyển giao bộ đệm (Buffered Transfer): Để giảm số lượng truyền thông, giao thức cố gắng sử dụng số lượng tối thiểu các segment để truyền tải thông tin, do vậy, giao thức sử dụng tối đa độ dài có thể của segment. - Kết nối hai chiều (Full Duplex Connection): TCP/IP cung cấp kết nối cho cả hai đầu của liên kết. Điều này có nghĩa là tầng phía dưới cung cấp khả năng gửi trả thông báo từ trạm đích trở lại trạm nguồn. TCP là giao thức hướng kết nối. Nó thiết lập quan hệ logic giữa 2 trạm tham gia liên kết. TCP cung cấp dịch vụ tin cậy với một cơ chế gọi là "Positive Ackowledgment with Retransmission" (PAR). Đơn giản là trạm nguồn tiếp tục gửi thông tin đi cho tới khi nó nhận được thông báo dữ liệu đã được nhận chính xác tại trạm đích. Đơn vị thông tin chuyển giao giữa các ứng dụng gọi là segment, mỗi segment chứa checksum để đảm bảo rằng segment không bị phá huỷ trên đường truyền, nếu segment không bị phá huỷ, trạm nhận gửi thông báo xác nhận lại trạm gửi, nếu segment bị phá huỷ, trạm nhận huỷ bỏ nó và sau một thời gian nào đó, trạm gửi sẽ gửi lại gói tin mà nó không nhận được thông báo xác nhận. - 14 - Tại trạm gửi Thông tin trên mạng Send Paket 1 Tại trạm nhận Receive Paket 1 Send ACK 1 Receive ACK 1 Send Paket 2 Receive Paket 2 Send ACK 2 Receive ACK 2 Hình 2. Sơ đồ truyền tin của giao thức TCP. 1.1.4.5 Giao thức truyền tệp (File Transfer Protocol - FTP) Đây là một phương pháp sao chép tệp từ một máy tính ở xa về máy tính của người dùng ta có thể ngồi tại máy tính của mình truyền hoặc lấy File trên một máy chủ nào đó 1.2 Giao thức Telnet 1.2.1 Giao thức Telnet Một trong những kỹ thuật chủ yếu sử dụng trên mạng máy tính là khả năng truy cập hệ thống từ xa. Đó là việc người sử dụng có thể thực hiện được một ứng dụng trên một máy tính từ xa. Trong các giao thức cho phép truy cập từ xa có hiệu quả, đáng chú ý nhất là giao thức Telnet. Bộ giao thức TCP/IP bao gồm một giao thức trạm làm việc ở xa đơn giản, gọi là Telnet, để cho phép người sử dụng login vào máy tính thông qua Internet. Telnet thiết lập một kết nối TCP, sau đó gửi các tín hiệu của người sử dụng đến trực tiếp máy tính ở xa y như chúng được nhập vào bàn phím trực tiếp với máy tính ở xa. Telnet cũng - 15 - chuyển tải dữ liệu xuất từ máy tính ở xa ngược trở về màn hình của người sử dụng. Dịch vụ này được gọi là “trong suốt” (transparent) vì nó cho ta cảm giác như là bàn phím và màn hình của người sử dụng nối trực tiếp vào máy tính ở xa. Thông thường, phần mềm Telnet ở Client cho phép người sử dụng xác định một máy ở xa bằng cách chỉ ra tên miền hoặc địa chỉ IP của nó. Giao thức Telnet cung cấp một giao diện chuẩn, thông qua một chương trình ở một máy (Telnet Client) có thể khai thác tài nguyên ở một máy khác (Telnet Server). Ví dụ, một người sử dụng máy trạm của mạng LAN có thể kết nối với một máy trong mạng như thể là một máy trạm kết nối trực tiếp với máy đó. Workstation Termianal Host Remote Local Login Login LAN Hình 3. Sơ đồ làm việc của giao thức Telnet. 1.2.2 Các dịch vụ của giao thức Telnet Telnet cung cấp ba dịch vụ cơ bản. Trước hết, nó định nghĩa một trạm mạng ảo để cung cấp một giao tiếp chuẩn cho các hệ ở xa. Chương trình Client - 16 - không phải hiểu chi tiết tất cả các hệ ở xa; chúng được xây dựng để sử dụng giao tiếp chuẩn. Thứ hai, Telnet bao gồm một cơ chế cho phép Client và Server thương thảo các lựa chọn, nó cung cấp một tập hợp các lựa chọn chuẩn. Cuối cùng, trong Telnet thì hai đầu của kết nối là đối xứng. Cụ thể, Telnet không bắt buộc dữ liệu nhập của Client phải đến từ bàn phím, nó cũng không bắt buộc Client phải thể hiện dữ liệu xuất ra màn hình. Như thế, Telnet cho phép một chương trình bất kỳ có thể đóng vai trò Client và hai đầu của kết nối có thể thương thảo về các lựa chọn. Host A Host B NVT NVT TCP/IP TCP/IP Negotiation Operating System Operating System Hình 4. Mô hình đối xứng của Telnet. Client reads Telnet client User’s From Terminal keyboard & display Client sends Telnet client to Server Operating System sends to Operating System Server receives TCP/IP - 17 - Internet Server pseudo terminal From Client Hình 5. Các chương trình ứng dụng cài đặt Telnet Client và Telnet Server Qua hình này chúng ta thấy, khi người sử dụng gọi Telnet, thì một chương trình ứng dụng trên máy của người sử dụng trở thành Client. Sau đó, Client này thiết lập kết nối TCP đến Server mà chúng sẽ thông tin liên lạc. Một khi kết nối đã được thiết lập, Client sẽ nhận các ký tự bàn phím của người sử dụng và gửi chúng đến Server , trong khi đó nó cũng đồng thời nhận các ký tự mà Server gửi ngược trở về và thể hiện nó lên màn hình của người sử dụng. Server phải nhận một kết nối TCP từ Client và rồi chuyển dữ liệu đi giữa kết nối TCP này và hệ điều hành cục bộ.Trong thực tế, Server phức tạp hơn nhiều so với những gì trình bày trong hình này bởi vì nó phải xử lý đồng thời nhiều kết nối. Thông thường, một tiến trình Server chủ đợi các kết nối mới và tạo ra Server phụ mới để xử lý mỗi kết nối. Như thế “Telnet Server” như trong hình thể hiện cho Server phụ để xử lý một kết nối cụ thể. Hình này không trình bày Server chủ - để lắng nghe các yêu cầu mới, nó cũng không trình bày những Server phụ để xử lý những kết nối khác. Chúng ta sử dụng khái niệm trạm làm việc ảo để mô tả đầu vào của hệ điều hành, nơi cho phép một chương trình chạy, giống như Telnet Server, truyền các ký tự dến hệ điều hành giống như là chúng được nhập từ bàn phím. Nếu hệ thống trạm làm việc ảo, thì Telnet Server có thể được cài đặt với các chương trình ứng dụng. Mỗi Server phụ kết nối một dòng TCP từ một Client đến một trạm làm việc ảo. - 18 - Việc bố trí để Telnet Server là một chương trình mức ứng dụng có cả ưu điểm lẫn khuyết điểm. Ưu điểm lớn nhất là nó làm cho việc sửa đổi và kiểm soát của Server dễ hơn so với trường hợp chúng được nhúng vào trong hệ điều hành. Khuyết điểm hiển nhiên nhất là sự kém hiệu quả. Mỗi ký tự nhập từ bàn phím của người sử dụng sẽ di chuyển qua hệ điều hành để đến chương trình Client, từ chương trình Client ngược trở về hệ điều hành và đi qua Internet để đến được máy chủ. Sau khi đến được máy chủ, dữ liệu lại phải di chuyển ngược lên hệ điều hành của Server để đến chương trình ứng dụng của Server, và từ chương trình ứng dụng Server ngược trở về hệ điều hành của Server tại điểm vào của trạm làm việc ảo. Cuối cùng, hệ điều hành ở xa sẽ chuyển phát ký tự này đến chương trình ứng dụng mà người sử dụng đang chạy. Trong khi đó, kết xuất di chuyển ngược trở về từ Server đến Client theo cùng một con đường như vậy. 1.2.3 Hoạt động của giao thức Telnet trong những hệ không đồng nhất Để cho Telnet hoạt động được trong càng nhiều hệ khác nhau càng tốt, nó phải chấp nhận được các chi tiết của nhiều hệ điều hành khác nhau. Ví dụ, một số hệ yêu cầu các dòng văn bản được kết thúc bởi ký tự ASCII carriage control (CR), những hệ khác lại yêu cầu ký tự ASCII linefeed (LF). Lại có những hệ yêu cầu chuỗi hai ký tự CR-LF. Thêm vào đó, hầu hết các hệ tương tác cung cấp phương tiện để người sử dụng đưa vào từ bàn phím ký hiệu ngắt một chương trình đang chạy. Tuy nhiên, ký hiệu đặc biệt được sử dụng để ngắt một chương trình lại khác nhau tùy vào trong hệ thống (ví dụ, một số hệ sử dụng Control – C, có hệ lại sử dụng ESCAPE). Để chấp nhận được nhiều hệ khác nhau, Telnet định nghĩa cách dữ liệu và các lệnh được gửi qua Internet. Định nghĩa này được gọi là Trạm ảo (Network Virtual Terminal). Trong hình dưới, phần mềm Client chuyển đổi các ký hiệu các bàn phím và chuỗi lệnh từ trạm của người sử dụng thành dạng NVT và gửi chúng tới Server. Phần mềm Server lại chuyển đổi dữ liệu và các lệnh gửi đến từ dạng NVT thành dạng mà hệ ở xa yêu cầu. Đối với dữ liệu - 19 - trả về, Server chuyển đổi từ dạng của hệ ở xa thành NVT và phần mềm Client lại chuyển từ dạng NVT thành dạng của máy cục bộ. TCP connection across Inernet User’s keyboard & display Client Server Client System format used NVT format used Server’s System Server System format used Hình 6. Sơ đồ kết nối TCP trên Internet 1.2.3.1 Trạm ảo (Network Virtual Terminal-NVT) NVT gồm một màn hình và một bàn phím. Bàn phím thực hiện việc gửi dữ liệu thông qua kết nối Telnet. Màn hình nhận dữ liệu gửi về. Đặc trưng cơ bản của mỗi NVT, nếu nó không bị thay đổi bởi những thoả thuận chung là: - Biểu diễn dữ liệu là tập hợp ký tự ASCII chuẩn 7 bit hoặc là tập hợp ký tự 8 bit. - NVT là một thiết bị xử lý đồng thời. - NVT cung cấp một bộ phận báo hiệu lại (Local echo function). Keyboard Input A Local Echo Remote Echo Output Printer - 20 -
- Xem thêm -