一、安装tftp所需的软件

wyj@wyj-virtual-machine:~$ dpkg -l | grep tftp
wyj@wyj-virtual-machine:~$ 
wyj@wyj-virtual-machine:~$ sudo  apt-get  install tftp-hpa  tftpd-hpa  xinetd    
wyj@wyj-virtual-machine:~$ dpkg -l | grep tftp
ii  tftp-hpa                                              5.2-7ubuntu3.1                                      amd64        HPA's tftp client
ii  tftpd-hpa                                             5.2-7ubuntu3.1                                      amd64        HPA's tftp server

# tftp-hpa是客户端,tftpd-hpa是服务程序。
 

二、配置TFTP服务器

wyj@wyj-virtual-machine:~$ sudo cp /etc/default/tftpd-hpa /etc/default/tftpd-hpa_backup   //备份配置文件
wyj@wyj-virtual-machine:~$ sudo vim /etc/default/tftpd-hpa     //修改配置文件

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/wyj/server/tftp/tftpboot"     #将/tftpboot改成你自己建立的tftpboot文件夹路径
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"          #-c是可以上传文件的参数,如果不用-c,会发生无法使用put命令的情况,-s是指定tftpd-hpa服务目录

#cd到/etc/xinetd.d/看有没有tftp文件没有就新建一个

wyj@wyj-virtual-machine:~$ cd /etc/xinetd.d/
wyj@wyj-virtual-machine:/etc/xinetd.d$ ls
chargen  daytime  discard  echo  time
wyj@wyj-virtual-machine:/etc/xinetd.d$ sudo vim tftp

service tftp

{

disable = no

socket_type = dgram

protocol = udp

wait = yes

user = wyj    #修改为你登录系统的用户名

server = /usr/sbin/in.tftpd

server_args = -s /home/wyj/server/tftp/tftpboot -c   # /tftpboot为你存放TFTP的文件目录,我使用的是/home/wyj/server/tftp/tftpboot这个路径

per_source = 11

cps = 100 2

}

# server_args  =  -s  /tftpboot  –c 

     -c参数是允许上传用的,参数/tftpboot则是你的tftp目录,修改成你的目录即可。
第一个是disabled选项,如果是yes,TFTP服务器是关闭的,修改为no启动TFTP服务器;

三、重启tftp服务(每次修改配置文件后都要重启)

wyj@wyj-virtual-machine:/etc/xinetd.d$ sudo  service  tftpd-hpa  restart     //重启服务器
tftpd-hpa stop/waiting
tftpd-hpa start/running, process 8150
wyj@wyj-virtual-machine:/etc/xinetd.d$ sudo /etc/init.d/xinetd  reload
wyj@wyj-virtual-machine:/etc/xinetd.d$ sudo  /etc/init.d/xinetd  restart    //重启xinetd,tftp的一个脚本
xinetd stop/waiting
xinetd start/running, process 8175

四、测试

看Linux系统与window系统能否相互Ping通
wyj@wyj-virtual-machine:/$ ping 192.168.1.102         ping
PING 192.168.1.102 (192.168.1.102) 56(84) bytes of data.
64 bytes from 192.168.1.102: icmp_seq=1 ttl=128 time=4.97 ms
64 bytes from 192.168.1.102: icmp_seq=2 ttl=128 time=5.03 ms
64 bytes from 192.168.1.102: icmp_seq=3 ttl=128 time=5.23 ms
64 bytes from 192.168.1.102: icmp_seq=4 ttl=128 time=5.17 ms
64 bytes from 192.168.1.102: icmp_seq=5 ttl=128 time=5.40 ms
64 bytes from 192.168.1.102: icmp_seq=6 ttl=128 time=4.97 ms
64 bytes from 192.168.1.102: icmp_seq=7 ttl=128 time=4.71 ms
^C
--- 192.168.1.102 ping statistics ---

Windows cmd ping Linux
ping 192.168.158.129

正在 Ping 192.168.158.129 具有 32 字节的数据:
来自 192.168.158.129 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.158.129 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.158.129 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.158.129 的回复: 字节=32 时间<1ms TTL=64

192.168.158.129 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 1ms,平均 = 0ms

# 能互相ping通,然后关闭防火墙
1、Ubuntu14.0.4开启

    ufw enable

2、Ubuntu14.0.4关闭

    ufw disable

wyj@wyj-virtual-machine:/$ sudo ufw disable 
[sudo] password for wyj: 
防火墙在系统启动时自动禁用

#测试服务tftp是否启动
执行命令:netstat  -a|grep  tftp;当结果显示 : udp  0 0 *:tftp *:* 则启动tftp服务了。

wyj@wyj-virtual-machine:/$ netstat  -a|grep  tftp
udp        0      0 *:tftp                  *:*

#测试tftp
  1、文件的下载
在/tftpboot目录文件夹路径下新建一个文件:

wyj@wyj-virtual-machine:~/server/tftp/tftpboot$ sudo vim tftp_test.txt
This is tftp test!
wyj@wyj-virtual-machine:~/server/tftp/tftpboot$ sudo chmod 777 tftp_test.txt 
wyj@wyj-virtual-machine:~/server/tftp/tftpboot$ ll
总用量 12
drwxr-xr-x 2 root root 4096  7月 22 16:58 ./
drwxr-xr-x 3 root root 4096  7月 22 16:12 ../
-rwxrwxrwx 1 root root   19  7月 22 16:58 tftp_test.txt*

wyj@wyj-virtual-machine:~/server_test/tftp$ tftp 192.168.158.129
tftp> get tftp_test.txt
tftp: tftp_test.txt: Permission denied
tftp> q

#改了tftp目录权限
wyj@wyj-virtual-machine:~$ sudo chmod 777 -R /home/wyj/server/tftp//tftpboot/      
wyj@wyj-virtual-machine:~/server_test/tftp$ tftp 192.168.158.129
tftp> get tftp_test.txt
tftp: tftp_test.txt: Permission denied         //还是权限问题
tftp> q

#改了另一个路径目录的权限
wyj@wyj-virtual-machine:~$ sudo chmod 777 -R /home/wyj/server_test/tftp/
wyj@wyj-virtual-machine:~$ cd /home/wyj/server_test/tftp/
wyj@wyj-virtual-machine:~/server_test/tftp$ tftp 192.168.158.129
tftp> get tftp_test.txt
tftp> q
wyj@wyj-virtual-machine:~/server_test/tftp$ ls
tftp_test.txt
wyj@wyj-virtual-machine:~/server_test/tftp$ cat tftp_test.txt
This is tftp test!

#tftp服务两个目录的权限要注意!

2、文件的上传

#上传文件到服务器:上传文件时需要注意,在/tftpboot下面要存在一个跟您上传文件名相同的文件,这个文件可以是空文件,但是该文件需要具备可读可写权限,否者会出现 “Errorcode 2: Access violation” 错误。

wyj@wyj-virtual-machine:~/server_test/tftp$ cd /home/wyj/server/tftp/tftpboot/
wyj@wyj-virtual-machine:~/server/tftp/tftpboot$ touch hello.txt
wyj@wyj-virtual-machine:~/server/tftp/tftpboot$ sudo chmod 777 hello.txt
wyj@wyj-virtual-machine:~/server/tftp/tftpboot$ ls
hello.txt  test.txt
wyj@wyj-virtual-machine:~/server/tftp/tftpboot$ cd /home/wyj/server_test/tftp/
wyj@wyj-virtual-machine:~/server_test/tftp$ sudo vim hello.txt
[sudo] password for wyj: 
hello!
wyj@wyj-virtual-machine:~/server_test/tftp$ sudo chmod 777 hello.txt 
wyj@wyj-virtual-machine:~/server_test/tftp$ tftp 192.168.158.129
tftp> put hello.txt
tftp> q
wyj@wyj-virtual-machine:~/server_test/tftp$ cd /home/wyj/server/tftp/tftpboot/
wyj@wyj-virtual-machine:~/server/tftp/tftpboot$ cat hello.txt 
hello!
#上传文件后,可以看到hello.txt文件里面确实已经有新内容了,也就是说文件进行了覆盖

3、linux与windows利用tftp文件传输

#先在windows下载Tftpd32               Current Directory为当前要上传到ubuntu的文件目录   Server interfaces为winsdows的IP地址

#从windows上下载文件到linux

wyj@wyj-virtual-machine:~/server_test/tftp$ ls

hello.txt  test.txt
wyj@wyj-virtual-machine:~/server_test/tftp$ tftp 192.168.158.129         //tftp后面跟Ubuntu地址
tftp> get 192.168.1.102:hi.txt                                                                  //get后跟windows地址:跟要操作的文件
tftp> q
wyj@wyj-virtual-machine:~/server_test/tftp$ ls
hello.txt  hi.txt  test.txt
wyj@wyj-virtual-machine:~/server_test/tftp$ cat hi.txt
hi

#从linux发送文件到windows
wyj@wyj-virtual-machine:~/server_test/tftp$ sudo vim hey.txt
[sudo] password for wyj: 
hey!
wyj@wyj-virtual-machine:~/server_test/tftp$ tftp 192.168.158.129   
tftp> put 192.168.1.102:hey.txt
tftp> q

TFTP作用:
1、TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
2、TFTP是简单文件传输协议,是用于在远端服务器和本地主机之间传输文件的,相对于FTP,TFTP 没有复杂的交互存取接口和认证控制,适用于客户端和服务器之 间不需要复杂交互的环境。TFTP 协议的运行基于UDP 协议。 TFTP 传输请求是由客户端发起的,当 TFTP 客户端需要从服务器下载文件时,由客户端向TFTP 服务器发送请求包,然后从服 务器接收数据;当 TFTP 客户端需要向服务器上传文件时,由客户端向TFTP 服务器发送写请求包,然后向服务器发送数据。

参考博客:https://www.cnblogs.com/AP0904225/p/6589085.html

Ubuntu14.04 tftp服务配置与测试相关推荐

  1. ubuntu14.10 tftp服务配置20150824

    之前配置过很多次tftp服务了,但每次都会忘了,还得重新百度.所以写个笔记,以后自己查阅方便. TFTP的概念 TFTP(Trivial File Transfer Protocol,简单文件传输协议 ...

  2. Ubuntu14.04 kylin 安装配置Tomcat7服务器

    2019独角兽企业重金招聘Python工程师标准>>> Ubuntu14.04 kylin 安装配置Tomcat7服务器: 放入当前登录用户根目录: ~ 1.依旧是解压 tar –x ...

  3. 嵌入式软件开发培训笔记——ARM架构Linux系统下交叉编译环境搭建、NFS、TFTP服务配置及Nandflash的读写

    bootloader原理和开发-->kernel构建-->文件系统/根文件系统(filesystem/rootfs) APP 一.配置交叉编译环境(可参考嵌入式Linux移植与驱动开发co ...

  4. tftp服务配置的详细过程,简单快速

    主机端编译的Linux内核影像必须有至少一种方式下载到目标板上执行.通常是目标板的引导程序负责把主机端的影像文件下载到内存中.根据不同的连接方式,可以有多种文件传输方式,每一种方式都需要相应的传输软件 ...

  5. Ubuntu14.04环境下配置TFTP服务器

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  6. ubuntu14.04上Trac配置记录

    系统环境:ubuntu14.04 (并假设Apache2服务可以正常运行) 1. 安装软件: sudo aptitude install trac python-mysqldb 2. 创建数据库 Tr ...

  7. linux配置caffe环境,ubuntu14.04环境下配置caffe

    1. 安装build-essentials 安装开发所需要的一些基本包 [html] view plain copy sudo apt-get install build-essential 如果出现 ...

  8. Ubuntu14.04安装和配置Tomcat8.0.12(转)

    Ubuntu14.04长的好看,所以一时间很感兴趣,研究各种软件的安装和开发环境的配置.今天先把安装的tomcat 8.0.12的教程分享给大家.如果你需要,请收藏!!! 工具/原料 系统环境:Ubu ...

  9. Ubuntu14.04 ftp服务安装配置

    一.安装ftp服务 wyj@wyj-virtual-machine:~$ dpkg -l|grep vsftpd            //查看是否安装ftp服务 wyj@wyj-virtual-ma ...

最新文章

  1. CloudCompare二次开发编译篇(内附交流群更新通知)
  2. Java的三大特性之继承
  3. android viewbinding_程序员必懂小技巧之ViewBinding
  4. 常用FTP命令 1. 连接ftp服务器
  5. 在减少对内地房地产投资的同时,加快了在内地零售业的布局;并积极推动“走出去”战略,在全球52个国家投资多种业务。...
  6. mysql 安装服务 w_MySQL的安装与配置
  7. VueSSR高阶指南
  8. 【MySQL】一条查询语句在MySQL内部的执行过程
  9. 数组中相同元素 java_如何在一维数组中查找某重复元素,并输出其位置?用java实现...
  10. Python 竟也可以写网页前端了
  11. 大一大学计算机考试考什么,【大学生计算机基础考题】 计算机基础大一考试题...
  12. 亚洲最佳电影TOP100出炉 你看过几部?
  13. Swift游戏实战-跑酷熊猫 08 产生源源不断的移动平台
  14. js怎么模拟点击网页元素
  15. Delphi 编译的程序在win10中怎样默认以管理员身份运行
  16. 美国市场数据分析初创公司Simon Data获2000万美元融资
  17. 从mysql迁移数据到postgre
  18. 枚举算法5——填数游戏
  19. MATLAB读取Excel标题行特定字符对应数据
  20. 纵观30年5000多部国产电视剧,豆瓣评分最低的演员原来是……

热门文章

  1. 天津科技大学计算机基础,天津科技大学大学计算机基础样卷.doc
  2. SQLAlchemy动态表名
  3. 使用 React 遍历对象
  4. PE文件格式分析-WinHex工具-文件头-32位PE-部分64位PE
  5. vivado报错信息学习过程更新
  6. 【日常】无字幕教学视频中的音频转换成文字
  7. Python3 OpenCV4 计算机视觉学习手册:6~11
  8. 2017年北京站沙龙归来(r11笔记第100天)
  9. sql中的未明确定义列
  10. jQuery 遍历 方法