阅读:2150回复:11
如何知道是本机的哪个程序在往外联网络,高分酬谢?
想做一个个人防火墙之类的软件,想知道是本机的哪个程序在往外联网络,并通过安全规则允许或是禁止其向外联网络。不知从何下手?哪位高手肯于赐教,定高分酬谢!
看了一下DDK,似乎觉得TDI Driver能够实现此功能,但是好像没有例子程序,不知从何入手。另外,不知TDI Driver能否实现此目的,还有没有更好的方法。 |
|
最新喜欢:![]()
|
沙发#
发布于:2004-08-10 09:07
唉!军中无人啊!
|
|
|
板凳#
发布于:2004-08-11 12:39
TDI, SPI都可以
|
|
地板#
发布于:2004-08-11 13:27
TDI 如何截获其数据包?
SPI是什么? |
|
|
地下室#
发布于:2004-08-11 17:04
唉!军中无人啊! 别在这里说大话。 你问的问题,在这里已经有无数人问过无数遍了。为什么不看看以前的贴子。 |
|
5楼#
发布于:2004-08-12 10:32
多谢论坛大佬指教!以前的帖子我看了一些,无外乎是通过PsGetCurrentProcess来获取进程,但是我发现它的返回值:PEPROCESS,一个结构不清,而是里面的有的结构不同版本还不一样而且不支持Unicode,不支持中文,实用性不强。因此,还有没有其他更好的技术或办法?
另外,有的贴子良莠不齐,能否推荐一个好帖子看看。 |
|
|
6楼#
发布于:2004-08-12 10:38
另外,我想补充一点,我的想法是当有任何程序一分配端口,一向外联,通过Socket API我就能截获它的请求。
|
|
|
7楼#
发布于:2004-08-12 12:42
tdifilter可以,参考pcausa里面的tdifilter的passthru例子,本站有下载
|
|
8楼#
发布于:2004-08-12 14:18
多谢论坛大佬指教!以前的帖子我看了一些,无外乎是通过PsGetCurrentProcess来获取进程,但是我发现它的返回值:PEPROCESS,一个结构不清,而是里面的有的结构不同版本还不一样而且不支持Unicode,不支持中文,实用性不强。因此,还有没有其他更好的技术或办法? PEPROCESS这个结构在inside windows2000里已经公开。 另外就是用SPI了。不清楚看看《NDIS防火墙与网络封包截获技术》这本书,或MSDN。 |
|
9楼#
发布于:2004-08-12 16:55
多谢各位!不知那能下PassThru代码,告诉一下,感谢!
|
|
|
10楼#
发布于:2004-08-12 17:06
ddk里就有啊
|
|
11楼#
发布于:2004-08-13 09:21
PassThru是DDK的例子,不知有没有Driver Studio的例子?如有,在哪?
|
|
|