zoukankan      html  css  js  c++  java
  • Mac上TFTP服务器的配置和为TP-Link升级固件

    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>
    <true/>
    添加如下配置(可选),就是添加-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
    简单说明:我们通过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,然后固件升级,点几下按钮就搞定了。请大家尽情发乎吧。


    ---------------------
    作者:ForeverNull
    来源:CSDN
    原文:https://blog.csdn.net/forevernull/article/details/44115751
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    谈谈关于MVP模式中V-P交互问题
    Delphi MVC模 2
    Delphi MVC模式 1
    Java长整除问题
    Java中Scanner类的简单用法
    Java中throw和throws的区别
    Java必须掌握的运算符
    Java编程多重循环
    Java实现三种简单的排序
    使用Java向properties存数据
  • 原文地址:https://www.cnblogs.com/lin-yue/p/11113351.html
Copyright © 2011-2022 走看看