首页
社区
课程
招聘
[求助]如何停止掉计算机的全部网络连接
发表于: 2010-7-21 21:32 9152

[求助]如何停止掉计算机的全部网络连接

2010-7-21 21:32
9152
我想问一下,如何通过VC暂时屏蔽掉计算机的联网功能,R3下。
停止DHCP服务就不要讨论了。有什么其他办法吗?各位大牛,本人菜鸟。。
我想起了,用天狼星录制的一些加密教程中又断开网络连接的功能,想知道他是怎么实现的。但是对局域网貌似不怎么管用。ADSL我没测试过。就不太清楚了。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 300
活跃值: (179)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
禁用网卡~~~~~或将IP清0
2010-7-21 21:44
0
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
有没有别的方法啊?
2010-7-21 22:33
0
雪    币: 1205
活跃值: (5094)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
禁止计算机的联网功的方法我知有几种,因我也经常要用这样的功能。

就不知你说的“停止DHCP服务就不能上网”,以前好像见过这样的现像, 不知如何设的?

DHCP Client 和 DNS Client 我都停止服务了, 但还能上网?
2010-7-22 05:56
0
雪    币: 281
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
在路由上做做手脚 ?
2010-7-22 08:26
0
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
DHCP是在自动获取IP地址时有效,对ADSL无效,对手动设置IP地址也无效。
2010-7-22 09:53
0
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
还是没人解答啊?
2010-7-23 22:21
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
8
请拔掉网线...
2010-7-23 22:25
0
雪    币: 768
活跃值: (530)
能力值: ( LV13,RANK:460 )
在线值:
发帖
回帖
粉丝
9
关机吧,拔掉网线 还有无线呢
2010-7-24 11:29
0
雪    币: 91
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
最简单也是最高效的
2010-7-24 12:43
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
11
方法太多.不知道楼主是什么目的

写一个SPI就行了
2010-7-24 18:18
0
雪    币: 130
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
天狼星的是加載了驅動的....
2010-7-25 16:32
0
雪    币: 220
活跃值: (711)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
SPI会被360等拦截的
2010-7-26 15:30
0
雪    币: 258
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
004B665E=<JMP.&IPHLPAPI._PfBindInterfaceToIPAddress@12>
2010-7-26 17:47
0
雪    币: 276
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
获取本机IP,比如IP是1.2.3.4
那么加个路由到1.2.3.5
就和谐了。
2010-7-27 06:56
0
雪    币: 127
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
16
void DisableInternet()
{
	INetConnectionManager* pNet;
	INetConnection* pConn;
	IEnumNetConnection* pEnum;
	NETCON_PROPERTIES* pProps;
	ULONG uCount = 0;
	
	CoInitialize(NULL);
	CoCreateInstance(CLSID_ConnectionManager, NULL, CLSCTX_SERVER, IID_INetConnectionManager, (void**)&pNet);
	pNet->EnumConnections(NCME_DEFAULT, &pEnum);
	
	while (pEnum->Next(1, &pConn, &uCount) == S_OK)
	{
		pConn->GetProperties( &pProps );
		//if (!wcscmp(pProps->pszwName, Temp))
		//{
		//	printf("Found %S\n", pProps->pszwName);
		//	printf("Going to disable connection now!\n");
			pConn->Disconnect();
		//	printf("Disabled!");
			CoTaskMemFree(pProps->pszwName);
			CoTaskMemFree(pProps->pszwDeviceName);
			CoTaskMemFree(pProps);
			pConn->Release();
		//}
	}
	pEnum->Release();
	pNet->Release();
	CoUninitialize();
}

void EnableInternet()
{	
	INetConnectionManager* pNet;
	INetConnection* pConn;
	IEnumNetConnection* pEnum;
	NETCON_PROPERTIES* pProps;
	ULONG uCount = 0;
	
	CoInitialize(NULL);
	CoCreateInstance(CLSID_ConnectionManager, NULL, CLSCTX_SERVER, IID_INetConnectionManager, (void**)&pNet);
	pNet->EnumConnections(NCME_DEFAULT, &pEnum);
	
	while (pEnum->Next(1, &pConn, &uCount) == S_OK)
	{
		pConn->GetProperties( &pProps );
		//if (!wcscmp(pProps->pszwName, Temp))
		//{
		//	printf("Found %S\n", pProps->pszwName);
		//	printf("Going to disable connection now!\n");
			pConn->Connect();
		//	printf("Disabled!");
			CoTaskMemFree(pProps->pszwName);
			CoTaskMemFree(pProps->pszwDeviceName);
			CoTaskMemFree(pProps);
			pConn->Release();
		//}
	}
	pEnum->Release();
	pNet->Release();
	CoUninitialize();
}
2010-7-27 07:09
0
雪    币: 208
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
#include "Fltdefs.h"
// 需要加载"iphlpapi.lib"

/////////////////////////////////////////////////////////////////////////////////
DWORD err = NO_ERROR;
INTERFACE_HANDLE hInterface;
PfCreateInterface(0,
                                  PF_ACTION_FORWARD,
                                 // PF_ACTION_DROP,//原文中使用了屏蔽所有包
                                  PF_ACTION_FORWARD,
                                  //PF_ACTION_DROP,//原文中使用了屏蔽所有包
                                  FALSE, TRUE, &hInterface);
BYTE localIp[] = {192,168,126,238};
BYTE DestIp[] = {11,11,22,33};
PfBindInterfaceToIPAddress(hInterface, PF_IPV4, localIp);
FILTER_HANDLE fHandle;// 填充过滤包的规则结构
PF_FILTER_DESCRIPTOR inFilter;
inFilter.dwFilterFlags = FD_FLAGS_NOSYN;
inFilter.dwRule = 0;
inFilter.pfatType = PF_IPV4; //用 ipV4 地址
inFilter.SrcAddr = localIp; //设置本地IP地址
inFilter.SrcMask = (PBYTE)"\xff\xff\xff\xFF"; //设置本地子网掩码
inFilter.wSrcPort = FILTER_TCPUDP_PORT_ANY; //任意来源端口
inFilter.wSrcPortHighRange = FILTER_TCPUDP_PORT_ANY;
inFilter.DstAddr = DestIp;
inFilter.DstMask = (PBYTE)"\xff\xff\xff\xfF";
inFilter.wDstPort =80;// FILTER_TCPUDP_PORT_ANY;
inFilter.wDstPortHighRange =80;//FILTER_TCPUDP_PORT_ANY;
inFilter.fLateBound = 0//LB_SRC_ADDR_USE_DSTADDR_FLAG|LB_DST_ADDR_USE_DSTADDR_FLAG
                                        //LB_SRC_ADDR_USE_SRCADDR_FLAG//|
                                        //LB_SRC_ADDR_USE_DSTADDR_FLAG//|
                                        //LB_DST_ADDR_USE_SRCADDR_FLAG//|
                                        //LB_DST_ADDR_USE_DSTADDR_FLAG
                                        ;
inFilter.dwProtocol = FILTER_PROTO_ANY;// FILTER_PROTO_TCP;

PfAddFiltersToInterface(hInterface, 0, NULL,1, &inFilter, &fHandle);
if(err != NO_ERROR)
{
TRACE("PfAddFiltersToInterface is Wrong\n");
return ;
}

//在这个地方弹出对话框中断程序,测试是否运行成功
MessageBox("Filter Enabled!");
// 移除过滤接口
PfRemoveFilterHandles(hInterface, 1, &fHandle);
PfUnBindInterface(hInterface);
PfDeleteInterface(hInterface);
//////////////////////////////////////////////////////////
这个是利用系统提供的防火墙API,经过实验如果单个过滤并不好用,但是断开整个网络却不错。其原理就是丢弃所有的数据包。你参考上面的源码,适当修改就可以了
2010-7-27 13:55
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
获取本机网卡地址,加到路由的禁止项就行了。
2010-7-31 21:28
0
游客
登录 | 注册 方可回帖
返回
//