Telnet、ftp详解
目录
一、Telnet 详解
1. 什么是 Telnet?
2. Telnet 的使用方法(以 Linux 为例)
(1)准备工作
(2)远程登录操作
(3)常见问题
二、FTP 详解
1. 什么是 FTP?
2. FTP 的使用方法(以 Linux 为例)
(1)准备工作
(2)文件传输操作
(3)示例:上传和下载文件
(4)常见问题
三、总结
一、Telnet 详解
1. 什么是 Telnet?
Telnet 是一种远程终端协议,全称为 Telecommunication Network
,诞生于早期互联网时代。它允许用户通过网络在本地终端上远程登录到另一台主机(如服务器、路由器),并直接执行命令进行操作,相当于 “远程控制” 目标设备的终端。
核心特点:
- 基于 TCP 协议,默认使用 23 端口 通信。
- 所有数据(包括用户名、密码、命令内容)均以明文形式传输,安全性极低。
- 仅支持字符界面操作,无图形化功能。
2. Telnet 的使用方法(以 Linux 为例)
(1)准备工作
-
目标服务器需安装并启动 Telnet 服务(以 CentOS 为例):
# 安装服务端 yum install -y telnet-server xinetd# 启动服务(xinetd 是 Telnet 的管理服务) systemctl start xinetd systemctl start telnet.socket # 部分系统需要# 设置开机自启 systemctl enable xinetd systemctl enable telnet.socket# 开放 23 端口(防火墙) firewall-cmd --add-port=23/tcp --permanent firewall-cmd --reload#临时关闭SELinux setenforce 0
-
本地主机需安装 Telnet 客户端:
# CentOS/RHEL yum install -y telnet# Ubuntu/Debian apt install -y telnet
(2)远程登录操作
-
连接目标服务器:
在本地终端输入:telnet 目标服务器IP或域名
示例:
telnet 192.168.66.8
(连接 IP 为 192.168.66.8 的服务器)。 -
身份验证:
- 提示
login:
时,输入目标服务器的用户名(如root
或普通用户)。 - 提示
Password:
时,输入对应密码(输入时无显示,输完回车即可)。
- 提示
-
远程操作:
登录成功后,会显示目标服务器的命令提示符(如[root@remote ~]#
),此时可直接执行命令:- 查看文件:
ls /home
- 创建目录:
mkdir test
- 查看系统信息:
uname -a
- 查看文件:
-
退出登录:
输入exit
或logout
即可断开连接:exit
(3)常见问题
- 连接失败提示
Connection refused
:检查目标服务器是否启动 Telnet 服务,或防火墙是否拦截 23 端口。 - 登录失败提示
Login incorrect
:确认用户名密码正确,或目标服务器是否允许该用户通过 Telnet 登录(部分系统默认禁止 root 直接登录)。
二、FTP 详解
1. 什么是 FTP?
FTP 是文件传输协议(File Transfer Protocol)的缩写,专门用于在客户端和服务器之间传输文件(上传、下载),并支持目录管理(如创建、删除目录)、文件重命名等操作。
核心特点:
- 基于 TCP 协议,使用两个连接:
- 控制连接:通过 21 端口传输命令(如登录、上传请求)。
- 数据连接:临时端口传输文件数据(主动模式用 20 端口,被动模式用随机端口)。
- 默认明文传输,安全性低(账号密码和文件内容可被窃听)。
- 支持匿名登录(无需账号密码,权限受限)和用户登录(需系统账号)。
2. FTP 的使用方法(以 Linux 为例)
(1)准备工作
-
目标服务器需安装并配置 FTP 服务(以 vsftpd 为例):
# 安装 vsftpd yum install -y vsftpd配置/etc/vsftpd/vsftpd.conf # 允许本地用户登录(若原文件没有则添加) local_enable=YES # 允许上传 write_enable=YES # 权限掩码 local_umask=022 # 禁止匿名登录 anonymous_enable=NO # 禁锢用户到家目录 chroot_local_user=YES # 允许禁锢目录可写(仅 vsftpd >= 3.0.0 支持) allow_writeable_chroot=YES # 监听IPv4 listen=YES # 关闭IPv6 listen_ipv6=NO # 日志路径 xferlog_file=/var/log/vsftpd.log# 启动服务并设置开机自启 systemctl start vsftpd systemctl enable vsftpd# 开放 21 端口(防火墙) firewall-cmd --add-port=21/tcp --permanent firewall-cmd --reload#临时关闭SELinux setenforce 0
-
本地主机需安装 FTP 客户端:
# CentOS/RHEL yum install -y ftp# Ubuntu/Debian apt install -y ftp
(2)文件传输操作
-
连接 FTP 服务器:
在本地终端输入:ftp 目标服务器IP或域名
示例:
ftp 192.168.10.12
(连接 IP 为 192.168.10.12 的 FTP 服务器)。 -
身份验证:
- 提示
Name (服务器IP:当前用户):
时,输入 FTP 用户名(如zhangsan
;匿名登录输入anonymous
)。 - 提示
Password:
时,输入对应密码(匿名登录直接回车或输入邮箱)。
- 提示
-
FTP 交互模式常用命令:
登录成功后显示ftp>
提示符,可执行以下操作:命令 功能说明 示例 ls
列出远程服务器当前目录的文件 / 目录 ls
cd 目录名
切换远程服务器的目录 cd /var/www/html
lcd 本地目录
切换本地主机的目录(指定上传 / 下载路径) lcd /home/myfiles
get 远程文件
下载远程文件到本地当前目录 get report.txt
put 本地文件
上传本地文件到远程当前目录 put photo.jpg
mget 文件名*
批量下载(支持通配符) mget *.pdf
mput 文件名*
批量上传(支持通配符) mput *.txt
mkdir 目录名
在远程服务器创建目录 mkdir backups
delete 文件名
删除远程服务器的文件 delete old.txt
binary
切换到二进制模式(传输图片 / 压缩包等) binary
pwd
显示远程服务器当前目录路径 pwd
quit
或bye
退出 FTP 连接 quit
(3)示例:上传和下载文件
# 连接服务器
ftp 192.168.10.12# 登录(输入用户名 zhangsan 和密码)
Name (192.168.10.12:root): zhangsan
Password: ********# 切换到二进制模式(传输图片)
ftp> binary# 上传本地文件(本地路径 /home/photo.jpg → 远程当前目录)
ftp> put /home/photo.jpg# 下载远程文件(远程路径 report.pdf → 本地当前目录)
ftp> get report.pdf# 退出
ftp> quit
(4)常见问题
- 连接失败:检查 vsftpd 服务是否启动,防火墙是否开放 21 端口。
- 无法上传:确认
vsftpd.conf
中write_enable=YES
(允许写入),且远程目录权限正确(如chmod 775 /var/www/html
)。 - 文件损坏:传输二进制文件时未切换
binary
模式,需先执行binary
命令。
三、总结
协议 | 核心用途 | 端口 | 安全性 | 现代替代方案 |
---|---|---|---|---|
Telnet | 远程终端控制 | 23 | 明文传输(低) | SSH(22 端口,加密) |
FTP | 文件传输 | 21/20 | 明文传输(低) | SFTP/FTPS(加密) |
注意:Telnet 和 FTP 因安全性问题,仅建议在测试环境使用,生产环境需用加密协议替代(如 SSH 替代 Telnet,SFTP 替代 FTP)。