linux常用命令(50):tftp 命令

tftp命令

    tftp命令用于本机和tftp服务器之间使用TFTP协议传输文件

   TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。

语法

tftp(选项)(参数)    

选项

-c:指定与tftp服务器连接成功后,立即要执行的指令;  
-m:指定文件传输模式。可以是ASCII或者Binary; 
-v:显示指令详细执行过程; 
-V:显示指令版本信息。

参数


主机:指定tftp要联机的tftp服务器的ip地址或主机名。

常用范例

   

一、安装相关安装包

tftpd(服务端),tftp(客户端)

sudo apt-get install tftp-hpa tftpd-hpa

安装xinetd

sudo apt-get install xinetd

二、配置tftp服务器

1、修改 /etc/default/tftpd-hpa

$sudo vim /etc/default/tftpd-hpa

 将内容修改成:

# /etc/default/tftpd-hpa

    TFTP_USERNAME="tftp"

    TFTP_DIRECTORY="/tftpboot"   #tftp服务器的工作目录 

    TFTP_ADDRESS="0.0.0.0:69"

    TFTP_OPTIONS="-l -c -s"

2、修改/etc/xinetd.d/tftp 

    如果/etc/xinetd.d/目录下没有tftp文件,就创建一个。内容为:

复制代码
service tftp
    {
       socket_type = dgram
       wait = yes
       disable = no
       user = root
       protocol = udp
       server = /usr/sbin/in.tftpd
       server_args = -s /tftpboot
    disable = no 
per_source = 11 cps =100 2 flags =IPv4 }
复制代码

 三、创建tftp服务器目录,并更改权限

创建目录

$sudo mkdir /tftpboot

更改权限

$sudu chmod 777 /tftpboot

四、重新启动服务

$sudo service tftpd-hpa restart
$sudo /etc/init.d/xinetd reload
$sudo /etc/init.d/xinetd restart

五、测试

1、在服务器目录新建一个文件download.bin

$cd /tftpboot
$vim test.bin

执行完以上两条指令后,然后对vi编辑器保存,退出。

2、进入一个非/tftpboot的文件夹下,并创建一个文件upload.bin

$sudo mkdir /share
$cd /share
$vim upload.bin

3、进入tftp命令模式

$tftp 192.168.158.130 (本机的ip地址) 或者 $tftp localhost

4、测试从tftp服务器下载文件

$tftp> get download.bin //从tftp服务器下载download.bin
$tftp> quit //退出

查看是否下载成功(实际上执行完第一条命令没有提示信息,就说明已经成功了)

$ls

5、测试从tftp服务器上传文件

$tftp> put upload.bin //从tftp服务器上传upload.bin
$tftp> quit //退出

查看是否上传成功(实际上执行完第一条命令没有提示信息,就说明已经成功了)

$cd /tftpboot
$ls

 

后记

   

1.众多资料都说,实现tftp文件传输需要将linux系统的防火墙关闭,关闭命令:

# ufw disable
或者--启动tftp服务器并关闭防火墙
/etc/init.d/iptables stop        
//关闭防火墙 sudo /sbin/service xinetd start
 
     
或 service xinetd restart 
  /etc/init.d/xinetd start
 

2.查看tftp服务是否开启 

 netstat -a | grep tftp 
     
 
    
显示结果为udp 0 0 *:tftp *:*表明服务已经开启,就表明tftp配置成功了。


3.如果老是出现“AVC Denial, click icon to view”的错误,并不能传输文件

 
     需要作如下修改  修改/etc/sysconfig/selinux,将SELINUX设定为disable,使用命令setenforce 0让selinux配置文件生效。 
    

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值