telnet传输文件:telnet登录Linux后通过busybox ftpget获取远程文件
telnet本身不支持文件传输,文件传输一般是通过ftp、scp等协议进行传输,但是有了telnet权限后可以登录设备,登录到设备后一般都支持busybox功能,通过busybox下的ftp进行文件传输。
1、场景
部分Linux设备不提供ssh功能或者直接的ftp功能,无法通过ssh登录或者ftp工具进行文件传输功能,只有尝试使用telnet能够登录,这时如果我们需要和该Linux设备进行交互时可以做这样的尝试。
2、telnet登录
telnet 40.40.40.105
可能需要用户名和密码。
3、busybox ftpget
尝试运行busybox ftpget进行文件获取:
$busybox ftpget
BusyBox v1.19.3 (2014-12-04 23:15:55 CST) multi-call binary.
Usage: ftpget [OPTIONS] HOST [LOCAL_FILE] REMOTE_FILE
Retrieve a remote file via FTP
-c,--continue Continue previous transfer
-v,--verbose Verbose
-u,--username Username
-p,--password Password
-P,--port Port number
可以看到OPTIONS和LOCAL_FILE可以省略,但是一般ftp都需要输入用户名和密码,所以OPTIONS基本都需要执行-u username -p password来输入ftp的用户名和密码,而LOCAL_FILE则可以不用输入,直接使用远程文件名即可。
示例:
ftpget -u root -p 123456 40.40.40.102 go_build_goonvif_server_go_linux
这样如果40.40.40.102的ftp开启并且-u和-p的用户名密码正确的话就会将其用户目录下的
go_build_goonvif_server_go_linux文件传输到该设备的当前目录下,如果需要指定路径则设置路径即可。
4、busybox ftpput
同理,可以通过busybox ftpput将该设备文件put到远端支持ftp的设备。
busybox ftpput
BusyBox v1.19.3 (2014-12-04 23:15:55 CST) multi-call binary.
Usage: ftpput [OPTIONS] HOST [REMOTE_FILE] LOCAL_FILE
Store a local file on a remote machine via FTP
-v,--verbose Verbose
-u,--username Username
-p,--password Password
-P,--port Port number