搬瓦工搭建SS教程

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  /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   :: ***.local sudo[]:   *** : TTY=ttys000 ; PWD=/Users/*** ; USER=root ; COMMAND=/bin/launchctl load -F /System/Library/LaunchDaemons/tftp.plist
Mar   :: ***.local sudo[]:   *** : 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:  seconds, Max-timeout:  seconds
tftp> verbose
Verbose mode on.
tftp> .txt
getting .txt to .txt [netascii]
Received  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,然后固件升级,点几下按钮就搞定了。请大家尽情发乎吧。

原文链接:http://www.it165.net/os/html/201503/11922.html

Mac 上自带TFTP Server 软件的使用的更多相关文章

  1. 如何在Mac上安全彻底的卸载软件?

    文章来源:知乎 收录于:风云社区(SCOEE)[提供mac软件下载] 更多专题,可关注小编[磨人的小妖精],查看我的文章,也可上[风云社区 SCOEE],查找和下载相关软件资源. (一)综合类: 新买 ...

  2. 在mac上显示网速的软件——iStat Menus 5:

    在mac上显示网速的软件——iStat Menus 5: https://bjango.com/mac/istatmenus/ 注册码: Email: 982092332@qq.com SN: GAW ...

  3. 在Mac上搭建带ssl协议和域名指向的Apache服务器

    顾名思义,就是要在苹果电脑上搭建 Apache 服务器,并且支持 https 协议,能用指定域名访问(有些开发调试需要注册域名,比如调试微信JS-SDK),当然最好能在手机端进行调试.首先,Mac 系 ...

  4. 如何在Mac上安全彻底的卸载软件?

    Mac如何卸载软件呢?通常我们的做法都是将应用程序图标移动到废纸篓中,这样就算是将mac软件卸载了,但是这样真的将软件卸载干净了吗?当然没有,一个软件并不是只有应用程序包,他还会包含很多的偏好文件等等 ...

  5. Mac 上关于TFTP Server 软件的使用

    软件下载地址 http://ww2.unime.it/flr/tftpserver/ 软件下载后进行安装,打开软件, 如果出现如下图所示情况 然后当你点击蓝色的Fix 按钮时,如果又出现如下提示 这时 ...

  6. 在MAC上如何使用SQL Server

    由于小编在这学期要学习数据库原理这门课程,需要用到SQL Server,然而大家都知道SQL Server目前是只能在Windows上使用,我们在mac电脑上如何使用呢?我们可以借助目前比较火的Doc ...

  7. 在Mac上使用docker+sql server+Navicat

    1. 版本:  2. 安装Kubernetes(并不知道安装这个有什么用) git clone https://github.com/maguowei/k8s-docker-desktop-for-m ...

  8. Mac上自带的Apache介绍

    Mac 自动Apache,无须再安装,默认的Apache地址是: /private/etc/apache2 一. Apache基本操作 1. 启动:sudo apachectl start 2. 查看 ...

  9. Mac 上有哪些值得推荐的软件?冷门小众软件但实用

    确实Mac上有很多小众.冷门,但却是十分实用.值得推荐的工具,小编针对用的比较多的软件,整理了一些,希望有帮助. The Unarchive:解压缩工具 macOS 对于压缩文件的处理不是很好.如果你 ...

随机推荐

  1. 正则表达式 grep文本查询 sed流处理 应用

    一.正则表达: ^:以什么什么开头,^a:以a字符开头 $:以什么什么结尾,b$:以b字符结尾 *:左边字符0-无穷个 +:左边字符1-无穷个 .:代表单字符 ?:前导字符为零个或1个 {n}:左面字 ...

  2. undefined reference to 'pthread_create'问题解决 -- 转

    文章出处:http://blog.csdn.net/llqkk/article/details/2854558 由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个 ...

  3. C语言入门教程-(4)常量和变量

    1.常量和变量的概念 程序执行过程中其值不能发生改变的量叫做常量,其值能发生改变的量叫做变量.常量可以直接使用,而变量则必须先定义后才能使用,否则编译器会报错. 2.常量和变量的命名规范 在介绍常量和 ...

  4. 58、synchronized同步方法

    线程安全问题 先看下面代码出现的问题: 定义一个Task类,里面有一个成员变量和一个有boolean类型参数的方法,方法内部会根据传入参数修改成员变量的值. package com.sutaoyu.T ...

  5. python概念-Socket到底有多骚

    Socket究竟是什么呢? 简单来说Socket就是用来完成客户端与服务器之间的通信 例如浏览器访问网页,例如网络游戏等一切基于客户端服务器来实现的C/S架构程序 Socket是基于互联网OSI七层协 ...

  6. windows 身份登录(vs设置)

    如果您的项目是windows身份严重,前提是我们用域账户登录,不用单独做登录页功能了. 一.如果用IE访问方法: 进入:工具-Internet选项-安全-自定义级别,如下设置即可. 二.如果用Visu ...

  7. erp前端项目总结

    目录 一.项目目录(vue-cli2) 二.开发实践 (一) 权限 (二) 各组件间传递数据 (四) 路由 (七) 组织部门业务员三级联动 (八) 优化性能,手动绑定下拉框数据 (九) 验证 (十) ...

  8. node.js 基础篇

    日志输出方式 node test.js 2>error.log 1>info.log 如果需要日志文件追加 node test.js 2>>error.log 1>> ...

  9. windows 批处理文件调用exe

    @echo offstart "" "C:\Users\Administrator\Desktop\testtaotao\Debug\testtaotao.exe&quo ...

  10. Linux时间子系统之七:定时器的应用--msleep(),hrtimer_nanosleep()【转】

    转自:http://blog.csdn.net/droidphone/article/details/8104433 我们已经在前面几章介绍了低分辨率定时器和高精度定时器的实现原理,内核为了方便其它子 ...