我一直觉得黑客就应该把图形画界面丢弃,这一直是我的坚持,所以我就学写一些脚本,毕竟自己写脚本也有乐趣,还能写写一些文章,挺好玩的。
在internet中最火热的应用就是文件传输,其中最简单的就是FTP(文件传输协议)。在基本层面上,所有的internet交互都是基于文件传输,web浏览器请求html文档及其相关的图片文件,聊天服务器来回转发消息,发发邮件,这个都是属于文件传输。
最初的ftp程序仍未消失,尽管界面粗糙,功能强大,值得善加利用。ftp程序还有后继者,特别是fileZilla和NcFTP,加上漂亮的用户界面,用起来更加友好。借助一些shell脚本包装器,ftp在文件上传和下载方面仍旧表现不错。
我写了点bash脚本来从ftp服务器上下载文件,当然是匿名用户登入,文章最后面我会把源码发出来。
接下来就是拿我们公司的ftp就可以拿来玩玩!之前文章大伙就知道咱公司的ftp的ip为:192.168.1.251
我登入ftp匿名服务器的账户看看上面有啥东西。
Test是我建的,用来做测试的。
那好,我们开始啦
./ftpget.sh ftp://192.168.1.251/pub/test
你看吧,下载成功!!!
我解释一下工作原理
核心部分就是传给ftp程序的一系列命令,这说明了批处理文件的本质:就是将指令传给单独的程序,使得接受程序认为是用户输入的。
我就把源码给到大家。
#!/bin/bash #Date 2019-09-17 PATH=/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH hostname=192.168.1.251 anonpass="$LOGNAME@$(hostname)" if [ $# -ne 1 ] ; then echo "Usage:$0 ftp://..." exit 1 fi if [ "$(echo $1 | cut -c1-6)" != "ftp://" ];then echo "$0: Malformed url. I need if to start with ftp://" >&2 exit 1 fi server="$(echo $1 | cut -d/ -f3)" filename="$(echo $1 | cut -d/ -f4-)" basefile="$(basename $filename)" echo ${0}:Downloadin $basefile from server $server ftp -np << EOF open $server user ftp $anonpass get "$filename" "$basefile" quit EOF if [ $? -eq 0 ];then ls -l $basefile fi exit 0
在最后,我提一提最厉害的黑客肯定是只打命令的,还有自己写的脚本,还可以自己写工具,大伙真的对linux有兴趣,可以私信加群讨论,我们一直是专心研究技术的。