问题标签 [tftp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9933 浏览

embedded-linux - PHY未连接!MAC:MII 初始化期间出错

我正在尝试使用“TFTP”服务器和“U-boot”菜单将“rfsNV.gz”和“uImageNV”下载到 ARM 板上。我正在使用由deramCatcher开发的板,Windows 7 上带有“tftp32.exe”的 tftp 服务器、超级终端、跨以太网电缆和 USB 串行电缆。我使用超级终端连接到开发板并最终进入 U-boot 菜单。我将服务器 ip 设置为 192.168.0.123,目标板 ip 设置为 192.168.0.1。然后我启动“tftp32.exe”来设置 TFTP 服务器并在超级终端上写入

但超级终端回应

这是否意味着我没有正确设置以太网连接?我的本地连接显示 No network access like this figure。但是板上的以太网连接 LED 指示电缆已连接。我对嵌入式 Linux 完全陌生,不知道为什么我不能下载板上的文件。谁能弄清楚出了什么问题?

U-boot启动时控制台显示

'mii info' 的输出是:

0 投票
1 回答
752 浏览

ruby - TFTP数据包示例?

我正在用 Ruby 编写一个 TFTP 服务器,但我不明白一些事情。

首先,我通读了整个 RFC,了解了数据包的 TFTP 部分(2 字节操作码等),但我不知道 TID 的去向。此外,我从未在 Ruby 中以字节级别做过任何事情。我不知道如何创建一个 2 个字节的变量,然后是 1 个字节的那个,然后是什么。

如果有人可以向我展示如何在 ruby​​ 中构建读取请求数据包的示例,那就太好了。假设我在客户端,我选择端口#20000(用于我的本地 TID),我想读取/Users/pachun/documents/hello.txt服务器上命名的文件,该文件现在的 TID 为 69,因为它是第一个请求。我将如何在 Ruby 中构建该数据包?

0 投票
2 回答
1103 浏览

java - JAVA - Tftp 客户端如何设置块大小

我正在编写一个 tftp 客户端,只要我使用默认块大小(512),它就可以正常工作。但由于这是一项学校作业,我还需要使用 1430 和 4300 的块大小对其进行测试。

当我第一次与服务器通信时,我使用这种方法:

它将设置我要读取的文件名。它工作得很好。

但我已经改变了它,所以我可以定义一个块大小:

这里 BLOCKSIZE = "blksize" (string) 和 blockSize = 1430 (int); 问题是,它不起作用:-/

有人可以向我解释如何定义块大小吗?

感谢你们 :-)

0 投票
1 回答
658 浏览

vxworks - VxWorks tftpLib。链接器错误

我尝试为 VxWorks 创建应用程序,它只会使用 tftp 获取文件。但是链接器不知道 tftpInit() 函数是什么。这些是错误示例:

在包含vxcoreip库(应该实现 tftpInit 的地方)之后,我得到了下一个链接器错误:

请建议如何链接 tftpLib。需要哪些库?

PS 项目类型 - RTP (VxWorks 6.9)。开发环境 - Workbench 3.3

0 投票
1 回答
268 浏览

c - 如何从 paquet (tftp) 中读取缓冲区

我目前正在尝试用 C 编写一个 tftp。但是我在读取我发送的数据包时遇到了一些困难。这是我所拥有的:我发送的结构:

发送数据包的功能(服务器端):

由于某种原因 s = 0,我不确定它是否正确。

客户端:

和 create_data 函数:

不幸的是它不起作用,似乎问题来自 strcpy in create_data ,但我不知道为什么。

这是 serverSocket 创建的代码(服务器端)

0 投票
1 回答
1986 浏览

c - 在 C 中为 TFTP 实现超时

我正在尝试在我的 TFTP 的 c 实现中实现超时机制,我正在寻找一些一般帮助。

我想知道的是如何管理超时情况。我使用的过早超时机制是信号/警报功能,但不知何故我被困在如何处理我的超时,即如果数据包(确认或数据)丢失并且发生超时如何发回前一个数据包或确认服务器。

0 投票
2 回答
163 浏览

c - '^M' 字符插入而不是新行

目标: 将文件从客户端传输到服务器。

环境: Linux

问题:

  1. 在服务器中打开未完全复制的文件时,在换行的位置似乎有一个“^M”字符。
0 投票
1 回答
346 浏览

c - 基于 UDP 的 TFTP:检查服务器/客户端目录的写入权限

我已经在 C 中的 UDP 之上实现了一个 TFTP,我试图弄清楚如何检查将要进行传输的目录的读/写权限。对于文件的存在和文件不存在的情况我已经使用了F_OK的access(),但是W_OK和R_OK在尝试检查目录权限时似乎很麻烦,我查看了stat(),但未能正确实施。关于目录而不是文件的 stat() 或 access() 的替代方案或正确实现的任何想法。

0 投票
0 回答
299 浏览

ssh - 存储来自 Netgear N150 WGR614 的日志

尝试从 Netgear N150 WGR614 获取有关客户端活动的日志,但即使在使用此脚本启用 telnet 之后,我也无法做到这一点。任何人都知道哪个变体支持 SSH/TFTP/Telnet,这样我就可以像 linux 机器(有些有busybox)一样访问它并存储日志。

0 投票
1 回答
283 浏览

java - 从同一台机器上的同一端口发送数据和 ACK

我正在Java中实现TFTP(普通 FTP)协议。我有一个客户端和一个服务器,到目前为止,客户端可以请求一个文件,然后服务器向他发送该数据。

这是我遇到问题的地方 - 出于明显的测试原因,我在我的机器上同时运行客户端和服务器。但是,发送文件时,必须有两个套接字在同一个端口上侦听:

  • 客户端需要监听接收到的数据包
  • 服务器需要监听客户端的确认

...以及用于发送数据和确认的两个各自的套接字,也共享一个端口。

这通常发生在同一个端口上,但在不同的机器上。有没有办法解决这个问题,让客户端和服务器在同一台主机上和平地工作,没有任何丑陋的黑客攻击?通过丑陋的黑客,我的意思是:

  • ACK 通信端口的预定义偏移量(例如数据端口上的 +15;这是我现在正在使用的。它有点工作,但感觉不对并且容易出错)
  • 反复关闭和​​打开套接字(发送数据,关闭用于发送数据的套接字,以便客户端可以使用该端口发送他的 ACK 等);这目前也有效,但也可以通过黑客攻击。例如,这是我如何“重新打开”用于发送内容的套接字:

    /li>

这是邪恶的。我的套接字最初接收动态分配的临时端口号。然后我记住该值并使用它将我的套接字“恢复”到旧端口。但是,不能保证该端口仍然可用。通常是这样,但不能保证。在这种情况下,我是否过于偏执?

  • 在握手中生成新的 ACK 通信端口,并在附加步骤中通过控制端口 (69) 将其发送给客户端

更新:

我设法解决了我的问题。我的问题是我没有尝试重用我的套接字。例如,我从端口 X 上的套接字发送了一些东西,但随后尝试在该端口上分配一个新套接字来监听 ACK,而不是仅仅重用旧套接字。