macos tftp


原文链接: macos tftp

注意:可能存在服务都正常但是tftp不可用的情况,这时候只需要重启一下电脑就可以了

macOS 启用ftp/telnet/tftp 服务

ftp

sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist

tftp

sudo -s launchctl load -w /System/Library/LaunchDaemons/tftp.plist

telnet

sudo -s launchctl load -w /System/Library/LaunchDaemons/telnet.plist

————————————————
版权声明:本文为CSDN博主「功名半纸」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/force_eagle/article/details/71601072

brew cask install tftpserver 客户端软件

2、Mac下配置和启动TFTP

  1. cp /System/Library/LaunchDaemons/tftp.plist ~/Library/LaunchAgents/tftp.plist`

  2. launchctl load -w ~/Library/LaunchAgents/tftp.plist

  3. /private/tftpboot

-g 表示下载文件 (get)
-p 表示上传文件 (put)
-l 表示本地文件名 (local file)
-r 表示远程主机的文件名 (remote file)
例如,要从远程主机192.168.1.2上下载 embedexpert,则应输入以下命令

开发板下载:

tftp -g -r embedexpert -l uImage 192.168.1.2

tftp -g -r 1.mp3  192.168.151.52   从PC 传到 开发板

开发板上传:

tftp -p -r 1.mp3  192.168.151.52   从开发板 传到 PC

1)配置

Mac默认自带TFTP。配置文件位置:/System/Library/LaunchDaemons/tftp.plist。

mkdir -p ~/Library/LaunchDaemons/ ## 系统启动
`sudo cp /System/Library/LaunchDaemons/tftp.plist ~/Library/LaunchDaemons/tftp.plist`

! 注意:修改系统这个系统文件需要提前开启 csrutil distable 模式,方法就是:重启电脑,按住command+R,然后在终端输入:csrutil distable ,再然后reboot 就可以了,否则提示没权限修改

修改配置文件,

vi ~/Library/LaunchDaemons/tftp.plist

去掉如下两行:

<key>Disabled</key>
<true/></pre>

添加如下配置(可选),就是添加-l选项:

<array>
    <string>/usr/libexec/tftpd</string>
    <string>-i</string>
    <string>-l</string>
    <string>/private/tftpboot</string>
</array>

简要说明:

I、 -i选项,开启不安全模式。-l选项,使用syslog记录所有请求的日志。关于说明请参考:man tftpd(打开终端,输入这条命令就能看到了)。

II、 /private/tftpboot 是默认路径,需要改变其读写权限(非常重要),执行命令:

chmod -R 777 /private/tftpboot

2)启动

sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
sudo launchctl start com.apple.tftpd

执行上边两条,如果没有报错,那么说明启动成功。如果想看日志可以使用如下命令:

tail -f /var/log/system.log

得到的日志应该如下:

Mar  7 14:04:02 ***.local sudo[589]:   *** : TTY=ttys000 ; PWD=/Users/*** ; USER=root ; COMMAND=/bin/launchctl load -F /System/Library/LaunchDaemons/tftp.plist
Mar  7 14:04:09 ***.local sudo[591]:   *** : TTY=ttys000 ; PWD=/Users/*** ; USER=root ; COMMAND=/bin/launchctl start com.apple.tftpd
Mar  7 14:04:09 ***.local tftpd[593]: recvfrom: Resource temporarily unavailable
Mar  7 14:04:09 *** com.apple.xpc.launchd[1] (com.apple.tftpd[593]): Service exited with abnormal code: 1

这个位置貌似有一条报错,但是不影响使用,如果有高手请指教如何处理。

3)关闭

sudo launchctl unload -F /System/Library/LaunchDaemons/tftp.plist
sudo launchctl stop com.apple.tftpd

3、TFTP协议的使用

在启动TFTP服务器后,我们就可以使用TFTP来连接这台服务器,并获取或者提交文件了。下边用命令行来演示:

***:~ ***$ tftp
tftp> connect localhost

tftp> status
    Connected to localhost.
    Mode: netascii Verbose: off Tracing: off
    Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> verbose
    Verbose mode on.
tftp> get 1.txt
    getting from localhost:1.txt to 1.txt [netascii]
    Received 9 bytes in 0.0 seconds [inf bits/sec]
tftp> quit
`