您好,欢迎访问这里是深圳市硕远科技有限公司!
戴尔服务器价格_IBM联想配置_浪潮代理-深圳市硕远科技有限公司
联系我们
戴尔服务器价格_IBM联想配置_浪潮代理-深圳市硕远科技有限公司
邮箱:2324898850@qq.com
电话:400-080-6079
地址:深圳市龙华区河背工业区108创业园A301
当前位置:主页 > 新闻动态 > 行业新闻 >

行业新闻

用bash脚本自动下载ftp服务器文件
发布时间:2021-08-02 12:00浏览次数:

我一直觉得黑客就应该把图形画界面丢弃,这一直是我的坚持,所以我就学写一些脚本,毕竟自己写脚本也有乐趣,还能写写一些文章,挺好玩的。

在internet中最火热的应用就是文件传输,其中最简单的就是FTP(文件传输协议)。在基本层面上,所有的internet交互都是基于文件传输,web浏览器请求HTML文档及其相关的图片文件,聊天服务器来回转发消息,发发邮件,这个都是属于文件传输。

最初的ftp程序仍未消失,尽管界面粗糙,功能强大,值得善加利用。ftp程序还有后继者,特别是fileZilla和NcFTP,加上漂亮的用户界面,用起来更加友好。借助一些shell脚本包装器,ftp在文件上传和下载方面仍旧表现不错。

我写了点bash脚本来从ftp服务器上下载文件,当然是匿名用户登入,文章最后面我会把源码发出来。

用bash脚本自动下载ftp服务器文件

接下来就是拿我们公司的ftp就可以拿来玩玩!之前文章大伙就知道咱公司的ftp的ip为:192.168.1.251

我登入ftp匿名服务器的账户看看上面有啥东西。

用bash脚本自动下载ftp服务器文件

Test是我建的,用来做测试的。

那好,我们开始啦

./ftpget.sh ftp://192.168.1.251/pub/test

用bash脚本自动下载ftp服务器文件

你看吧,下载成功!!!

用bash脚本自动下载ftp服务器文件

我解释一下工作原理

核心部分就是传给ftp程序的一系列命令,这说明了批处理文件的本质:就是将指令传给单独的程序,使得接受程序认为是用户输入的。

我就把源码给到大家。

#!/bin/bash#Date 2019-09-17PATH=/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATH hostname=192.168.1.251anonpass="$LOGNAME@$(hostname)" if [ $# -ne 1 ] ; then echo "Usage:$0 ftp://..." exit 1fiif [ "$(echo $1 | cut -c1-6)" != "ftp://" ];then echo "$0: Malformed url. I need if to start with ftp://" >&2 exit 1fi server="$(echo $1 | cut -d/ -f3)"filename="$(echo $1 | cut -d/ -f4-)"basefile="$(basename $filename)"echo ${0}:Downloadin $basefile from server $server ftp -np << EOFopen $serveruser ftp $anonpassget "$filename" "$basefile"quitEOF if [ $? -eq 0 ];then ls -l $basefilefi exit 0

在最后,我提一提最厉害的黑客肯定是只打命令的,还有自己写的脚本,还可以自己写工具,大伙真的对linux有兴趣,可以私信加群讨论,我们一直是专心研究技术的。

400-080-6079