请问如何限制某个程序(进程)上网。比如:QQ或 outlook 。不想让QQ上网,但不影响其他程序上网。

yukuang 2006-07-31 08:41:30
请高手帮助,给点提示或链接也行,多谢了
...全文
1888 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
analysefirst 2006-08-16
  • 打赏
  • 举报
回复
不知道老兄能否直接提示一下如何按进程(ID)过滤
ID不好禁的~~~(我没试过),如果一定要这样的话,你写段代码下个钩子去截取该应用程序的句柄吧。再禁止他运行就OK了。
如果是OUTLOOK的话,你先写个端口扫描函数,再加入我上面所说的IP过滤规则,也就是禁端口。把25。110端口给禁了(一般是这二个端口)。
QQ的端口除了4000等几个以外,还可以代理80端口出去的。所以你要写一段过滤程序。每个要上网的程序,她发送的数据包都包含目的IP地址,源IP地址的。
或者去买套软件算了,你自已写要会端口扫描呀,IP地址过滤这些等等很多的。不是那么简单的。
其实,你先把这些基本的学精了,就会禁这些程序了。
mzy2003 2006-08-11
  • 打赏
  • 举报
回复
winsock spi的做的dll担任传输服务提供者,在dllmain中调用GetModuleFileName就能知道是哪个程序在调用,如果是qq就return掉。
「已注销」 2006-08-11
  • 打赏
  • 举报
回复
最普通的办法是 1.断口屏蔽 2,不允许EXE连接网络,大概要用NDIS吧
cici2006 2006-08-08
  • 打赏
  • 举报
回复
查看一下天网防火墙。
analysefirst 2006-08-08
  • 打赏
  • 举报
回复
请问你是网管吗??
->是,建个代理服务器,封端口或代理上网(QQ的端口就那么几个---用NETSTAT命令查下就知道了和封IP地址----QQ的服务器没有你想像中的那么多)。简单点的话,
用代理服务器,想复杂点的话,用ISA服务器,Checkpoint服务器,功能都很强大的(不止这些功能)。不要和我说你不会,网上的资料一大堆,谁开始都不会,如果你是网管,这个你肯定要会的,很多大中企业都是用这个管理网络的。------以上我都是有实际操作过的,一定行的。

->如果你不是,--->如果你会编程,----->如果你会点网络编程,自已去下载点源程序再去买本书自已写吧,简单。我这里有源代码(很抱歉不能给你,因为是有版权的)。可以给你点提示:在2K和XP的系统中,一般的防火墙的基本原理是通过/system32/drives/ipfltdrv.sys过滤的,你写程序只要(1)先载入这个IP协议过滤驱动程序,(2)创建与这个IP过滤协议相关的服务,并启动。(3)服务根据防火墙程序发送的消息确定是否过滤。------以上的程序我也有运行测试过,可以的。

如果你以上说的方法你都不会,那去套软件或买硬件防火墙或高端的路由器等来做吧。



yukuang 2006-08-08
  • 打赏
  • 举报
回复
to analysefirst(+++剑客++++++++++++++++*)
非常感谢你的帮助。你说的ipfltdrv.sys是不是就是codeproject 上说的那个。用这种方法过滤,只能根据IP过滤,我想知道怎么样按进程过滤。codeproject上没有答案,给那位法国老兄发了E-mail,没回。
不知道老兄能否直接提示一下如何按进程(ID)过滤。再次表示感谢。
yukuang 2006-08-07
  • 打赏
  • 举报
回复
不知道是不是我没明白:

1、 fpig(正牌飞猪,奉旨捣乱) ( ) 信誉:99 2006-7-31 12:10:13 得分: 0
只有查到qq运行就关闭了
--------------------------------------------------
我不是想关闭,只是限制它的连网功能。

2、loveclub(小静哥哥) ( ) 信誉:100 2006-8-5 10:22:51 得分: 0
屏闭qq服务器的ip地址
--------------------------------------------------
我觉得这个方法不可行,如果QQ的IP变了呢?更何况如果要限制outlook,总不能把所有的smtp服务器都封了吧。

3、LookSail(老得牙都掉了还在学) ( ) 信誉:99 2006-8-6 0:44:01 得分: 0
看到这些软件存在,你的程序就卸载之
------------------------------
说句实话,我觉得你的回答是在浪费CSDN的空间。

非常感谢tomcat_jb(老猫) 的回答。

再次解释一下,我是想自己写程序限制某个其他进程上网。不考虑进程改名等复杂情况,我正在研究SPI,希望有所帮助
tomcat_jb 2006-08-07
  • 打赏
  • 举报
回复
1、查找进程是很不明智的,改个名字你就禁止不了了。
2、封端口更是不可行的,使用代理,哪个端口都能出去。

楼主的需求需要如此分析,首先封杀除日常使用外的所有端口,可以屏蔽随意改个端口就能出去的可能;其次,对http socket代理使用的端口进行协议解析,这个是最关键也是最难的,我公司有个产品是分析协议的,通过抓包方式分析QQ协议,即使通过代理,依然需要在包中保留远协议的数据。

最难处理的情况就是加密代理,那么代理封装的远数据包是经过加密的,加密方法比较多,而且代理的类型比较多,开发量巨大,很难处理了。
buleskying 2006-08-06
  • 打赏
  • 举报
回复
还是自己写个防火墙(防qq)好点!!!
LookSail 2006-08-06
  • 打赏
  • 举报
回复
看到这些软件存在,你的程序就卸载之
虾米的沃 2006-08-06
  • 打赏
  • 举报
回复
下载个防火墙的代码,改下就可以了,对QQ强行不放行就OK了。
loveclub 2006-08-05
  • 打赏
  • 举报
回复
屏闭qq服务器的ip地址
afei1984 2006-08-04
  • 打赏
  • 举报
回复
没玩过
mynamelj 2006-08-04
  • 打赏
  • 举报
回复
QQ是无孔不入,可以分析它用的端口,然后封掉它
ahjoe 2006-08-04
  • 打赏
  • 举报
回复
自动杀掉QQ.
yukuang 2006-08-02
  • 打赏
  • 举报
回复
老大们能否给些代码?谢谢了。
Preamble 2006-08-01
  • 打赏
  • 举报
回复
我也只会采用楼上的

方法FindWindow(),查找该进程成功后,TerminateProcess()
Evilcaster 2006-08-01
  • 打赏
  • 举报
回复
有个软件叫chatblocker,可以做这些限制
m_nNightmire 2006-08-01
  • 打赏
  • 举报
回复
是spi 不是sip啦~这俩差好多咧
google 一下winsock spi编程,或者钩子编程就行了
ppzine 2006-07-31
  • 打赏
  • 举报
回复
判断进程是否运行,如果运行就关闭
加载更多回复(12)

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧