在Ubuntu20.10中搭建TFTP服务器

2023-11-12

TFTP(Trivial File Transfer Protocol)是用来下载远程文件的最简单的网络协议,它基于UDP协议而实现.

一、安装:

sudo apt-get install tftp-hpa tftpd-hpa  

 tftp-hpa 为客户端,tftpd-hpa 为服务端。

二、配置:

修改tftpd-hpa相应的配置文件

sudo vi /etc/default/tftpd-hpa

原始的内容如下:

#/etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/svr/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"

修改后:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/svr/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"

说明:

TFTP_USERNAME:tftp帐号,

TFTP_DIRECTORY:tftp根目录,

TFTP_ADDRESS:地址与端口号,

TFTP_OPTIONS:启动参数,(可通过命令 man tftpd,查看各种参数含义)

-l:以standalone/listen模式启动TFTP服务(--listen),不用安装网络守护进程服务程序xinetd。

-c:可上传创建新文件(--create)。默认情况下,TFTP只允许覆盖原有文件,不能创建新文件。

-s:改变TFTP启动的根目录(--secure)。为了安全性和兼容性,使用一些引导rom,很难在请求中包含目录名。

三、修改TFTP根目录():

如果没有则建立TFTP目录 /var/tftp,以供上传和下载。修改目录所有者;设定该目录的权限,一般就将其权限设置为最高,为所有用户组都添加所有权限(读+写+执行=4+2+1=7):

$ sudo chown tftp:tftp /srv/tftp

sudo mkdir  /var/tftp

sudo chmod 777 tftp

四、重启tftpd-hpa服务:

sudo service tftpd-hpa restart

五、查看TFTP服务状态

$ ps aux|grep tftp
root        5070  0.0  0.0   3068   680 ?        Ss   10:59   0:00 /usr/sbin/in.tftpd --listen --user tftp --address :69 --secure --create /var/tftpboot

可以看到, /usr/sbin/in.tftpd已经启动,进程号:5070,以及对应参数

六、使用:

1、linux环境:

xxx@xxx-virtual-machine:~$ tftp 127.0.0.1
tftp> help    
tftp-hpa 5.2
Commands may be abbreviated.  Commands are:

connect 	connect to remote tftp
mode    	set file transfer mode
put     	send file
get     	receive file
quit    	exit tftp
verbose 	toggle verbose mode
trace   	toggle packet tracing
literal 	toggle literal mode, ignore ':' in file name
status  	show current status
binary  	set mode to octet
ascii   	set mode to netascii
rexmt   	set per-packet transmission timeout
timeout 	set total retransmission timeout
?       	print help information
help    	print help information
tftp>  

2、windows环境:

控制面板中,启用TFTP客户端,并在防火墙中放行(C:\Windows\System32\TFTP.EXE)。

C:\Users\Administrator>tftp

向运行 TFTP 服务的远程计算机传入或从该计算机传出文件。

TFTP [-i] host [GET | PUT] source [destination]

  -i              指定二进制映像传输模式(也称为
                  八进制)。在二进制映像模式中,逐字节地
                  移动文件。在传输二进制文件时,
                  使用此模式。
  host            指定本地或远程主机。
  GET             将远程主机上的文件目标传输到
                  本地主机的文件源中。
  PUT             将本地主机上的文件源传输到
                  远程主机上的文件目标。
  source          指定要传输的文件。
  destination     指定要将文件传输到的位置。


C:\Users\Administrator>tftp -i 192.168.1.100 get test.bin  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Ubuntu20.10中搭建TFTP服务器 的相关文章

  • 无法为 Python 3.4 创建工作虚拟环境

    I 安装Python 3 4 2 https docs python org 3 using unix html building python和我的 Linux Mint 17 1 中的 Virtualenv 12 0 5 然后我尝试创建
  • 使用 MongoDB docker 镜像停止虚拟机而不丢失数据

    我已经在 AWS EC2 上的虚拟机中安装了官方的 MongoDB docker 映像 并且数据库上已经有数据 如果我停止虚拟机 以节省过夜费用 我会丢失数据库中包含的所有数据吗 在这些情况下我怎样才能让它持久 有多种选择可以实现此目的 但
  • 使用 sed 将 old-link-url 替换为 new-link-url

    我正在 bash 中编写一个脚本 将 old link url 替换为 new link url 我的问题是 sed 由于斜杠而无法替换 url 如果我只输入一些文字就可以了 my code sed e s old link new lin
  • 变量作为 bash 数组索引?

    bin bash set x array counter 0 array value 1 array 0 0 0 for number in array do array array counter array value array co
  • 如何阅读shell命令的源代码?

    我想阅读编写linux命令的实际源代码 我已经获得了一些使用它们的经验 现在我认为是时候与我的机器进行更深层次的交互了 我在这里找到了一些命令http directory fsf org wiki GNU http directory fs
  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • linux下如何获取昨天和前天?

    我想在变量中获取 sysdate 1 和 sysdate 2 并回显它 我正在使用下面的查询 它将今天的日期作为输出 bin bash tm date Y d m echo tm 如何获取昨天和前天的日期 这是另一种方法 对于昨天来说 da
  • Linux 中的电源管理通知

    在基于 Linux 的系统中 我们可以使用哪些方法 最简单的方法 来获取电源状态更改的通知 例如 当计算机进入睡眠 休眠状态等时 我需要这个主要是为了在睡眠前保留某些状态 当然 在计算机唤醒后恢复该状态 您只需配置即可获得所有这些事件acp
  • 如何通过代理将套接字连接到http服务器?

    最近 我使用 C 语言编写了一个程序 用于连接到本地运行的 HTTP 服务器 从而向该服务器发出请求 这对我来说效果很好 之后 我尝试使用相同的代码连接到网络上的另一台服务器 例如 www google com 但我无法连接并从网络中的代理
  • 具有少量父设备属性的 udev 规则

    我需要复杂且通用的udev规则来确定插入任何 USB 集线器的特定端口的 USB 设备 所以 我必须结合设备树不同层的父属性 我有这个 udevadm info query all name dev ttyUSB0 attribute wa
  • 确保 config.h 包含一次

    我有一个库项目 正在使用 Linux 中的 autotools 套件移植到该项目 我对自动工具很陌生 本周 我已经了解了其操作的基础知识 我有一个关于如何保留内容的问题config h免遭重新定义 我惊讶地发现生成的config h文件也没
  • “grep -q”的意义是什么

    我正在阅读 grep 手册页 并遇到了 q 选项 它告诉 grep 不向标准输出写入任何内容 如果发现任何匹配 即使检测到错误 也立即以零状态退出 我不明白为什么这可能是理想或有用的行为 在一个程序中 其原因似乎是从标准输入读取 处理 写入
  • python:numpy 运行脚本两次

    当我将 numpy 导入到 python 脚本中时 该脚本会执行两次 有人可以告诉我如何阻止这种情况 因为我的脚本中的所有内容都需要两倍的时间 这是一个例子 usr bin python2 from numpy import print t
  • 如何调用位于其他目录的Makefile?

    我正在尝试这样做 我想打电话给 make Makefile存在于其他目录中 abc可以使用位于不同目录中的 shell 脚本的路径 我该怎么做呢 由于 shell 脚本不允许我cd进入Makefile目录并执行make 我怎样才能编写she
  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • 操作系统什么时候清除进程的内存

    进程在某些操作系统上成功或异常终止 操作系统何时决定擦除分配给该进程的内存 数据 代码等 在退出时或当它想为新进程分配内存时 这个清除内存分配过程在所有操作系统 winXP Win7 linux Mac 上都相同吗 据我了解 页表具有该进程
  • 如何用X11复制到剪贴板?

    使用 OS X 上的框架 我可以使用以下命令将 PNG 复制到粘贴板 在 C 中 显然我可以将 NSPasteboard 与 Cocoa 一起使用 include
  • 构建 makefile 依赖/继承树

    如果我解释得不好或者问了一些明显的问题 我很抱歉 但我是 Linux 内核的新手 而且有点深入 我们有一个嵌入式 Linux 系统 它附带一个 文档非常糟糕的 SDK 其中包含数百个文件夹stuff 大多数文件夹包含rules make m
  • 无法安装 WWW::Curl::Easy: SZBALINT/WWW-Curl-4.17.tar.gz : make NO

    我正在尝试在我的 Fedora 26 机器上安装 WWW Curl Easy gcc c I usr include D REENTRANT D GNU SOURCE O2 g pipe Wall Werror format securit
  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC

随机推荐

  • 最详细小白入门Python7-bug和调试

    bug调试工具的使用 打断点 在行号后边点击出现小红点 右键debug进入调试模式 代码执行暂停到断点位置代码执行之前 debugger 查看参数及变量在执行过程中的变化情况 console 查看控制台输出内容 step over 单步执行
  • pytorch图像检索评价指标MAP

    map是图像检索模型的一个评价指标 以图片中第一个计算AP值为例 P的分别是 1 2 3 3 6 4 9 5 10 R值分别是 1 5 2 5 3 5 4 5 1 AP计算结果 1 2 3 3 6 4 9 5 10 5 https blog
  • c语言蝴蝶图案代码,通达信指标公式,临界点蝴蝶图案出现,暴涨趋势出现(附源码)...

    暴涨临界点指标 如上图所示 保障临界点指标专门用于监控起爆买点 当临界点出现后期一定会有上升 一战成名主图 指标源码 DRAWGBK 1 RGB 36 38 40 RGB 24 16 51 0 1 0 VAR1B 100 EMA EMA C
  • UE4中英文语言切换的三种方式(当然也可以多种语言)

    一 用ue4的Localization Dashboard 1 2 3 4 5 最后 必须独立运行游戏才能看到效果 二 使用WidgetSwitcher 1 2 3 4 用一个按钮点击进行Index的修改 就可以完成中英文切换 三 用两个T
  • 2-软件生命周期模型

    软件生命周期模型 软件工程过程 工程项目的PDCA循环 戴明环 美国质量管理专家戴明博士针对工程项目的质量目标 将全面质量管理思想引入工程项目过程 提出了PDCA循环 也称为戴明环 即Plan 规划 Do 执行 Check 检查 Actio
  • PTA9文件操作(python3)

    python程序设计09 文件操作 9 1 从文件中查找最长的单词 20分 请勿修改 20 分 9 2 求文件行数 20 分 9 3 analyze the character distribution of a document 20 分
  • 最大报文段长度——MSS

    1 概念 MSS Maximum Segment Size 最大报文长度 是TCP协议定义的一个选项 MSS选项用于在TCP连接建立时 收发双方协商通信时每一个报文段所能承载的最大数据长度 在以太网环境下 MSS MTU 20字节TCP报头
  • unity按钮点击无响应的处理方法

    在程序中给Button控件添加了点击事件后无反应 可能由于下列原因导致 按钮的interactable false或者enable false 父节点如果有CanvasGroup组件 还必须把CanvasGroup组件上的interacta
  • 【CentOS 7.9】基于VMware虚拟机的详细安装教程

    一 下载CentOS 7 9 镜像文件 Linux版本大家自己选择 目前市面还是7 X版本用的多 这里我就以7 9版本为例进行演示 镜像下载地址 https mirrors tuna tsinghua edu cn centos 7 9 2
  • Ubuntu16.04LTS64位安装64JDK9.0.1

    第一步 去Oracle下载JDK 根据自己的需要选择不同的版本 这里选择的JDK9 0 1 下载地址 http www oracle com technetwork java javase downloads jdk9 downloads
  • yolov8保存结果

    找到predictor py文件加上如下代码 for result in self results path result path split images 1 split 0 boxes result boxes box boxes c
  • oracle 数据库truncate,Oracle中的truncate用法

    语法 TRUNCATE TABLE table 在使用truncate语句 DDL语言 可以删除表中的所有记录 使用truncate语句删除数据时 通常要比使用delete语句快得多 这是因为使用truncate语句删除数据时 不会产生任何
  • Spring中进行事务管理的两种方式

    1 Spring中事务管理的API 事务是指逻辑上要么全部成功 要么全部失败的一组操作 例如用户A给用户B转账 则用户A账户余额减少 用户B账户增加这两个操作就是一组事务 必须全部成功或失败撤回操作 不能出现A账户余额减少 B增加失败的情况
  • gvim 编译选项没支持Python. gvim is not python supported

    windows 安装 vim tux 该版本开启了所有的编译支持选项
  • 软件测试工程师工作总结

    1 为什么要在一个团队中开展软件测试工作 因为没有经过测试的软件很难在发布之前知道该软件的质量 就好比ISO质量认证一样 测试同样也需要质量的保证 这个时候就需要在团队中开展软件测试的工作 在测试的过程发现软件中存在的问题 及时让开发人员得
  • 三维物体追踪笔记(1)-基于边缘的三维物体追踪——理论、公式推导与实现

    1 基于边缘检测的三维跟踪建模 三维物体追踪是已知图像中某个物体在已知一系列空间三维点位置 或者是一个3D 模型面片集 的信息下 将这些点通过一个恰到好处的位姿 R t 进行转换后投影到图像上 问题的求解目标是这个位姿 R t 难点是并不知
  • 华院计算

    郭守敬 1231年 1316年 字若思 河北邢台人 郭守敬出生于金哀宗正大八年 1231年 时为宋朝 960年 1279年 但当年的河北地域属于女真族人管治的金国 他40岁那年 大蒙古国忽必烈 1215年 1294年 打败了西夏和金国 建立
  • 北大igem生物计算机,喜讯|北京大学iGEM团队在国际大赛中取得金牌

    原标题 喜讯 北京大学iGEM团队在国际大赛中取得金牌 美国东部时间2017年11月13日下午 在波士顿Hynes会议中心举办的国际基因工程机器大赛 International Genetically Engineered Machine
  • YOLO 算法系列

    我们分享了YOLO系列的文章 包括前段时间刚刚发布的YOLOv7检测算法 虽然YOLOv7对象检测算法是YOLO最新的模型 且可以支持对象分割 人体姿态检测等 但是最新的YOLO系列检测模型也同步进行了更新 那就是刚刚开源的YOLOv8对象
  • 在Ubuntu20.10中搭建TFTP服务器

    TFTP Trivial File Transfer Protocol 是用来下载远程文件的最简单的网络协议 它基于UDP协议而实现 一 安装 sudo apt get install tftp hpa tftpd hpa tftp hpa