1、TFTP协议
简单文件传输协议Trivial File Transfer Protocol (TFTP)是一个基于UDP协议的简单的、低开销的文件传输协议,允许客户端get或者put文件到远程主机上。由于它开销极效,所以TFTP被用于引导计算机,例如没有大容量存储器的路由器。这就是为什么很多路由器都用tftp作为升级的方式。这个协议很有意思,如果感兴趣,请参考如下两个网址:
中文wiki 或者 英文wiki
RFC 1350 THE TFTP PROTOCOL (REVISION 2)
2、Mac下配置和启动TFTP
1)配置
Mac默认自带TFTP。配置文件位置:/System/Library/LaunchDaemons/tftp.plist。
修改配置文件,去掉如下两行:
<key>Disabled</key> <<span>true</span>/>
添加如下配置(可选),就是添加-l选项:
<array>
<<span>string</span>>/usr/libexec/tftpd</<span>string</span>>
<<span>string</span>>-i</<span>string</span>>
<<span>string</span>>-l</<span>string</span>>
<<span>string</span>>/<span>private</span>/tftpboot</<span>string</span>>
</array>
简要说明:
I、-i选项,开启不安全模式。-l选项,使用syslog记录所有请求的日志。关于说明请参考:man tftpd(打开终端,输入这条命令就能看到了)。
II、/private/tftpboot是默认路径,需要改变其读写权限(非常重要),执行命令:
chmod -R <span>777</span> /<span>private</span>/tftpboot
2)启动
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
sudo launchctl start com.apple.tftpd
执行上边两条,如果没有报错,那么说明启动成功。如果想看日志可以使用如下命令:
tail -f /<span>var</span>/log/system.log
得到的日志应该如下:
Mar <span>7</span><span>14</span>:<span>04</span>:<span>02</span> ***.local sudo[<span>589</span>]: *** : TTY=ttys000 ; PWD=/Users<span>/*</span><span>** ; USER=root ; COMMAND=/bin/launchctl load -F /System/Library/LaunchDaemons/tftp.plist</span>
Mar <span>7</span><span>14</span>:<span>04</span>:<span>09</span> ***.local sudo[<span>591</span>]: *** : TTY=ttys000 ; PWD=/Users<span>/*</span><span>** ; 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</span>
这个位置貌似有一条报错,但是不影响使用,如果有高手请指教如何处理。
3)关闭
sudo launchctl unload -F /System/Library/LaunchDaemons/<span>tftp.plist sudo launchctl stop com.apple.tftpd</span>
3、TFTP协议的使用
在启动TFTP服务器后,我们就可以使用TFTP来连接这台服务器,并获取或者提交文件了。下边用命令行来演示:
***:~ ***<span>$ tftp tftp</span>><span> connect localhost tftp</span>><span> status Connected to localhost. Mode: netascii Verbose: off Tracing: off Rexmt</span>-interval: <span>5</span> seconds, Max-timeout: <span>25</span><span> seconds tftp</span>><span> verbose Verbose mode on. tftp</span>> <span>get</span><span>1</span><span>.txt getting </span><span>from</span> localhost:<span>1</span>.txt to <span>1</span><span>.txt [netascii] Received </span><span>9</span> bytes <span>in</span><span>0.0</span> seconds [inf bits/<span>sec] tftp</span>> quit
简单说明:我们通过tftp从tftp服务器上获取1.txt(/private/tftpboot/1.txt)文件。
connect host-name [port] 连接服务器。其他命令请参考: man tftp。
4、使用TFTP给TP-Link固件升级
如果上述步骤都已顺利完成,那么用MAC的TFTP给TP-Link升级都很简单了,只需要到TP-Link官网搜索你的路由器的对应的固件下载,然后将bin文件放到/private/tftpboot目录下,并进入路由器192.168.1.1,然后固件升级,点几下按钮就搞定了。请大家尽情发乎吧。
原文链接:http://www.it165.net/os/html/201503/11922.html
原文:http://www.cnblogs.com/mnstar/p/7610382.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!