问题标签 [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.
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' 的输出是:
ruby - TFTP数据包示例?
我正在用 Ruby 编写一个 TFTP 服务器,但我不明白一些事情。
首先,我通读了整个 RFC,了解了数据包的 TFTP 部分(2 字节操作码等),但我不知道 TID 的去向。此外,我从未在 Ruby 中以字节级别做过任何事情。我不知道如何创建一个 2 个字节的变量,然后是 1 个字节的那个,然后是什么。
如果有人可以向我展示如何在 ruby 中构建读取请求数据包的示例,那就太好了。假设我在客户端,我选择端口#20000(用于我的本地 TID),我想读取/Users/pachun/documents/hello.txt
服务器上命名的文件,该文件现在的 TID 为 69,因为它是第一个请求。我将如何在 Ruby 中构建该数据包?
java - JAVA - Tftp 客户端如何设置块大小
我正在编写一个 tftp 客户端,只要我使用默认块大小(512),它就可以正常工作。但由于这是一项学校作业,我还需要使用 1430 和 4300 的块大小对其进行测试。
当我第一次与服务器通信时,我使用这种方法:
它将设置我要读取的文件名。它工作得很好。
但我已经改变了它,所以我可以定义一个块大小:
这里 BLOCKSIZE = "blksize" (string) 和 blockSize = 1430 (int); 问题是,它不起作用:-/
有人可以向我解释如何定义块大小吗?
感谢你们 :-)
vxworks - VxWorks tftpLib。链接器错误
我尝试为 VxWorks 创建应用程序,它只会使用 tftp 获取文件。但是链接器不知道 tftpInit() 函数是什么。这些是错误示例:
在包含vxcoreip
库(应该实现 tftpInit 的地方)之后,我得到了下一个链接器错误:
请建议如何链接 tftpLib。需要哪些库?
PS 项目类型 - RTP (VxWorks 6.9)。开发环境 - Workbench 3.3
c - 如何从 paquet (tftp) 中读取缓冲区
我目前正在尝试用 C 编写一个 tftp。但是我在读取我发送的数据包时遇到了一些困难。这是我所拥有的:我发送的结构:
发送数据包的功能(服务器端):
由于某种原因 s = 0,我不确定它是否正确。
客户端:
和 create_data 函数:
不幸的是它不起作用,似乎问题来自 strcpy in create_data ,但我不知道为什么。
这是 serverSocket 创建的代码(服务器端)
c - 在 C 中为 TFTP 实现超时
我正在尝试在我的 TFTP 的 c 实现中实现超时机制,我正在寻找一些一般帮助。
我想知道的是如何管理超时情况。我使用的过早超时机制是信号/警报功能,但不知何故我被困在如何处理我的超时,即如果数据包(确认或数据)丢失并且发生超时如何发回前一个数据包或确认服务器。
c - '^M' 字符插入而不是新行
目标: 将文件从客户端传输到服务器。
环境: Linux
问题:
- 在服务器中打开未完全复制的文件时,在换行的位置似乎有一个“^M”字符。
c - 基于 UDP 的 TFTP:检查服务器/客户端目录的写入权限
我已经在 C 中的 UDP 之上实现了一个 TFTP,我试图弄清楚如何检查将要进行传输的目录的读/写权限。对于文件的存在和文件不存在的情况我已经使用了F_OK的access(),但是W_OK和R_OK在尝试检查目录权限时似乎很麻烦,我查看了stat(),但未能正确实施。关于目录而不是文件的 stat() 或 access() 的替代方案或正确实现的任何想法。
ssh - 存储来自 Netgear N150 WGR614 的日志
尝试从 Netgear N150 WGR614 获取有关客户端活动的日志,但即使在使用此脚本启用 telnet 之后,我也无法做到这一点。任何人都知道哪个变体支持 SSH/TFTP/Telnet,这样我就可以像 linux 机器(有些有busybox)一样访问它并存储日志。
java - 从同一台机器上的同一端口发送数据和 ACK
我正在Java中实现TFTP(普通 FTP)协议。我有一个客户端和一个服务器,到目前为止,客户端可以请求一个文件,然后服务器向他发送该数据。
这是我遇到问题的地方 - 出于明显的测试原因,我在我的机器上同时运行客户端和服务器。但是,发送文件时,必须有两个套接字在同一个端口上侦听:
- 客户端需要监听接收到的数据包
- 服务器需要监听客户端的确认
...以及用于发送数据和确认的两个各自的套接字,也共享一个端口。
这通常发生在同一个端口上,但在不同的机器上。有没有办法解决这个问题,让客户端和服务器在同一台主机上和平地工作,没有任何丑陋的黑客攻击?通过丑陋的黑客,我的意思是:
- ACK 通信端口的预定义偏移量(例如数据端口上的 +15;这是我现在正在使用的。它有点工作,但感觉不对并且容易出错)
反复关闭和打开套接字(发送数据,关闭用于发送数据的套接字,以便客户端可以使用该端口发送他的 ACK 等);这目前也有效,但也可以通过黑客攻击。例如,这是我如何“重新打开”用于发送内容的套接字:
/li>
这是邪恶的。我的套接字最初接收动态分配的临时端口号。然后我记住该值并使用它将我的套接字“恢复”到旧端口。但是,不能保证该端口仍然可用。通常是这样,但不能保证。在这种情况下,我是否过于偏执?
- 在握手中生成新的 ACK 通信端口,并在附加步骤中通过控制端口 (69) 将其发送给客户端
更新:
我设法解决了我的问题。我的问题是我没有尝试重用我的套接字。例如,我从端口 X 上的套接字发送了一些东西,但随后尝试在该端口上分配一个新套接字来监听 ACK,而不是仅仅重用旧套接字。