如果別人用Net Use連結了我的電腦﹐我要怎樣才能知道﹐有沒有LOG檔記錄﹖(50分)

  • 主题发起人 主题发起人 dadabox
  • 开始时间 开始时间
IPC$ 虽然不能去掉,但可以通过改注册表来禁止匿名用户连接IPC$
 
to zv2000,你看看我上面說的﹐不是已經說過了嗎﹖但我要歷史記錄﹗﹗﹗
你如果知道﹐就請貼出來﹐你認為分數不夠﹐我可以給你加。上面分別是兩個問題﹐各50分﹑
 
对不起,我不知道关于“歷史記錄”的问题,我只是知道如何去掉win2000的为管理设的共享,
所以不必给我分了!
 
to zv2000﹐我下面的題目不是有一個嗎﹖如何去掉win2000的默認共享﹐如果你的方法真的
有效﹐你至少有50分﹐能說出來嗎﹖
 
注册表
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lanmanserver/parameters]>> c:/delshare.reg
添加如下 "AutoShareWks"=dword:00000000
"AutoShareServer"=dword:00000000
 
以下是去掉win2000 Professional的默认共享的注册表键值,导入注册表后,再手动除去
C$、D$、ADMIN$……待重起后,这些默认共享就不会再出现了!
win2000 Server 的我要再找一找。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lanmanserver/parameters]
"AutoShareWks"=dword:00000000

以下是禁止匿名用户连接IPC$,键值为1和2的意义是不同的,具体的我也记不清了,如果
设置为2,可能有些服务会有问题,到时候再设置成1就行了。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa]
"restrictanonymous"=dword:00000002

 
哦,迟了一步!
 
現在還剩第一個問題﹐我如何得到歷史記錄。
zv2000我會給你30分﹐轩辕散光20分。但這個問題有結束了﹐我就給你們分分。謝謝﹗
 
在win2000的“计算机管理-系统工具-性能日志和警报-警报”中好像可以监视IP和IPX
等网络协议的连接信息,我看着像,但不知是不是,你看看吧!

如果知道怎么用了,也贴出来,呵呵呵~
 
其实你可以用编程得到的。
主要用netsessionenum

#include <windows.h>
#include <lm.h>
#include <stdio.h>
#include <stdlib.h>
#pragma hdrstop



#define MAXLEN 256



int main( int argc, char *argv[] )
{
SESSION_INFO_502 *buf, *cur;
DWORD read, total, resumeh, rc, i;
wchar_t server[MAXLEN], client[MAXLEN], user[MAXLEN];

if ( argc < 2 || argc > 4 )
{
puts( "usage: nsesse ////server [////client [user]]" );
return 1;
}

if ( argc >= 4 )
mbstowcs( user, argv[3], MAXLEN );
else
user[0] = L'/0';

if ( argc >= 3 )
mbstowcs( client, argv[2], MAXLEN );
else
client[0] = L'/0';

if ( argc >= 2 )
mbstowcs( server, argv[1], MAXLEN );
else
server[0] = L'/0';

resumeh = 0;
do
{
buf = NULL;
rc = NetSessionEnum( (char *) server, (char *) client, (char *) user,
502, (BYTE **) &amp;buf, 2048, &amp;read, &amp;total, &amp;resumeh );
if ( rc != ERROR_MORE_DATA &amp;&amp; rc != ERROR_SUCCESS )
break;

printf( "/ngot %lu entries out of %lu/n", read, total );
for ( i = 0, cur = buf; i < read; ++ i, ++ cur )
{
// Note: the capital S in the format string will expect Unicode
// strings, as this is a program written/compiled for ANSI.
printf( "%-20.20S %-20.20S %-.20S/n",
cur->sesi502_cname, cur->sesi502_username, cur->sesi502_transport );
}

if ( buf != NULL )
NetApiBufferFree( buf );

} while ( rc == ERROR_MORE_DATA );

if ( rc != ERROR_SUCCESS )
printf( "NSE() returned %lu/n", rc );

return 0;
}

 
或者是这个netconnectionenum

#include <windows.h>
#include <lm.h>
#include <stdio.h>
#include <stdlib.h>
#pragma hdrstop



#define MAXLEN 256



int main( int argc, char *argv[] )
{
CONNECTION_INFO_1 *buf, *cur;
DWORD read, total, resumeh, rc, i;
wchar_t server[MAXLEN], client[MAXLEN];

if ( argc != 3 )
{
puts( "usage: nconne ////server {////client | sharename}" );
puts( "Note: the second argument must have //// if it's a client computer name." );
puts( "If not, it will be taken to be a sharename." );
return 1;
}

mbstowcs( client, argv[2], MAXLEN );
mbstowcs( server, argv[1], MAXLEN );

resumeh = 0;
do
{
buf = NULL;
rc = NetConnectionEnum( (char *) server, (char *) client, 1,
(BYTE **) &amp;buf, 2048, &amp;read, &amp;total, &amp;resumeh );
if ( rc != ERROR_MORE_DATA &amp;&amp; rc != ERROR_SUCCESS )
break;

printf( "/ngot %lu entries out of %lu/n", read, total );
printf( "%9.9s %-6.6s %4s %4s %-20.20s %.20s/n",
"id ", "type", "#opn", "#usr", "user name", "share or client name" );
printf( "%9.9s %-6.6s %4s %4s %-20.20s %.20s/n",
"---------", "------", "----", "----",
"--------------------", "--------------------" );
for ( i = 0, cur = buf; i < read; ++ i, ++ cur )
{
const char *type;
switch ( cur->coni1_type )
{
case STYPE_DISKTREE: type = "disk"; break;
case STYPE_PRINTQ: type = "printq"; break;
case STYPE_DEVICE: type = "device"; break;
case STYPE_IPC: type = "ipc"; break;
default: type = "unknwn"; break;
}

// Note: the capital S in the format string will expect Unicode
// strings, as this is a program written/compiled for ANSI.
printf( "%08lxh %-6.6s %4lu %4lu %-20.20S %.20S/n",
cur->coni1_id, type, cur->coni1_num_opens, cur->coni1_num_users,
cur->coni1_username, cur->coni1_netname );
}

if ( buf != NULL )
NetApiBufferFree( buf );

} while ( rc == ERROR_MORE_DATA );

if ( rc != ERROR_SUCCESS )
printf( "NCE() returned %lu/n", rc );

return 0;
}

 
to whaoye,多謝你的代碼﹐可你那是C的﹐我看不太懂﹐有沒有Delphi的呢﹖或者在windows
下有沒有什么設定可以改一下就有歷史檔了。
to zv2000,那個我看過﹐不太明白。好像也沒什么用。
 
其实就是调用了一个api函数啊。
如果你需要, 那要等我考完了才可以给你。
几天后。
 
whaoye,謝謝了。我等﹗分數少不了的。
 
接受答案了.
 
后退
顶部