精华内容
下载资源
问答
  • Shell脚本FTP获取远程主机文件的操作

    千次阅读 2016-09-13 09:49:09
    shell 定时取文件脚本,可以修改成各种取数,或者校验脚本

    虽然shell脚本比较复杂,但是好处是在Linux系统中调用方便,能做的工作不多,但对于精简代码很有帮助,以下是以前工作中的一个FTP获取文件的脚本,该脚本的思路不错,很多文件移动,备份,数据处理工作均可以通过这个脚本进行改良,调用简单,自动维护脚本必备大笑

    #! /bin/sh
    boss_host_ip=远程主机IP
    boss_userid=用户名
    boss_password=密码
    boss_remote_dir=/data1/asiainfo/interface/dq_data/ #远程主机路径
    local_dir=/imdata/metaone/interface/report/ #本机路径
    begin_file=begin.txt 
    #校验当前是否存在相同文件,并按日期归档
    echo "`date +%Y%m%d` `date +%H`:`date +%M`:`date +%S` ----Program  start!" >> $local_dir/getReport.log
    if [ ! -f $local_dir/$begin_file ]
    then
    touch $local_dir/$begin_file
    echo "`date +%Y%m%d`" > $local_dir/begin.txt
    chmod 777 $local_dir/begin.txt
    mdate=`awk '{print $1}' $local_dir/$begin_file`
    echo "begin.txt=$mdate" >> $local_dir/getReport.log
    #创建当前日志文件夹
    if [ ! -d $local_dir/$mdate ]
    then
    mkdir $local_dir/$mdate
    chmod 777 $local_dir/$mdate
    echo "`date +%Y%m%d` `date +%H`:`date +%M`:`date +%S` --file creat over!" >> $local_dir/getReport.log
    else
    echo "File is exist!" >> $local_dir/getReport.log
    fi
    #连接远程服务器,并取文件到本地
    ftp -n $boss_host_ip <<endl
    user $boss_userid  $boss_password
    prompt
    cd $boss_remote_dir/report/
    lcd $local_dir/$mdate
    mget *$mdate*.rpt
    mdelete *$mdate*.rpt
    bye
    endl
    #校验文件数量是否正确
    cd $local_dir/$mdate
    datcnt=`ls *$mdate*.rpt|wc | awk '{print $1}'`
    rptcnt=20 #要求的文件数量
    if [ $datcnt -ge $rptcnt ]
    then
    cat *$mdate*.rpt > $local_dir/check.txt
    fi
    fi
    mv $local_dir/$begin_file $local_dir/over.txt
    echo "`date +%Y%m%d` `date +%H`:`date +%M`:`date +%S` Program success!" >> $local_dir/getReport.log
    创建完成后可以通过crontab -e 定时执行当前脚本取远程目录

    例如将脚本保存到/home/oracle/getfile.sh 调用一下命令即可完成。

    crontab -e
    #每天10点取文件
    * 10 *  *  * /home/oracle/getfile.sh >> /home/oracle/getfile.log




    展开全文
  • * @param remoteFilepath 远程文件地址,该参数需以IP打头,如'192.168.8.2/aa/bb.java'或者'192.168.8.2/aa/',如'192.168.8.2/aa'是不对的 * @param localDirectory 本地存储目录,该参数需以'/'结尾,如'D:/'或者'D:/...

    1.使用jar包:jcifs-1.3.19.jar 

    2.示例代码

    package util;
    
    import jcifs.smb.SmbFile;
    import jcifs.smb.SmbFileInputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class FileUtil {
        public static void main(String[] args){
            try {
                FileUtil.getRemoteFile("administrator","ABCabc123","192.168.1.56/wl_test/sny/","modelFile/");
            } catch (Exception e) {
                System.out.println(e);
                e.printStackTrace();
            }
        }
    
    /**文件
    * @param remoteUsername 远程目录访问用户名
    * @param remotePassword 远程目录访问密码
    * @param remoteFilepath 远程文件地址,该参数需以IP打头,如'192.168.8.2/aa/bb.java'或者'192.168.8.2/aa/',如'192.168.8.2/aa'是不对的
    * @param localDirectory 本地存储目录,该参数需以'/'结尾,如'D:/'或者'D:/mylocal/'
    * @return boolean 是否获取成功
    * @throws Exception
    */
        public static boolean getRemoteFile(String remoteUsername, String remotePassword, String remoteFilepath,
                                            String localDirectory) throws Exception {
            boolean isSuccess = Boolean.FALSE;
            if (remoteFilepath.startsWith("/") || remoteFilepath.startsWith("\\")) {
                return isSuccess;
            }
            if (!(localDirectory.endsWith("/") || localDirectory.endsWith("\\"))) {
                return isSuccess;
            }
            SmbFile smbFile = null;
            if (remoteUsername != null && remotePassword != null && !remoteUsername.equals("") && !remotePassword.equals("")) {
                smbFile = new SmbFile("smb://" + remoteUsername + ":" + remotePassword + "@" + remoteFilepath);
                System.out.println("smb://" + remoteUsername + ":" + remotePassword + "@" + remoteFilepath);
            } else {
                smbFile = new SmbFile("smb://" + remoteFilepath);
                System.out.println("smb://" + remoteFilepath);
            }
    
            if (smbFile != null) {
                //时间最近的文件
                SmbFile lastFile = null;
                //根据业务逻辑:如果是文件夹,则取其中创建时间最新的一个文件
                if (smbFile.isDirectory()) {
                    for (SmbFile file : smbFile.listFiles()) {
                        lastFile = file;
                        if(lastFile != null){
                            if(file.createTime() < lastFile.createTime()){
                                lastFile = file;
                            }
                        }
                    }
                } else if (smbFile.isFile()) {
                    lastFile = smbFile;
                }
                if(lastFile != null){
                    isSuccess = copyRemoteFile(lastFile, localDirectory);
                }
            }
            return isSuccess;
        }
    
            /**
             * 拷贝远程文件到本地目录
             * @param smbFile 远程SmbFile
             * @param localDirectory 本地存储目录,本地目录不存在时会自动创建,本地目录存在时可自行选择是否清空该目录下的文件,默认为不清空
             * @return boolean 是否拷贝成功
             */
            public static boolean copyRemoteFile(SmbFile smbFile, String localDirectory){
                SmbFileInputStream in = null;
                FileOutputStream out = null;
                try {
                    File[] localFiles = new File(localDirectory).listFiles();
                    if (null == localFiles) {
                        // 目录不存在的话,就创建目录
                        new File(localDirectory).mkdirs();
                    }
                    in = new SmbFileInputStream(smbFile);
                    out = new FileOutputStream(localDirectory + smbFile.getName());
                    byte[] buffer = new byte[1024];
                    int len = -1;
                    while ((len = in.read(buffer)) != -1) {
                        out.write(buffer, 0, len);
                    }
                    out.flush();
                } catch (Exception e) {
                    System.out.println("拷贝远程文件到本地目录失败");
                    return false;
                } finally {
                    if (null != out) {
                        try {
                            out.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                    if (null != in) {
                        try {
                            in.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }
                return true;
            }
    }
    

     

    展开全文
  • 简单记录下获取远程主机RDP凭据。 Windows保存RDP凭据的目录是: C:\Users\用户名\AppData\Local\Microsoft\Credentials 可通过命令行获取,执行: cmdkey /list或powerpick Get-ChildItem C:\Users\rasta_...

    简单记录下获取远程主机RDP凭据。

     

    Windows保存RDP凭据的目录是:

    C:\Users\用户名\AppData\Local\Microsoft\Credentials

    可通过命令行获取,执行:

    cmdkey /list或powerpick Get-ChildItem C:\Users\rasta_mouse\AppData\Local\Microsoft\Credentials\ -Force

    注意:cmdkey /list命令务必在Session会话下执行,system下执行无结果。

    使用cobalt strike中的mimikatz可以获取一部分接下来要用到的masterkey和pbData

    mimikatz dpapi::cred /in:C:\Users\USERNAME\AppData\Local\Microsoft\Credentials\SESSIONID

    输出应类似

    **BLOB**
      dwVersion : 00000001 - 1
      guidProvider : {df9d8cd0-1501-11d1-8c7a-00c04fc297eb}
      dwMasterKeyVersion : 00000001 - 1
      guidMasterKey : {0785cf41-0f53-4be7-bc8b-6cb33b4bb102}
      dwFlags : 20000000 - 536870912 (system ; )
      dwDescriptionLen : 00000012 - 18
      szDescription : 本地凭据数据
    
      algCrypt : 00006610 - 26128 (CALG_AES_256)
      dwAlgCryptLen : 00000100 - 256
      dwSaltLen : 00000020 - 32
      pbSalt : 726d845b8a4eba29875****10659ec2d5e210a48f
      dwHmacKeyLen : 00000000 - 0
      pbHmackKey :
      algHash : 0000800e - 32782 (CALG_SHA_512)
      dwAlgHashLen : 00000200 - 512
      dwHmac2KeyLen : 00000020 - 32
      pbHmack2Key : cda4760ed3fb1c7874****28973f5b5b403fe31f233
      dwDataLen : 000000c0 - 192
      pbData : d268f81c64a3867cd7e96d99578295ea55a47fcaad5f7dd6678989117fc565906cc5a8bfd37137171302b34611ba5****e0b94ae399f9883cf80050f0972693d72b35a9a90918a06d
      dwSignLen : 00000040 - 64
      pbSign : 63239d3169c99fd82404c0e230****37504cfa332bea4dca0655

    需要关注的是guidMasterKey、pbData,pbData是我们要解密的数据,guidMasterKey是解密所需要的密钥。这里LSASS已经在其缓存中存有这个key因此我们可以使用SeDebugPrivilege获取。

    beacon> mimikatz !sekurlsa::dpapi
    mimikatz !sekurlsa::dpapi
    
         [00000001]
         * GUID : {0785cf41-0f53-4be7-bc8b-6cb33b4bb102}
         * Time : 2020/1/3 8:05:02
         * MasterKey : 02b598c2252fa5d8f7fcd***7737644186223f44cb7d958148
         * sha1(key) : 3e6dc57a0fe****a902cfaf617b1322
         [00000002]
         * GUID : {edcb491a-91d7-4d98-a714-8bc60254179f}
         * Time : 2020/1/3 8:05:02
         * MasterKey : c17a4aa87e9848e9f46c8ca81330***79381103f4137d3d97fe202
         * sha1(key) : 5e1b3eb1152d3****6d3d6f90aaeb

    然后将凭据保存到本地,执行

    mimikatz "dpapi::cred /in:C:\Users\USERNAME\Desktop\test\SESSION /masterkey:对应的GUID key"

     

    展开全文
  • 第一步:打开默认设置,输入远程主机或服务器IP地址。(局域网下最好用) 第二步:点击新建文件传输。如系统提示你按着插件,可点击取消。 第三步:通过put以及get命令上传或获取想要的文件,保存地址默认为...

    第一步:打开默认设置,输入远程主机或服务器IP地址。(局域网下最好用)

    第二步:点击新建文件传输。如系统提示你按着插件,可点击取消。

    第三步:通过put以及get命令上传或获取想要的文件,保存地址默认为Documents\NetSarang Computer\6\Xshell\Sessions

    展开全文
  • git获取远程主机分支

    千次阅读 2017-03-14 22:30:36
    git pull取回远程主机某个分支的更新,再与本地的指定分支合并。  用法:git pull 远程主机名> 远程分支名>:本地分支名>  可以不指定本地的指定分支,默认就是当前处于哪个分支 规则:如果希望将远程的...
  • java读取远程主机文件

    千次阅读 2019-01-21 17:28:26
    其中XXXX是远程服务器的ip地址(window)  2.如果测试通过,则会打印这个文件里面的数据  3.只支持window系统,文件需要先分享后才能访问 如果你热衷技术,喜欢交流,欢迎加入我们! 欢迎关注公众号,...
  • 1. 与远程主机建立IPC连接net use \\your_remote_ip\ipc$ &...your_remote_password" /user:"your_remote_user_name"... 复制远程主机文件到本地 copy \\your_remote_ip\C$\Apache2.2\logs\error.lo...
  • Facts是一个非常有用的组件,实现获取远程主机的系统信息,包括主机名、IP地址、操作系统、分区信 息、硬件信息等,可以配合playbook实现更加个性化、灵活的功能需求,比如在httpd.conf模板中引用Facts的主机名信息...
  • 实现:ssh远程执行命令,获取远程主机上的文件信息到本地文件A,ls本地文件获取文件信息到本地文件B;然后对比A和B 基础版: #!/bin/bash ssh baidu@test41 "ls -l --full-time /home/baidu/update/*....
  • win2012从远程主机copy文件

    千次阅读 2017-04-16 20:35:54
    win2012R2是没有图形界面的,今天用到了从远程主机copy文件的操作,现在总结如下: 首先需要确定文件的存放地址,一般是先建立一个目录,命令为:#mkdir *(文件名) 然后是登录文件所在的远程主机,命令为:#net ...
  • 1. 远程机器的条件 远程Windows上必须要装好,并且配置好winrm,这个百度搜都都得到的,如果没有配置好,是不会...2. 你自己主机的条件 pycharm安装pywinrm 3. 代码 import time import schedule as schedule...
  • scp命令获取远程文件

    千次阅读 2017-04-11 20:28:33
    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的,可能会稍微影响一下速度。 一、scp是什么? scp是...
  • PHP获取远程文件的几种方式

    千次阅读 2018-07-26 16:29:00
    layout: post title: "PHP获取远程文件的几种...接上次的内容,今天结合代码来分析下PHP获取远程文件的几种方式。 fopen 获取本地文件 获取到的资源绑定到一个流上面 file_get_centents 获取一些Get获...
  • PYTHON获取远程LINUX主机的一些信息

    千次阅读 2018-05-22 10:36:20
     #获取Linux网络ipv4信息 def get_ifconfig(host,uname,pwd):  client = session(host,uname,pwd)  stdin, stdout, stderr = client.exec_command("ifconfig")  data = stdout.read()  #ret = re.compile('((?:...
  • 最近用户需要需要程序定时去读取另外一台机器的EXCEL文件,我出了个解决方案:因为是windows服务器,所以我在本地映射了一个盘Z然后就想读取本机的文件那样读取,结果临到上生产的时候发现只要服务器休眠后映射就会...
  • SFTPClient已经写好,要怎么只取出文件名中包含日期的文件(日期偏移量:1),求助
  • 操作远程windows主机上的文件

    千次阅读 2014-04-22 10:17:36
    1.首先建立与远程主机的IPC连接 什么是IPC连接:IPC$(Internet Process Connection)是共享"命名管道"的资源, 它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令, 连接双方可以建立安全的...
  • /bin/bash localtime=`date "+%Y-%m-%d_%H:%M:%S"` logfile=logs/${localtime}.txt if [ "$(ls -A logs)" ] then echo "-------start time:$localtime-------" rm -rf logs/* fi # 获取信息,--verbose将执行回显...
  • Python黑帽第一篇文章将分享获取Windows主机信息,利用注册表获取主机名及USB历史痕迹、回收站文件等,这些知识广泛应用于电子取证、Web渗透和攻击溯源领域,其中USB获取是亮点。希望这篇基础文章对您有所帮助,更...
  • 如何在服务器上写一个bat文件来实现把远程主机上的文件实时更新到服务器上,最好附上bat代码,谢谢了!
  • 此插件可通过SSH在远程服务器执行命令和传输文件。 pipeline代码,本例是取一个zip文件为了提高安全性用Credentials Plugin屏蔽用户名密码。Credentials Plugin配置 withCredentials([usernamePassword...
  • PHP获取远程主机文件内容方法很多,例如:file_get_contents,fopen 等。 echo file_get_contents('http://demo.fdipzone.com/test.php'); ?>但如果同一域名对应了不同IP,例如 demo.fdipzone.com 对应3个IP 192....
  • 1、查看本地和远程目录 选项--&gt;会话选项--&gt;SFTP标签页2、securcrt工具sftp,打开sftp的tab页,可拖拽本地文件远程目录 点击File--&... pwd: 查询linux主机所在目录(也就是远...
  • 用PuTTY 访问远程主机

    千次阅读 2019-02-27 07:55:17
    用PuTTY 访问远程主机,我的主机是aws 亚玛逊 1年免费试用主机,bitnami-wordpress-5.0.2-1-linux-ubuntu-16.04-x86_64-hvm-ebs-mp-, 就是一个装好了wordpress 的 ubuntu 16.04 Linux 主机。PuTTY 是最流行的免费ssh...
  • Java连接远程主机的方式有多种,这里和大家分享的是通过ssh方式连接远程主机,使用的是jsch这个jar包,资源在这里。  不懂ssh为何物的朋友可以从网上找找相关资料,这里只简单的解释下:SSH 为 Secure Shell(安全...
  • FTP获取远程机器的文件并删除已经从远程机器上获取到的文件 代码示例: ftp -i -in >> /int_file/lubinsu/backup/old_css/ftp.log ! open 132.228.97.111 user css xxx bin cd /exp/back_old lcd /int_...
  • 关于远程主机的数据传输

    千次阅读 2016-10-26 22:07:28
    说明 常用的传输数据的方式 scp ftp sftp rz命令 场景 场景1远程外网 场景2 远程内网 ...本地文件传送到远程主机 $ scp local-file remote-user@remote-host:file-dir远程主机文件到本地$ scp remote@
  •  * 远程下载文件并读取返回p  * @param filePath 文件网络地址 如 http://www.baidu.com/1.txt  * @return String * @throws IOException   */  public static String[] DownAndReadFile(String ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 132,063
精华内容 52,825
关键字:

为了获取远程主机的文件内容