I need the correct syntax of tftp to get and put file. My ultimate goal is using busybox tftp (this should be second question), but it failed even trying to test with local Ubuntu tftp client.
As you can see below,
ftp
no issue, only tftp
has issue. And this is loopback ip so shouldn't related to iptables (Again, ftp
no issue). To prevent potential long path issue, I test with only home directory.
xb@dnxb:/tmp$ grep anon_root /etc/vsftpd.conf
anon_root=/home/xiaobai/
xb@dnxb:/tmp$ cat /home/xiaobai/haha
7
xb@dnxb:/tmp$ ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 3.0.3)
Name (127.0.0.1:xiaobai): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> get haha
local: haha remote: haha
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for haha (2 bytes).
226 Transfer complete.
2 bytes received in 0.00 secs (6.5541 kB/s)
ftp> 221 Goodbye.
xb@dnxb:/tmp$ tftp 127.0.0.1
tftp> get haha
Error code 1: File not found
tftp> get /home/xiaobai/haha
Error code 1: File not found
tftp> get /home/xiaobai/haha output
Error code 1: File not found
tftp> put /home/xiaobai/haha
Error code 1: File not found
tftp> put haha
Error code 1: File not found
tftp> xb@dnxb:/tmp$ dpkg-query -W -f='${Description}\n\n${Homepage}\nMaintainer: ${Maintainer}\n\n' tftp
Trivial file transfer protocol client
Tftp is the user interface to the Internet TFTP (Trivial File Transfer
Protocol), which allows users to transfer files to and from a remote machine.
The remote host may be specified on the command line, in which case tftp uses
host as the default host for future transfers.
http://www.hcs.harvard.edu/~dholland/computers/netkit.html
Maintainer: Ubuntu Developers
xb@dnxb:/tmp$
Then I folllow this answer :
xb@dnxb:/tmp$ tftp -v 127.0.0.1 -c get haha
usage: tftp host-name [port]
tftp> xb@dnxb:/tmp$
xb@dnxb:/tmp$ tftp -v 127.0.0.1 -c get /home/xiaobai/haha
usage: tftp host-name [port]
tftp> xb@dnxb:/tmp$
xb@dnxb:/tmp$ tftp -v 127.0.0.1 -c put haha
usage: tftp host-name [port]
tftp> xb@dnxb:/tmp$ tftp -v 127.0.0.1 -c put /home/xiaobai/haha
usage: tftp host-name [port]
tftp> ^F
?Invalid command
tftp> xb@dnxb:/tmp$
xb@dnxb:/tmp$
And also this answer (comment out or not seems not effect, I did do service vsftpd restart
after edited):
xb@dnxb:/tmp$ grep server_args /etc/xinetd.conf
# server_args = -c -s /tftpboot
xb@dnxb:/tmp$
It could better if someone can give answer about busybox tftp which has different option:
# busybox tftp
BusyBox v1.22.1 bionic (2017-11-04 12:54 +0800) multi-call binary.
Usage: tftp [OPTIONS] HOST [PORT]
Transfer a file from/to tftp server
-l FILE Local FILE
-r FILE Remote FILE
-g Get file
-p Put file
Asked by 林果皞
(5546 rep)
Mar 7, 2019, 08:54 PM
Last activity: Mar 8, 2019, 02:08 AM
Last activity: Mar 8, 2019, 02:08 AM