当前位置: 首页 > article >正文

Linux TFTP 使用

tftp的作用: tftp(Trivial File transfer protocol) 是一种简单的文件传输协议, 它允许在网络上传输文件.

1.安装

tftp-hpa是客户端,作用是从TFTP服务器端上传/下载数据。 tftpd-hpa是服务端,作用是提供TFTP服务,供别人上传/下载数据。

$ sudo apt-get update
$ sudo apt-get install tftpd-hpa tftp-hpa

在文件/etc/default/tftpd-hpa 写入以下内容,注:修改文件时要使用root权限打开。

$ sudo vi /etc/default/tftpd-hpa
​
#/etc/default/tftpd-hpa
TFTP_USENAME="tftp"
TFTP_DIRECTORY="/boot/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"  # "-c"是可以上传文件的参数;"-s"是指定的TFTP服务器的目录;"-l"是在独立运行服务器(听)模式,而不是从inetd运行

#TFTP_OPTIONS="--secure" #打开此项,则只允许下载不能上传

安装完成后,会自动创建 /srv/tftp 目录, 下面新建一个 tftp 目录并修改权限:

$ sudo mkdir -p /boot/tftp
$ sudo chown -R 用户名:用户组名 /boot/tftp  #修改用户组 
$ sudo chmod -R 777 /boot/tftp/

启动tftp 服务:

$ sudo service tftpd-hpa restart

设置tftp开机启动:

$ sudo systemctl enable tftpd-hpa

关闭tftp开机启动:

$ sudo systemctl disable tftp-hpa

检查tftp 服务状态:

$ netstat -a | grep tftp
$ tftp -h
tftp [-4][-6][-v][-l][-m mode] [host [port]] [-c command]

解释: -4 :强制使用 IPv4地址; -6: 强制作用IPv6地址; -v :详细输出命令执行过程; -l : 指定本地文件名; -m mode: 指定传递模式, 支持"netascii", "octet", "mail"三种模式 , 默认netascii ; host 指定远程主机IP和端口, 默认端口69 ; -c: 发送单个命令给远程主机.

2、简略使用

从服务器上下载 a.txt

$ tftp -v -l 服务器地址 -c get 源文件名

$tftp -v -l 192.168.0.109 -c get a.txt

b.txt上传到服务器

$ tftp -v -l 服务器地址 -c put 源文件名

$tftp -v -l 192.168.0.109 -c put a.txt

有时出现错误:

在机器上装上了tftp server,使用tftp中get文件的时候可以下载文件,但是使用put的时候出现错误提示
Error code 0:Permission denied

看看远程文件夹是否拥有写的权限,如果你的/tftpboot里已经存在同名文件,并且没有设置文件夹的改写权限,所以不能被上传,修改相应的权限即可。

3. 命令行使用

连接到本机的服务器: tftp

$ tftp  localhost
tftp> put a.txt   #从服务器上下载 a.txt
tftp> get b.txt  # b.txt上传到服务器
tftp> quit


http://www.kler.cn/a/510929.html

相关文章:

  • Flowable 管理各业务流程:流程设计器 (获取流程模型 XML)、流程部署、启动流程、流程审批、流程挂起和激活、任务分配
  • Output
  • 基于springboot的口腔管理平台
  • HighCharts 交互式图表-01-入门介绍
  • 【脑机接口数据处理】 如何读取Trode 的.rec文件 原始数据?
  • R语言的并发编程
  • 第38天:Web开发-JS应用NodeJS原型链污染文件系统Express模块数据库通讯审计
  • C语言之文本加密程序设计
  • Three.js贴图加载与环境遮蔽贴图强度设置(五)
  • 【Java回顾】Day7 Java IO|分类(传输方式,数据操作)|零拷贝和NIO
  • Linux 创建用户
  • 数据结构——链表和单向链表
  • 02内存结构篇(D2_剖析运行数据区)
  • Java——Stream流的peek方法详解
  • 【opencv】第9章 直方图与匹配
  • 基于.Net Core+Vue的文件加密系统
  • MySQL 可视化工具
  • 31、【OS】【Nuttx】OSTest分析(1):stdio测试(一)
  • MySQL程序之:使用类似URI的字符串或键值对连接到服务器
  • ubuntu24.0安装JDK8-281版本
  • 【游戏设计原理】71 - 兴趣曲线
  • AIGC视频生成明星——Emu Video模型
  • 【AI | pytorch】torch.view_as_complex的使用
  • 线性代数概述
  • 基于 Spring Cloud 、Spring Boot、 OAuth2 的 RBAC 企业快速开发平台
  • JAVA:MyBatis 缓存机制详解的技术指南