Các cách khắc phục
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.









