更换IP来批量下载 win10图标批量更换

针对单点的批量下载器,除了数据库厂家对客户的IP限制,还有不少学校用电子资源控制系统进行监控,想要在连续时间断内批量下载是容易暴露的.对于以时间来限制的方法,可认通过设置时间间隔来躲避.而对于同一IP的下载次数限制,那就需要通过更换IP的方式来躲避.
而更换IP的方式,当然也要做成自动的,不可能让用户再手动更新,那就达不到"自动化"了.
在win中,动态更改IP有不少方法,有的直接调用winapi(类Win32_NetworkAdapterConfiguration官方文档:http://msdn.microsoft.com/zh-cn/library/aa394217(v=vs.85).aspx),不管是C++或是C#甚至是vbs脚本.也可以通过在cmd下执行netsh命令来修改(可以写成bat,供程序从外部调用).

通过在程序中调用WINAPI,可以方便获得返回的状态,编制更健壮的程序.

对于躲避监控,最好的办法是执行分布式批量下载.当然,最安全的做法是,在几十个学校中执行.数据库商家及学校,都无法防得了.大多知名的迅速"暴富"的商业公司就是利用这种方法来积累资源的.只是可惜,学校里头的防控只防学生,却不防大虫.真所谓"窃钩者诛,窃国者为诸侯".有人指责我非法采集超星的视频,可这些道貌岸然的人物,为何不指责超星掏掉CNKI?不才只是为了方便穷书生找资源的苦楚,面对商业公司,而对国家科研机构的重重壁垒,让些小虫有点活路不坏垄断大局.知识越来越容易共享,也越来越不会分享.不管是商还是官,还是官商勾结,穷书生从不是他们的服务对象.我没有用上百台机器分布采集,也没有直接挂机到镜像下载,我只是想从那个高墙处挖个小水沟,供穷书生们啜食.我只提供了省掉个人点击之苦的CNKI批量下载器,而且也做了数量的限制,别的下载器都限内部使用,没有在互联网上散播,希望那些高尚的大人物,莫太指责我恶意践踏知识产权,不尊重作者的研究成果.我只是一只小虫,挖个小洞,给穷书生们解解渴,因为穷书生们不能公款吃喝,大鱼大肉.

附:
C#
using System;
using System.Collections.Generic;
usingSystem.Text;
using System.Text.RegularExpressions;
usingSystem.Management;


namespaceIPProvider
{
classWMIForIPSet
{
publicWMIForIPSet()
{

}
///
/// 设置IP地址信息
///
///
///
///
///
public static void SetIPAddress(string[]ip, string[] submask, string[]gatway, string[]dns)
{
ManagementClass wmi =new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = wmi.GetInstances();
ManagementBaseObject inPar = null;
ManagementBaseObject outPar = null;
foreach (ManagementObject mo in moc)
{
更换IP来批量下载 win10图标批量更换
//如果没有启用IP设置的网络设备则跳过
if (!(bool)mo["IPEnabled"])
{
continue;
}
//设置IP地址和掩码

if (ip != null &&submask != null)
{
inPar = mo.GetMethodParameters("EnableStatic");
inPar["IPAddress"]= ip;
inPar["SubnetMask"]= submask;
outPar = mo.InvokeMethod("EnableStatic",inPar, null);
}

//设置网关地址

if (gatway != null)
{
inPar = mo.GetMethodParameters("SetGateways");
inPar["DefaultIPGateway"]= gatway;
outPar = mo.InvokeMethod("SetGateways",inPar, null);
}

//设置DNS地址

if (dns != null)
{
inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");
inPar["DNSServerSearchOrder"]= dns;
outPar = mo.InvokeMethod("SetDNSServerSearchOrder",inPar, null);
}
}
}
///
/// 开启DHCP
///
public static void EnableDHCP()
{
ManagementClass wmi =new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = wmi.GetInstances();
foreach (ManagementObject mo in moc)
{
//如果没有启用IP设置的网络设备则跳过

if (!(bool)mo["IPEnabled"])
continue;

//重置DNS为空

mo.InvokeMethod("SetDNSServerSearchOrder",null);
//开启DHCP

mo.InvokeMethod("EnableDHCP",null);
}
}
///
/// 判断IP地址的合法性
///
///
///
public static bool IsIPAddress(string ip)
{
string[]arr = ip.Split('.');
if (arr.Length != 4)
return false;

stringpattern = @"d{1,3}";
for (inti = 0; i<</span>arr.Length; i++)
{
stringd = arr[i];
if (i== 0 &&d == "0")
return false;
if (!Regex.IsMatch(d, pattern))
return false;

if (d !="0")
{
d = d.TrimStart('0');
if (d== "")
return false;

if (int.Parse(d) > 255)
return false;
}
}

returntrue;
}
///

/// 设置DNS

///

///

public static void SetDNS(string[]dns)
{
SetIPAddress(null,null, null,dns);
}
///

/// 设置网关

///

///

public static void SetGetWay(string getway)
{
SetIPAddress(null,null, newstring[] { getway }, null);
}
///

/// 设置网关

///

///

public static void SetGetWay(string[]getway)
{
SetIPAddress(null,null, getway, null);
}
///

/// 设置IP地址和掩码

///

///

///

public static void SetIPAddress(string ip, string submask)
{
SetIPAddress(newstring[] { ip }, new string[] {submask }, null,null);
}
///

/// 设置IP地址,掩码和网关

///

///

///

///

public static void SetIPAddress(string ip, string submask, string getway)
{
SetIPAddress(newstring[] { ip }, new string[] {submask }, newstring[] { getway }, null);
}
}
}


vbs
strComputer = "."
Set objWMIService = GetObject("winmgmts://" &strComputer & "/root/cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select *from Win32_NetworkAdapterConfiguration whereMACAddress='00:24:8c:xx:xx:xx'")
strIPAddress = Array("192.168.17.14")
strSubnetMask = Array("255.255.255.192")
strGateway = Array("192.168.17.254")
strGatewayMetric = Array(1)
For Each objNetAdapter in colNetAdapters
errEnable =objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
errGateways= objNetAdapter.SetGateways(strGateway, strGatewaymetric)
If errEnable= 0 Then
IPChan=1
Else
IPChan=0
End If
Exit For
Next
If IPChan = 1 Then
WScript.Echo"The IP address has been changed to 192网段"
Else
WScript.Echo"The IP address could not be changed."
End If

cmd下用netsh:
C:>netsh
netsh>interface
netsh interface>ip
netsh interface ip>set address name="本地连接"source=dhcp
netsh interface ip>set address "本地连接" static192.168.0.2 255.255.255.0 192.168.0.11

  

爱华网本文地址 » http://www.aihuau.com/a/25101012/143670.html

更多阅读

在网吧如何更换IP地址 网吧ip地址更换器

在网吧如何更换IP地址——简介在网吧是固定的IP地址,不过可以通过设置高匿代理IP来实现IP地址的更换在网吧如何更换IP地址——工具/原料联网的电脑浏览器在网吧如何更换IP地址——方法/步骤

如何下载酷六网的视频 怎样下载酷六网的视频

如何下载酷六网的视频——简介大家在各大视频网站,一定会遇到自己喜欢的视频,并且想下载下来。可是有的网站需要一些软件来协助下载,那样大家都会感觉很麻烦。今天我教大家一个非常非常方便的办法,不需要任何辅助软件、就可以完整的把视

手机彩信下载失败怎么办 手机彩信打不开怎么办

手机彩信下载失败怎么办——简介相信大家都会遇到彩信下载失败的情况吧。今天小编就给大家支几招解决此类问题的方法。手机彩信下载失败怎么办——方法/步骤手机彩信下载失败怎么办 1、打开数据开关再次接收遇到彩信无法正常下载

不用软件批量添加qq好友的方法 qq无限加好友软件

****由于腾讯更新了,无法再用此法,请看我最新的文章******我们都知道是用qq外挂软件可以批量添加qq好友,但是这种方法容易被封号,而且一天只能加50个好友,这样岂不是很受限制,其实我们可以使用qq空间中的好友管理来批量导入qq好友,方法非

声明:《更换IP来批量下载 win10图标批量更换》为网友撩妹只要套分享!如侵犯到您的合法权益请联系我们删除