Khắc phục sự cố máy chủ Linux bằng telnet Telnet vẫn là một công cụ hữu dụng trong tập các công cụ quản trị máy chủ. Chính vì tính chất quan trọng và hữu dụng của nó mà chúng tôi muốn giới thiệu cho các bạn cách test các chức năng cơ bản của máy chủ SMTP, IMAP, HTTP và IRC thông qua telnet. Telnet là một giao thức mạng chạy trên TCP/IP, cho phép máy khách có thể truyền thông với máy chủ từ xa. Trước đây telnet hay được sử dụng để kết nối với máy tính ở xa để thực hiện việc quản trị máy chủ, kiểm tra email và chạy ứng dụng. Ngày nay tuy ssh được mặc định thực hiện công việc này vì một số lý do bảo mật, nhưng telnet vẫn có những ưu việt riêng của nó. Do telnet truyền tải tất cả dữ liệu nên bạn có thể sử dụng nó để mở một TCP session, sau đó truyền thông với máy chủ đang chạy dịch vụ mạng và thực hiện gỡ rối. Tối thiểu, telnet đến một cổng nào đó trên máy tính chủ có thể giúp bạn xác nhận rằng bạn có thể truyền thông máy chủ từ xa và có một dịch vụ đang hoạt động với cổng đó. Một điều quan trọng cần phải nhớ ở đây là telnet không được mã hóa, vì vậy nó có lỗ hổng trước các kiểu tấn công “packet-sniffing” và “man-in- the-middle”. Do đó lời khuyên ở đây là bạn không nên sử dụng nó để truyền tải username và password ngoại trừ các trường hợp test sử dụng tài khoản dùng một lần. SMTP Các máy chủ SMTP hoạt động trên cổng 25 do đó chúng ta có thể sử dụng telnet để truyền thông trực tiếp với chúng qua lệnh sau: telnet smtp.example.com 25 Lưu ý rằng bạn sẽ không nhận được bất cứ nhắc nhở gì mà thay vào đó là một vài dòng đầu ra, sau đó là một dòng trống đợi khởi tạo kết nối. Đánh: EHLO example.com để đăng ký trên máy chủ tên miền example.com. EHLO sẽ khởi tạo kết nối với máy chủ từ xa, cung cấp tên của host, chỉ định host muốn sử dụng giao thức SMTP mở rộng (để sử dụng giao thức SMTP thông thường, sử dụng HELO). Bạn có thể tham khảo thêm tại đây để biết thêm các lệnh máy chủ SMTP. Lúc này kết nối được thiết lập và bạn có thể thực hiện gửi email trực tiếp. MAIL From: RCPT To: DATA Tại đây, bạn có thể đánh vào một tin nhắn. Sau khi viết xong tin nhắn, nhấn return, đánh . và nhấn return lần nữa để gửi tin. Đánh QUIT để thoát khỏi session. Đây có thể là một cách hữu dụng để kiểm tra những gì đang xảy ra với máy chủ SMTP của bạn. Một số máy chủ SMTP yêu cầu TLS, có nghĩa rằng bạn sẽ không nhận được bất cứ thứ gì khác ngoài việc khởi tạo kết nối. Tuy nhiên tối thiểu ở đây bạn có thể kiểm tra máy chủ và thực hiện các kết nối. IMAP Tương tự như vậy, bạn có thể truyền thông trực tiếp với máy chủ IMAP để tìm ra những gì đang diễn ra ở đây: telnet localhost 143 Khi kết nối được thiết lập, bạn sẽ nhận được các thông tin đầu ra như thể hiện bên dưới: Connected to imap.example.com. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2010 Double Precision, Inc. See COPYING for distribution information. Để đăng nhập, sử dụng cú pháp sau (lưu ý cần có tham số “1” ở đây). 1 LOGIN username password Lưu ý: Mật khẩu này sẽ được truyền tải dưới dạng văn bản trong sáng! Do đó nếu nhất định muốn thực hiện kết nối này, hãy sử dụng các tài khoản dùng một lần. Đây là một số lệnh bạn có thể thử: 1 SELECT Inbox sẽ chọn thư mục Inbox. Tìm kiếm dòng EXISTS của đầu ra để thông báo cho bạn biết có bao nhiêu email ở đây. 4 LIST "" "INBOX" sẽ liệt kê mỗi các mục trong inbox, với các kiểu thông tin khác nhau của mỗi mục, gồm có ngày gửi, dòng chủ đề, cờ được cắm trên mail. 1 LOGOUT sẽ đăng xuất bạn khỏi tài khoản. Máy chủ web và IRC Chúng ta cũng có thể truy cập các máy chủ HTTP thông qua telnet: telnet www.example.com 80 Thử truy cập đến một trang cụ thể: GET /index.html HTTP/1.1 host: www.example.com Lưu ý rằng bạn cần nhấn enter hai lần sau dòng host name, chỉ định cả phiên bản giao thức HTTP lẫn hostname. Nếu trang này tồn tại, bạn sẽ nhận được một số thông tin header, sau đó là một số thông tin nội dung của trang. Nếu nó không tồn tại, bạn sẽ nhận được lỗi “HTTP 404 Not Found” và trang 404 của website. Sử dụng cấu trúc request tương tự để request một trang khác. Nếu bạn muốn trải nghiệm thêm nữa, hãy tìm hiểu thêm các kiến thức tại đây. Hầu hết các máy chủ IRC đều chạy trên cổng 6667 do đó bạn có thể kết nối đến máy chủ này như sau: telnet irc.freenode.net 6667 Cú pháp trên sẽ thực hiện kết nối nhưng bạn cần thiết lập nickname của mình (đánh NICK yournickname) và join các kênh bằng lệnh JOIN #thischannel. Khi đó bạn sẽ nhận được rất nhiều thông tin đầu ra, đây là các thông tin rất hữu dụng nếu bạn muốn cải thiện các máy khách IRC. Ngoài ra bạn cũng có thể test cổng 9 xem máy khách telnet có làm việc hay không. Quá trình thực hiện này sẽ không làm ảnh hưởng đến bất cứ dịch vụ nào khác. Kết luận Hiện Telnet không được thực hiện thường xuyên vì nó là kiểu truyền thông dữ liệu dưới dạng không mã hóa. Mặc dù vậy, đây vẫn là một công cụ khá hữu dụng trong gỡ rối, đặc biệt khi khi thiết lập máy chủ, nó giúp bạn có thể dễ dàng test các kết nối. . Khắc phục sự cố máy chủ Linux bằng telnet Telnet vẫn là một công cụ hữu dụng trong tập các công cụ quản trị máy chủ. Chính vì tính chất quan trọng và. cơ bản của máy chủ SMTP, IMAP, HTTP và IRC thông qua telnet. Telnet là một giao thức mạng chạy trên TCP/IP, cho phép máy khách có thể truyền thông với máy chủ từ xa. Trước đây telnet hay được. ngày gửi, dòng chủ đề, cờ được cắm trên mail. 1 LOGOUT sẽ đăng xuất bạn khỏi tài khoản. Máy chủ web và IRC Chúng ta cũng có thể truy cập các máy chủ HTTP thông qua telnet: telnet www.example.com