通过用户密码获取共享文件

  最近接到一个新的项目,不通过http、ftp下载文件;通过获取共享文件,直接将文件拷贝到本地;方法如下:

  • 利用iis服务器获取,iis上的文件,调用方法如下
1             WebClient wc = new WebClient();
2             //url下载的web地址
3             //fileName 目标路径
4             wc.DownloadFile(url, fileName);

  

通过共享文件夹,获取共享文件,需解决以下问题:

  • 如何通过用户、和密码访问远程服务器文件夹
  • 如何将访问到的共享文件上,下载文件
  • 如何将下载的本地路径以对话框的形式展现给用户,便于灵活选择目标地址
  • 如何将选择本地对话框路径的文件名,默认为下载文件的文件名

步骤如下

  1. 新建form,添加三个标签、文本 ;分别是ip、用户、密码;一个下载按钮
  2. 在btton_Click事件添加如下代码
            try
            {
                GetAccessControl(textBox3.Text, textBox1.Text, textBox2.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            SaveFileDialog save = new SaveFileDialog();

            //服务器共享文件夹下载地址
            string frompath = @"\\192.168.50.180\aaa\MyEclipseGen.java";

            //设置文件名
            save.FileName = frompath.Substring(frompath.LastIndexOf("\\") + 1);

            if (save.ShowDialog() == DialogResult.OK)
            {
                CopyFile(frompath, save.FileName);
            }
        /// <summary>
        /// 连接共享服务器
        /// </summary>
        /// <param name="path">ip地址</param>
        /// <param name="user">用户名</param>
        /// <param name="pwd">密码</param>
        void GetAccessControl(string path, string user, string pwd)
        {
            Process p = new Process();

            p.StartInfo.FileName = System.Environment.GetEnvironmentVariable("ComSpec");

            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.CreateNoWindow = true;

            p.Start();
            p.StandardInput.WriteLine(@"Net Use \\{0} /del", path); //必须先删除,否则报错
            p.StandardInput.WriteLine(@"Net Use \\{0} ""{1}"" /user:{2}", path, pwd, user);
            p.StandardInput.WriteLine("exit"); //如果不加这句WaitForExit会卡住

            p.WaitForExit();
            p.Close();
        }

        /// <summary>
        /// 拷贝文件
        /// </summary>
        /// <param name="frompath"></param>
        /// <param name="topath"></param>
        void CopyFile(string frompath, string topath)
        {
            try
            {
                File.Copy(frompath, topath, true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

  

时间: 2024-10-30 03:08:15

通过用户密码获取共享文件的相关文章

C# 通过用户名和密码获取共享文件夹访问权限

局域网共享文件夹需要用户名和密码才能访问,通过程序怎样才能获得文件夹访问权限呢? 这里主要利用了DOS命令中的“NET USE”命令来实现. public static void GetAccessControl(string path,string user,string pwd) { Process p = new Process(); p.StartInfo.FileName = System.Environment.GetEnvironmentVariable("ComSpec"

使用GetHashes获取Windows的用户密码Hash值

GetHashes是InsidePro公司早期的一款Hash密码获取软件.在Win7上试了一下,它已经没办法捉到SAM文件的Hash值了,不过在Windows XP和Windows Server 2003上,这个小工具还是很好用的. GetHashes是一个命令行工具,它的命令格式是:GetHashes [System key file]或者GetHashes $Local(不区分大小写). 下面用Windows XP来演示一下GetHashes的用法. 我将GetHashes程序解压到了D盘的

使用WPScan扫描wordpress获取用户密码

声明:此文档仅供安全学习和教学用途,禁止非法使用. wordpress的黑盒扫描器:wpscan 实验效果:枚举用户列表.暴力破解用户密码. 实验环境: 靶机:Turnkey Linux(wordpress版) 攻击机:kali linux 2.0 实验步骤: 搭建靶机换机: 1.下载镜像,官网https://www.turnkeylinux.org/  搜索wordpress下载只包含wordpress的turnkey linux 镜像. 2.在虚拟机中安装,步骤和普通系统安装一样,在安装的过

给定一个用户,获取其密码警告期限;而后判断用户密码使用期限是否已经小于警告期限

if 给定一个用户,获取其密码警告期限:而后判断用户密码使用期限是否已经小于警告期限:    提示:计算方法,最长使用期限减去已经使用的天数即为剩余使用期限:    如果小于,则显示"Warning":否则,就显示"OK".   #!/bin/bash W=`grep"student" /etc/shadow | cut -d: -f6` S=`date+%s` T=`expr$S/86400` L=`grep"^student&quo

给定一个用户,获取其密码警告期限; 而后判断用户密码使用期限是否已经小于警告期限;

需求: 给定一个用户,获取其密码警告期限: 而后判断用户密码使用期限是否已经小于警告期限: #!/bin/bash USERNAME=user1 Warndays=`grep "\$USERNAME" /etc/shadow  | cut -d : -f 6` Nowsecs=`date +%s` let Nowdays=$Nowsecs/86400 echo "nowday is $Nowdays" Moddays=`grep "\$USERNAME&q

用户密码加密存储十问十答,一文说透密码安全存储

我们数据库的权限管理十分严格,敏感信息开发工程师都看不到,密码明文存储不行吗? 不行.存储在数据库的数据面临很多威胁,有应用程序层面.数据库层面的.操作系统层面的.机房层面的.员工层面的,想做到百分百不被黑客窃取,非常困难. 如果密码是加密之后再存储,那么即便被拖库,黑客也难以获取用户的明文密码.可以说,密码加密存储是用户账户系统的底裤,它的重要性,相当于你独自出远门时缝在内衣里钱,虽然你用到他们的概率不大,但关键时刻他们能救命. 那用加密算法比如AES,把密码加密下再存,需要明文的时候我再解密

C#:使用MD5对用户密码加密与解密

C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1)16位的MD5加密 /// <summary> /// 16位MD5加密 /// </summary> /// <param name="password"></param> /// <returns></returns&

疑似网易泄露用户密码事件浅析

事件概述 2015年10月19日下午,乌云漏洞报告平台宣布接到一起惊人的数据泄密报告,网易的用户数据库疑似泄露,影响到网易163/126邮箱过亿数据,泄露信息包括用户名.密码MD5值.密码密保信息MD5值.登陆IP地址以及用户生日等,解开后测试大部分邮箱依旧还可登陆. 乌云建议用户登陆reg.163.com用户中心,在风险提示处查询近一个月的异常登录记录,以及异地登陆提醒邮件.如有异常,需尽快修改密码,改密码的同时也将密码提示答案进行更新修改,同时开启邮箱的安全防护功能. 另外,对于已被破解的网

MySQL 修改用户密码及重置root密码

为数据库用户修改密码是DBA比较常见的工作之一.对于MySQL用户账户的密码修改,有几种不同的方式,推荐的方式使用加密函数来修改密码.本文主要描述了通过几种不同的方式来修改用户密码以及mysql root账户密码丢失(重置root密码)的处理方法. 1.密码修改的几种方法 a.可以在创建用户的时候指定密码,以及直接使用grant创建用户的时候指定密码. 对于已经存在的用户直接使用grant方式也可以修改密码 如下: --演示版本 [email protected][(none)]> show v