A. NDIS
      A1. NDIS ¹öÁ¯°ú Ç÷§Æû°úÀÇ °ü°è¿¡ ´ëÇØ¼­ ¾Ë°í ½Í½À´Ï´Ù.
      A2. NDIS¿¡¼­ ÇÔ¼öµéÀÇ È£Ãâ°ü°è¿¡ ´ëÇØ¼­ ¾Ë°í ½Í½À´Ï´Ù.
      A3. °¢ °èÃþ¿¡¼­ PacketÀ» ´Ù·ê ¼ö ÀÖ´Â ¹æ¹ý.
             A3-1. ƯÁ¤ ÆÐŶ º¸³»±â.
             A3-2. ¿øÇÏÁö ¾Ê´Â ÆÐŶ DropÇϱâ.
             A3-3. ÀÓÀÇÀÇ PacketÀ» ¸¸µé¾î ¼ö½ÅÇÏ´Â ¹æ¹ý.

B. Miniport, Intermediate 
      B1. PacketÀÇ È帧¿¡ ´ëÇØ¼­ ¾Ë°í ½Í½À´Ï´Ù.

C. Protocol
      C1. FilterÀÇ Á¾·ù¿Í Á¤ÀÇ.(promiscuous, ....)

D. Debugging, Compile
      D1. µð¹ö±ë ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë°í ½Í½À´Ï´Ù.
      D2. compile½Ã ¿¡·¯ ´ë󹿹ý(¿©·¯°¡Áö)

E. ¼³Ä¡°ü·Ã(Install, INF)
      E1. µå¶óÀ̹ö ÀÛ¼º ¿Ï·á/µå¶óÀ̹ö ´Ù¿î·Îµå ¿Ï·á
      E2. ' .INF ' ¹®¼­ ÀÛ¼º.
      E3. ³×Æ®¿öÅ© ȯ°æ¼³Á¤
      E4. ÇÁ·ÎÅäÄÝ ¼±ÅÃ
      E5. °æ·Î¼³Á¤

F.  ±âŸ
      F1. DDK¸¦ ±¸ÇÏ´Â ¹æ¹ý & ¼³Ä¡ ¹æ¹ý(VC++, SDK, DDK ¼³Ä¡ ¼ø¼­)
      F2. Âü°í Site(Dirver, Network, NDIS°ü·Ã Site Link), Ã¥ ¼Ò°³ / Sample Source ¸¦
           ¾îµð¿¡¼­ ±¸ÇÏ´ÂÁö ±Ã±ÝÇÕ´Ï´Ù.
      F3. µ¥ÀÌŸµéÀ» ¾îÇø®ÄÉÀ̼ǿ¡¼­ È®ÀÎ ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¾Ë°í ½Í½À´Ï´Ù.



¡¡

A. NDIS

A1. NDIS ¹öÁ¯°ú Ç÷§Æû°úÀÇ °ü°è¿¡ ´ëÇØ¼­ ¾Ë°í ½Í½À´Ï´Ù .
  >>
  NDIS ¹öÀü°ú Ç÷§ÆûÀÇ °ü°è´Â ÇØ´ç Ç÷§Æû¿¡¼­ Áö¿øµÇ´Â NDIS ¹öÀü°ú ÇÔ¼öÀÇ   º¹ÇÕÀûÀÎ °ü°è¶ó°í º¼ ¼ö ÀÖ½À´Ï´Ù. Ç÷§Æû¿¡¼­ Áö¿øÇÏ´Â »ç¾çÀÌ »ç¿ëµÇ´Â Ç÷§Æû¿¡¼­ »ç¿ëÇÏ´Â NDIS¹öÀüÀ» ¼ö¿ëÇÒ ¼ö ÀÖ¾î¾ß Çϱ⠶§¹®¿¡ °á±¹ Ç÷§Æû¿¡ µû¶ó »ç¿ëÇÏ´Â NDIS¹öÀüÀÌ ´Þ¶óÁö°Ô µÇ°í ±× NDIS ¹öÀü¿¡¼­ Áö¿øÇÏ´Â ÇÔ¼öÀÇ Â÷ÀÌ¿¡ ÀÇÇØ ÇÔ¼öÀÇ »ç¿ë ¿ª½Ã ´Þ¶óÁö°Ô µË´Ï´Ù.

 ¿¹¸¦ µé¸é Windows 95´Â NDIS¹öÀü 3.0À» Áö¿øÇϹǷΠWindows 2000¿¡¼­ »ç¿ëÇÏ´Â 2000DDK(NDIS ¹öÀü 5.0)¸¦ »ç¿ëÇÏÁö ¸øÇÏ´Â °ÍÀÔ´Ï´Ù. ¶ÇÇÑ °¢ NDIS ¹öÀü¿¡¼­ Áö¿øÇÏ´Â ÇÔ¼ö°¡ Á¶±Ý¾¿ ´Ù¸£¹Ç·Î ±× Â÷ÀÌÁ¡À» ¾Ë°í, »ç¿ëÇÏ´Â Ç÷§Æû¿¡ Àû´çÇÑ ÇÔ¼ö¸¦ ½á¾ß ÇÏ´Â °ÍÀ̰í¿ä. µû¶ó¼­ .sys´Â 2000DDK¸¦ »ç¿ëÇϰí .vxd´Â 9xDDK¸¦ »ç¿ëÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù.

 °¢ ¹öÀü¿¡ µû¸¥ EvolutionÀº http://www.microsoft.com/hwdev ¸¦ ÅëÇÏ¿© »ìÆìº¼ ¼ö ÀÖ½À´Ï´Ù.

¿î¿µ üÁ¦

Áö¿øµÇ´Â NDIS Version

 Windows 95 
 Windows NT 4.0 DDK 

 Windows 95 DDKs
 NDIS 3.1

 Windows 95 OSR2 
 Windows NT 4.0 DDK 

 Windows 95 DDK

 NDIS 4.0

 Windows 98 
 Windows NT4.0 DDK

 Windows 98 DDK

 NDIS 4.1

 Windows 98 SE 
 Windows NT 4.0 DDK

 Windows 98 DDK

 NDIS 5.0

 Windows Me 
 Windows 2000 DDK

 Windows 98 DDK for Vxds

 NDIS 5.0

 Windows NT 3.5 
 Windows NT 3.5 DDK

 NDIS 3.0

TOP

A2. NDIS¿¡¼­ ÇÔ¼öµéÀÇ È£Ãâ°ü°è¿¡ ´ëÇØ¼­ ¾Ë°í ½Í½À´Ï´Ù.
>>
  
NDIS¿¡¼­ ÇÔ¼öµéÀº Å©°Ô
        NDIS µå¶óÀ̹ö Upper-Edge ÇÔ¼ö,
        NDIS ¶óÀ̺귯¸® ÇÔ¼ö,
        NDIS Lower-Edge ÇÔ¼ö
   ÀÌ ¼¼ ºÎ·ù·Î ºÐ·ùÇÒ ¼ö ÀÖ½À´Ï´Ù.
 °¢°¢ÀÇ ÇÔ¼öµéÀº ÀÌ·¸°Ô ³ª´µ¾î °¢°¢ÀÇ ÇÔ¼ö¸¦ ¼­·Î È£ÃâÇÏ°Ô µÇ¸ç ±×¿¡ ÀÇÇØ¼­ ÆÐŶÀ» Àü¼ÛÇÏ´Â µîÀÇ ÀϵîÀ» ¼öÇàÇÏ°Ô µË´Ï´Ù.

 ÇÔ¼ö È£Ãâ°ü°è¿¡ ´ëÇØ DDKÀÇ Ç¥ÇöÀ» ÀοëÇÑ´Ù¸é ´ÙÀ½°ú °°ÀÌ ¼³¸íÀÌ µË´Ï´Ù. NDIS ¶óÀ̺귯¸®´Â µå¶óÀ̹ö°¡ È£ÃâÇϴµ¥ ÇÊ¿äÇÑ ¸ðµç ¿î¿µÃ¼Á¦ÀÇ ½Ã½ºÅÛ ÇÔ¼öµéÀ» ĸ½¶È­ ÇÏ´Â ÇÔ¼öµéÀ»(NdisXxx ÇÔ¼öµé)À» ÀͽºÆ÷Æ®ÇÑ´Ù. ¶ÇÇÑ µå¶óÀ̹ö´Â Â÷·Ê·Î NDIS°¡ µå¶óÀ̹ö¿¡ Á¢±ÙÇϱâ À§ÇØ »óÀ§ ·¹º§ µå¶óÀ̹öµéÀ» À§ÇØ È¤Àº ÀÚ±â ÀÚ½ÅÀ» À§ÇØ NDIS°¡ È£ÃâÇÏ´Â ¿£Æ®¸® Æ÷ÀÎÆ®µé( Low,Upper-Edge ÇÔ¼öµé)À» ÀͽºÆ÷Æ®ÇØ¾ß ÇÑ´Ù. µå¶óÀ̹ö°¡ Àü¼ÛÇÏ´Â ÆÐŶÀ» °¡Áö°í ÀÖÀ» ¶§, NDIS ¶óÀ̺귯¸®¿¡ ÀÇÇØ ÀͽºÆ÷Æ®µÇ¾îÁö´Â NdisXxx ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. NDIS´Â ±×¸®°í ³ª¼­ ÆÐŶÀ» Àü¼Û¹Þ´Â µå¶óÀ̹ö¿¡ ÀÇÇØ ÀͽºÆ÷Æ®µÈ Àû´çÇÑ ÇÔ¼ö¸¦ È£ÃâÇÔÀ¸·Î½á ¹Ì´ÏÆ÷Æ®¿¡°Ô ÆÐŶÀ» Àü´ÞÇÑ´Ù.


 ½Ç·Ê¸¦ º¸¸é, ¾Æ·¡ÀÇ ±×¸²Àº ÆÐŶÀ» ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö¿¡¼­ ¹Ì´ÏÆ÷Æ®¸¦ ÅëÇØ º¸³»±â À§ÇØ ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °úÁ¤À» º¸¿©ÁÝ´Ï´Ù. ¿ì¼±,ÆÐŶÀ» º¸³»±â À§Çؼ­´Â ÇÁ·ÎÅäÄÝ¿¡¼­ NdisSend¸¦ È£ÃâÇϰí, NdisSend´Â ´Ù½Ã ÀÎÅ͹̵ð¾ùÀÇ MPSend¸¦ È£ÃâÇÏ°Ô µË´Ï´Ù.¶ÇÇÑ ÀÎÅ͹̵ð¾ùÀÇ MPSend´Â ´Ù½Ã ¹ÌÆ÷Æ®·Î ÆÐŶÀ» Àü¼ÛÇØ¾ß ÇϹǷΠNdisSend¸¦ È£ÃâÇÏ°Ô µÇ¾î ÆÐŶÀ» ¹Ì´ÏÆ÷Æ®·Î Àü¼ÛÇÏ°Ô µË´Ï´Ù. ÆÐŶ Àü¼ÛÀÌ ³¡³ª¸é ±×¿¡´ëÇÑ °á°ú¸¦ Àü´ÞÇϱâ À§ÇÑ ÆÐŶÀ» ´Ù½Ã Àü´ÞÇϱâ À§Çؼ­ À§ÀÇ °úÁ¤°ú °°Àº ÇÔ¼öÈ£Ãâ °úÁ¤À» °ÅÃļ­ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö·Î Àü¼ÛÀ» ¸¶ÃÆÀ½À» ÀǹÌÇÏ´Â ÆÐŶÀ» µÇµ¹·Á º¸³»°Ô µÇ´Â °ÍÀÔ´Ï´Ù.

¡¡
TOP

A3. °¢ °èÃþ¿¡¼­ PacketÀ» ´Ù·ê ¼ö ÀÖ´Â ¹æ¹ý.
>>
 A3-1. ƯÁ¤ ÆÐŶ º¸³»±â. 
 ÀÌ´õ³Ý ÇÁ·¡ÀÓÀÇ °æ¿ì ÆÐŶÀÇ ±¸¼ºÀº ´ÙÀ½°ú °°ÀÌ ÀÌ·ç¾îÁý´Ï´Ù. 
          14byte        -------a  Çü½Ä

          20~~24 byte  -------a  IP  Çì´õ

          20~~24 byte  -------a  TCP Çì´õ

         ³ª¸ÓÁö         -------a  µ¥ÀÌÅÍ

 ¿©±â¿¡¼­ ¿ì¸®°¡ ƯÁ¤ ÆÐŶÀ» ¸¸µé¾î º¸³½´Ù¸é ÀÌ ºÎºÐµé¿¡ ¿ì¸®°¡ ÀǵµÇÏ´Â ÇüŸ¦ ¸¸µé¾î º¸³»¸é ±× ¸ñÀûÀ» ÀÌ·ê¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦ µé¾î ¿ì¸®°¡ broadcastingÀÇ ÇüÅ·ΠÆÐŶÀ» º¸³»°í ½Í´Ù¸é Çü½ÄÀ» ³ªÅ¸³»´Â 14byteÀÇ Á¶ÀÛÀ» ÅëÇØ ±× ÇüÅ·ÎÀÇ ÆÐŶÀ» º¸³½´Ù´Â ¸»ÀÔ´Ï´Ù.


¡¡
char data[1520] = {0,} ¡¡
¡¡
data[1] = 0xff
data[2] = 0xff
data[3] = 0xff
data[4] = 0xff
data[5] = 0xff
data[6] = 0xff

¡¡

Destimation Part ¿·ÀÇ Äڵ忡¼­´Âºê·ÎµåÄɽºÆ® ÇüÅÂÀÓÀ» ³ªÅ¸³½´Ù.¡¡

¡¡


¡¡
data[7] = 0x00
data[8] = 0xD0
data[9] = 0xB6
data[10] = 0x28
data[11] = 0x33
data[12] = 0xff

¡¡

Source PartÀÚ±âÀڽŠMacAddress¸¦ ÀǹÌÇÑ´Ù.¡¡

¡¡

¡¡ data[13] = 0x08
data[14] = 0x00

¡¡

Type ¿·ÀÇÄÚµå´Â TCP/IP¸¦ ÀǹÌÇÑ´Ù.

¡¡

 ÀÌ·¸°Ô ¿ì¸®°¡ ¿øÇϴ ŸÀÔÀÎ ºê·Îµåij½ºÆÃÀÇ Çü½ÄÀ¸·Î TCP/IP ÆÐŶÀ» º¸³¾¼ö ÀÖ°Ô µË´Ï´Ù.

¡¡

 A3-2. ¿øÇÏÁö ¾Ê´Â ÆÐŶ DropÇϱâ .
 ÆÐŶÀ» DropÇÑ´Ù´Â Àǹ̴ ´ÙÀ½ÀÇ ±×¸²°ú °°ÀÌ ¹Þ¾ÆµéÀϼö ÀÖ½À´Ï´Ù.

 ¿©±â¿¡¼­ »ó.ÇÏÀ§ °èÃþ, Â÷´ÜºÎ´Â ²À ÇÑ ºÎºÐÀÌ Á¤ÇØÁ® ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó ¿©·¯ °¡Áö°¡ µÉ ¼ö ÀÖ°í ±×¿¡ µû¶ó ¿ì¸®°¡ ÆÐŶÀ» Â÷´ÜÇÏ´Â ¹æ¹ý¿¡ Â÷À̸¦ º¸ÀÌ´Â °ÍÀÔ´Ï´Ù. ÆÐŶÀ» Â÷´ÜÇÏ´Â ¹æ¹ý¿¡´Â TDIÈÅÀ» ÅëÇÑ ¹æ¹ý, ÀÎÅ͹̵ð¾ùÀ» ÅëÇÑ ¹æ¹ý µî ¿©·¯ °¡Áö°¡ Àִµ¥ Ndis4.0/5.0¿¡¼­´Â ÀÎÅ͹̵ð¾ù µå¶óÀ̹ö¿¡¼­ Á¢±ÙÇÏ¿© ÆÐŶÀ» Drop ½Ãŵ´Ï´Ù. 
>>
 ¼ö½ÅµÈ ÆÐŶÀÌ ¹Ì´ÏÆ÷Æ®¿¡¼­ ÀÎÅ͹̵ð¾ùÀÇ ÇÁ·ÎÅäÄÝ ¸®½ÃºêÇÔ¼ö·Î °¬À»¶§ NdisMIndicateReceivePacket ÇϱâÀü¿¡, Áï À­°èÃþ ÇÁ·ÎÅäÄÝ µå¶óÀ̹ö·Î ÆÐŶÀ» º¸³»±â Àü¿¡ NdisMIndicateReceivePacket À» È£ÃâÇÏÁö ¾ÊÀ¸¸é Â÷´ÜÀÌ µË´Ï´Ù. À̰æ¿ì Â÷´ÜºÎ´Â ÀÎÅ͹̵ð¾ù ÃþÀÌ µÇ´Â °ÍÀÌÁö¿ä..
ÀÌ·¯ÇÑ Â÷´ÜÀº ÇÏÀ§°èÃþ¿¡¼­ ÀÌ·ç¾î Áú¼ö·Ï ±× ½Å·Ú¼ºÀÌ Â£¾îÁý´Ï´Ù
.¡¡

A3-3. ÀÓÀÇÀÇ PacketÀ» ¸¸µé¾î ¼ö½ÅÇÏ´Â ¹æ¹ý.

 À§ÀÇ ±×¸²Àº ¼ö½Å½Ã ¸Þ¸ð¸®¿¡ µ¥ÀÌÅͰ¡ µé¾î°¡°í ±× ¹°¸®ÆäÀÌÁö¿¡ ´ëÇÑ µð½ºÅ©¸³Å͸¦ Àоî¿À´Â ±×¸²ÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î ¼ö½Å½Ã µ¥ÀÌÅͰ¡ ¹°¸®¸Þ¸ð¸®¿¡ ÀúÀåµÇ°í ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇϸ鼭 Â÷·Ê·Î ÀÌ·¯ÇÑ ¸ð½ÀÀ¸·Î ¹°¸®¸Þ¸ð¸®¿Í °¡»óÁÖ¼Ò, ¹öÆÛÇ®, ÆÐŶǮ¿¡ °¢°¢ÀÇ ¿ä¼Ò°¡ ÇÒ´çµÇ°Ô µÇ´Âµ¥, À̿ʹ ´Þ¸® ÀÌ·¯ÇÑ ÇÒ´çÀ» ¹Ì¸® ÇÏ¿´´Ù°¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÏ´Â ¼ø°£ Æ÷ÀÎÅ͸¦ ÀÌ¿ëÇÏ¿© ¹°¸®¸Þ¸ð¸®¿¡ ÀúÀåµÈ µ¥ÀÌÅ͸¦ ¹Ù·Î °¡Áö°í ¿À´Â ¼öµµ ÀÖ½À´Ï´Ù. À̰ÍÀÌ ¿ì¸®°¡ ÀÓÀÇ·Î ÆÐŶÀ» ¸¸µé¾î ¼ö½ÅÇÏ´Â ¹æ¹ýÀÌ µÇ´Â °ÍÀÔ´Ï´Ù.
TOP


¡¡

B. M
iniport, Intermediate

B1.PacketÀÇ È帧¿¡ ´ëÇØ¼­ ¾Ë°í ½Í½À´Ï´Ù.

 NDIS¿¡¼­´Â ¸ðµç Á¤º¸¸¦ ÆÐŶ ´ÜÀ§·Î ¼Û/¼ö½ÅÇÏ°Ô µÇ´Âµ¥ ÀÌ·¯ÇÑ ÆÐŶÀÇ È帧À» ¾Ë ¼ö ÀÖ´Ù¸é ³×Æ®¿öÅ© »ó¿¡¼­ ¾î¶»°Ô ½ÅÈ£°¡ ¿À°¡°Ô µÇ´ÂÁö Á»´õ ¼ö¿ùÇÑ ¹æ¹ýÀ¸·Î ¾Ë ¼ö ÀÖ°Ô µË´Ï´Ù. ÆÐŶÀÇ È帧Àº ÇÁ·ÎÅäÄÝÀ̳ª ¹Ì´ÏÆ÷Æ® ¸ðµÎ À¯»çÇϹǷΠÅëÇÕÀûÀ¸·Î ¼Û/¼ö½ÅÀ¸·Î ³ª´©¾î ¼³¸íÇϵµ·Ï ÇϰڽÀ´Ï´Ù.

¢º ¼Û½Å

 ¿ì¸®°¡ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â ÀÎÅͳÝÀÇ °æ¿ì ¿ì¸®´Â µµ¸ÞÀÎÀ» ÀÔ·ÂÇÔÀ¸·Î½á ¿ì¸®°¡ ¿øÇÏ´Â À¥ ÆäÀÌÁö·Î À̵¿ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â ¿ì¸®°¡ ±× µµ¸ÞÀο¡ ÇØ´çÇÏ´Â ¼­¹ö¿¡ ½ÅÈ£¸¦ º¸³¿¿¡ °¡´ÉÇÑ °ÍÀÌ¸ç ¿ì¸®°¡ ¿øÇÏ´Â ¹Ù¸¦ »ó´ë¼­¹ö¿¡ Àü´ÞÇß´Ù´Â À̾߱Ⱑ µÇ´Â °ÍÀÔ´Ï´Ù. ¾Æ·¡¿¡ ³ª¿À´Â ±×¸²Àº ÀÌ¿¡ ´ëÇÑ ¼øÂ÷ÀûÀÎ °úÁ¤°ú ±× °úÁ¤¿¡¼­ ÀÌ·ç¾î Áö´Â »çÇ×µéÀ» ¾Ë±â ½±°Ô Á¤¸®ÇØ ³õ¾Æ ÆÐŶÀÇ È帧Àº ¹°·Ð ±×¿¡ ´ëÇÑ Á¤º¸ÀÇ È帧À» ´«À¸·Î ½±°Ô º¼ ¼ö ÀÖ½À´Ï´Ù.







 ÀÌó·³ ÇÒ´çµÈ ÆÐŶ°ú ¹öÆÛ´Â ¾Æ·¡ÀÇ ±×¸²°ú °°ÀÌ NdisChainBufferAtFrontÀ» ÅëÇÏ¿© ¼­·Î °¢°¢ ÆÐŶǮ°ú ¹öÆÛÇ®¿¡ ÀÚ¸®Àâ°Ô µÇ°í ƯÁ¤ °¡»ó ¹üÀ§(range, ¿µ¿ª)¿Í ¸ÊÇÎÇÏ´Â ¹öÆÛ µð½ºÅ©¸³Å͸¦ ¸¸µé°Ô µË´Ï´Ù.¡¡


 NDIS_BUFFER´Â ÀϹÝÀûÀ¸·Î 3°³ ÀÔ´Ï´Ù. µ¥ÀÌÅ͸¦ 3ºÎºÐ(Ethernet Header, TCP/IP Header, Data)À¸·Î ³ª´²¼­ º¸³»±â ¶§¹®¿¡ Buffer¸¦ 3°³ ÇÒ´çÇØ¼­ °¢°¢ÀÇ µ¥ÀÌÅ͵éÀÇ ¼±µÎ ¹øÁö °ªÀ» ÀúÀåÇØ µÎ´Â °ÍÀÔ´Ï´Ù. ¸¶Áö¸·À¸·Î ÀÌ·¸°Ô ÀúÀåµÈ µ¥ÀÌÅ͵éÀÌ Çϳª·Î ¹­¿© NdisSend³ª PacketSendCommand¸¦ ÅëÇØ¼­ PROTOCOL¿¡¼­ MINIPORT³ª MINIPORT¿¡¼­ ´Ù¸¥ ¼­¹ö³ª È£½ºÆ®·Î Àü´ÞµÇ´Â °ÍÀ¸·Î ±× °úÁ¤À» ³¡³»°Ô µË´Ï´Ù..
 

¢º ¼ö½Å

 ¼ö½Å¿¡¼­µµ ¼Û½Å°ú ±¸Á¶ÀûÀ¸·Î´Â ¼Û½Å°ú º°¹Ý Â÷À̰¡ ¾÷ÀÌ ¼Û½Å¿¡¼­ÀÇ ¹Ý´ë¼ø¼­·Î ¼ö½Å°úÁ¤ÀÌ ÀÌ·ç¾î Áý´Ï´Ù. ÇÏÁö¸¸ ¼Û½Å°ú °¡Àå ´Ù¸£´Ù ÇÒ ¼ö ÀÖ´Â °ÍÀº, ¾Õ ¼Û½Å¿¡¼­´Â ÇϳªÀÇ ÆÐŶÀÌ 3°³ÀÇ ¹öÆÛ·Î ³ª´©¾îÁ® ¸Þ¸ð¸® °ø°£»ó¿¡ ±â¾ïµÇ¾ú´Ù Àü¼ÛµÇ¾úÁö¸¸ ¼ö½Å¿¡¼­´Â ÇϳªÀÇ ¹öÆÛ¿¡ ÇϳªÀÇ ÆÐŶÀÌ ¿¬°áµÇ´Â °ÍÀÌ °¡Àå Å« Â÷ÀÌ ÀÔ´Ï´Ù.

 Ã³À½ NICÀÌ µ¥ÀÌÅ͸¦ ¼ö½ÅÇϸé ReciveInterrupt¸¦ ¹ß»ý½Ã۰í MINIPORT ISR¿¡ Àü´ÞÇϰí,¹ÞÀº µ¥ÀÌÅ͸¦ ¹°¸® ¸Þ¸ð¸®¿¡ ÀúÀåÇÏ¿© ±×¿¡ ´ëÇÑ °¡»óÆäÀÌÁö¿¡ ±× ±â·ÏÀ» ÀúÀåÇÕ´Ï´Ù. ÀÌ ReciveInterrupt´Â MiniportHandleInterrupt CallÀ» È£ÃâÇØ ´Ù½Ã MiniportHandleInterrupt¿¡ Àü´ÞÀÌ µÇ¸ç, ÀÌ·¸°Ô Àü´ÞµÇ¾îÁø MiniportHandleInterrupt¿¡¼­ MIndicateRecive PacketÀ» ÅëÇØ ÆÐŶÀ» ¾ò¾î¿À°í ±× ÆÐŶÀº ProtocolRecivePacket¿¡ ¶Ç´Ù½Ã Àü´Þ µÇ¾î Áý´Ï´Ù. ¿©±â¿¡¼­´Â NdisQueryPacket¿Í NdisQueryBuffer¸¦ ÅëÇØ °¡»óÁÖ¼Ò¸¦ ¾ò°í ±×¿¡ ÀúÀåµÇ¾îÁø ¹°¸®ÁÖ¼Ò¸¦ ã¾Æ°¡ ½ÇÁ¦ ¼ö½ÅÇÑ µ¥ÀÌÅ͸¦ ¾ò¾î¿É´Ï´Ù. ±× µ¥ÀÌÅÍ´Â Protocol Stack¿¡¼­ À¥ µ¥ÀÌÅÍ·Î ¹Ù²î¾î ¿ì¸®°¡ º¸´Â È­¸é¿¡ ³ªÅ¸³ª°Ô µÇ´Â °ÍÀÔ´Ï´Ù.


TOP


¡¡

C. Protocol

C1. FilterÀÇ Á¾·ù¿Í Á¤ÀÇ.(promiscuous, ....)

    ÆÐŶ µå¶óÀ̹ö´Â ¼¼ °¡Áö ±â´ÉÀÌ ÀÖ½À´Ï´Ù.
          - NIC¿¡ ´ëÇÑ Á¤º¸¸¦ ¾ò¾î¿À°Å³ª ¼³Á¤ÇÑ´Ù.
          - ÆÐŶµéÀ» ¹Þ¾ÆµéÀδÙ.(Receive)
  : ³×Æ®¿öÅ© »ó¿¡¼­ µ¹¾Æ´Ù´Ï´Â PacketµéÀ» ¹ÞÀº Network Adapter(Ethernet Card   µî)¿¡ ÀúÀåµÈ ¸ðµç ³»¿ëÀ» CapturingÇÏ¿© °¢ Analysis·Î º¸³»´Â ModuleÀÔ´Ï´Ù.
    Ethernet Controller´Â º¸Åë ´ÙÀ½°ú °°Àº ÇÊÅ͵éÀÌ ÀÖ½À´Ï´Ù.
          - PROMISCUOUS : µé¾î¿À´Â ¸ðµç ÆÐŶµéÀ» ¹Þ¾ÆµéÀδÙ.
          - BROADCAST : Broadcast ÆÐŶµéÀ» ¹Þ¾ÆµéÀδÙ.
          - MULTICAST : Multicast ÆÐŶµéÀ» ¹Þ¾ÆµéÀδÙ.
          - INDIVISUAL : ³×Æ®¿öÅ© MAC ¾îµå·¹½º¿Í ÀÏÄ¡ÇÏ´Â ÆÐŶµé¸¸ ¹Þ¾ÆµéÀδÙ.
          - ÆÐŶµéÀ» º¸³½´Ù. (Send)

TOP


¡¡

D.Debugging, Compile

D1. µð¹ö±ë ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë°í ½Í½À´Ï´Ù.

µð¹ö±ëÀ̶õ ÇÁ·Î±×·¥»óÀÇ ¿¡·¯ Áï ¹ö±×¸¦ ã¾Æ ¾ø¾Ö´Â °úÁ¤À» ¸»ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¹®Á¦´Â ¿©·¯ °¡Áö ÀÌÀ¯·Î ¹ß»ýÇÏÁö¸¸ °¡Àå Å« ÀÌÀ¯´Â ¿ì¸®ÀÇ ½Ç¼ö·Î ÀÎÇØ ºú¾îÁö°Ô µË´Ï´Ù. ¿¹·Î °£´ÜÇÑ ÀÔ·Â ½Ç¼öºÎÅÍ À߸øµÈ ³í¸®, °¢Á¾ Àå¾Öµé, ÀÚ¿øºÎÁ·, ½Ã°£ÀÇÁ¸ µîµî¡¦ ¾Æ·¡´Â ¸¹ÀÌ ¹ß»ýÇÏ´Â ¹ö±×¸¦ Á¤¸®ÇØ ³õÀº °ÍÀÔ´Ï´Ù.

Áõ»ó

°¡´ÉÇÑ ÀÌÀ¯

 µ¥ÀÌÅͰ¡ À߸øµÇ¾ú´Ù.

 ·º¯¼ö¸¦ ÃʱâÈ­ ½ÃŰ´Â µ¥ ½ÇÆÐÇß´Ù.  
 ·
Á¤¼öÇü½ÄÀÇ ¹üÀ§¸¦ ÃʰúÇß´Ù.
 ·¹è¿­ÀÇ »öÀΠǥÇö¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇß´Ù.  

 ·
·çÇÁ Á¶°Ç¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇß´Ù.  
 ·
µ¿ÀûÀ¸·Î ÇÒ´çµÈ ¹è¿­ÀÇ Å©±â¿¡¼­ ¿¡·¯°¡ ¹ß»ýÇß´Ù.  
 ·
Ŭ·¡½º copy ÄÁ½ºÆ®·°ÅÍ, ÇÒ´ç ¿¬»êÀÚ, µð½ºÆ®·°Å͸¦ ±¸ÇöÇÏ´Â µ¥ ½ÇÆÐÇß´Ù.¡¡

 ¿¹¿Ü°¡ 󸮵ÇÁö ¾Ê¾Ò´Ù.

 ·À¯È¿ÇÏÁö ¾ÊÀº Æ÷ÀÎÅÍ ¶Ç´Â ·¹ÆÛ·±½º. catchÇڵ鷯¸¦ ºü¶ß·È´Ù.¡¡

 ÇÁ·Î±×·¥ÀÌ ÀϽà Áߴܵǰųª °íÀå³­´Ù.

 ·º¯¼ö¸¦ ÃʱâÈ­ÇÏ´Â µ¥ ½ÇÆÐÇß´Ù.
 
·¹«ÇÑ·çÇÁ. 
 ·
À¯È¿ÇÏÁö ¾ÊÀº Æ÷ÀÎÅÍ. 
 ·
µ¿ÀÏÇÑ free store ¸Þ¸ð¸®¸¦ µÎ ¹ø ÇØÁ¦½ÃÄ×´Ù.

 ½ºÆ®¸² ÀÔ·Â µ¥ÀÌÅͰ¡ À߸øµÇ¾ú´Ù. ·ÃßÃ⿬»êÀÚ¿Í getline ÇÔ¼ö¸¦ ÀÌ¿ëÇØ Àоîµé¿´´Ù.

 Æ²¸° °á°ú°¡ »ý¼ºµÇ¾ú´Ù.

·ÀԷ¿¡·¯.  
·
º¯¼ö¸¦ ÃʱâÈ­ÇÏ´Â µ¥ ½ÇÆÐÇß´Ù.  
·
À¯È¿ÇÏÁö ¾ÊÀº Æ÷ÀÎÅÍ.  
·
Swich¿¡¼­ break¸¦ ºü¶ß·È´Ù.¡¡


 ½ÇÁ¦ ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇÏ´Â µð¹ö±ë°úÁ¤À» ¼öÇàÇÏ´Â ¹æ¹ýÀº ¸î °¡Áö ´Ù¸¥ ¼ö´ÜÀ» ÅëÇØ ÀÌ·ê ¼ö ÀÖÁö¸¸ ÇѰ¡Áö ¹æ¹ýÀÎ host¿Í targetÀ» ÀÌ¿ëÇÏ´Â µð¹ö±ë ȯ°æ¼³Á¤°ú ¼ø¼­¿¡ ´ëÇØ À̾߱â ÇÏ¸é ¾Æ·¡¿Í °°½À´Ï´Ù.

 À§ÀÇ ±×¸²°ú °°ÀÌ ¼­·Î ¿¬°áÇÑ ÄÄÇ»ÅÍ¿¡¼­ targetÀÇ Runwdb98.bat¸¦ È®ÀÎÇÏ¿© ÄÄÆ÷Æ® ¹øÈ£¿Í ¼Óµµ¸¦ ¼­·Î Á¶Á¤ÇØ ÁÖ°í ½Ã½ºÅÛÀ» Àç½ÃÀÛ ÇÕ´Ï´Ù. ½Ã½ºÅÛ Àç½ÃÀÛ Áß°£¿¡ F8۸¦ ´­·¯ 5.Command Prompt.¸¦ ¼±ÅÃÇÏ¿© Runwdb98.bat¸¦ ½ÇÇà ½Ãŵ´Ï´Ù. ±×ÈÄ ¿øÇÏ´Â ºÎºÐ¿¡ dbgprint¸¦ ³Ö¾î ÀÌ»óÀÌ ÀÖ´Â ºÎºÐ¿¡ ´ëÇØ ÆÄ¾ÇÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÌ»óÀÌ Rterm98À» ÀÌ¿ëÇÑ ¹æ¹ýÀ̰í ÀÌ ¿Ü¿¡ Windbg, DbgView¸¦ ÀÌ¿ëÇÑ ¹æ¹ýµµ ÀÖ½À´Ï´Ù. ±×¸®°í µð¹ö±ë¿¡ ´ëÇÑ ¼¼¼¼ÇÑ ºÎºÐÀº ½ÃÁß¿¡ ³ª¿Í ÀÖ´Â Visual C++¿¡¼­ º¼ ¼ö°¡ ÀÖÀ» °ÍÀÔ´Ï´Ù.
 µð¹ö±ëÀ» ½±°Ô ÇÏ°í ½Í´Ù¸é ´Ü°èÀû °³¹ß·Î ´Ü°èÀû Å×½ºÆ®¸¦ ÇÏ¸ç ¹®Á¦¸¦ ÇØ°áÇØ ³ª°¡´Â °ÍÀÌ °¡Àå ½¬¿î ¹æ¹ýÀÌ µÉ ¼ö ÀÖÀ» °Í °°½À´Ï´Ù.
¡¡

D2. compile½Ã ¿¡·¯ ´ë󹿹ý

 ÄÄÆÄÀÏÀº ÇϳªÀÇ File ´ÜÀ§·Î ÀÌ·ç¾î Áý´Ï´Ù. µû¶ó¼­ ¿ÀŸ¿¡¼­ ºñ·ÔµÈ À߸øÀ̳ª À߸øµÈ ¹®¹ý¿¡ ´ëÇÑ ¹®Á¦Á¡Àº µîÀÇ ÇϳªÀÇ File¿¡¼­ÀÇ ¿À·ù´Â ÄÄÆÄÀϽà ¿¡·¯·Î ³ªÅ¸³ª°Ô µÇ°í ¿ì¸®´Â À̸¦ ÅëÇØ ¼öÁ¤ÀÌ °¡´ÉÇÕ´Ï´Ù. ÀÌ·± ÄÄÆÄÀϽà ¿¡·¯Áß °¡Àå ¸¹ÀÌ ¹ß»ýÇÏ´Â °ÍÀº ´Ü¿¬ÄÚ Äڵ带 À߸ø ÀÔ·ÂÇÑ °ÍÀÔ´Ï´Ù. Áï ¿ÀŸ·Î ÀÎÇÑ ¹®Á¦°¡ °¡Àå ¸¹´Ù´Â °ÍÀÔ´Ï´Ù. ¾ÆÁÖ ´É¼÷ÇÏ°í ¿À·£ ±â°£ ÄÚµùÀ» Çß´ø ÀÌ¿ÜÀÇ ¸¹Àº Ãʺ¸ÀÚµéÀÌ ¹üÇϱ⠽¬¿î °æ¿ìÁÒ. ±× ¿Ü¿¡µµ ½±°Ô ¹ß»ýÇÏ´Â ¿¡·¯´Â Çì´õFile ºÎºÐÀÇ ¹®Á¦ÀÔ´Ï´Ù. Á¤ÀÇ µÇÁö ¾ÊÀº º¯¼ö³ª ÇÔ¼ö ±× ¿ÜÀÇ ¿©·¯ °¡Áö ºÎºÐÀÌ Á¤ÀÇ µÇÁö ¾Ê¾Æ ¹ß»ýÇÏ´Â ¹®Á¦¸¦ ¸»ÇÏ´Â °ÅÁÒ. ÀÌ ¿Ü¿¡µµ ¿¡·¯¸¦ ÀÏÀ¸Å°´Â ¹®Á¦(Áö¿øÇÏÁö ¾Ê´Â ±â´ÉÀÇ »ç¿ëµî..)´Â ÀÖÁö¸¸ ´ëºÎºÐÀÇ ¹®Á¦´Â ¿©±â¿¡¼­ ¹ß»ýÇÏ°í ±×¿¡ µû¸¥ ´ë󹿾ÈÀ¸·Î´Â ´ÙÀ½°ú °°½À´Ï´Ù.

 ¿¡·¯Ç¥½Ã¿¡ ³ª¿Â ±× FileÀÇ ÇØ´ç¿­¿¡ °¡¼­ ¹®Á¦¸¦ ¹ß»ý½ÃŲ ¿ä¼Ò¸¦ ¼öÁ¤ÇÑ´Ù.(´ëºÎºÐÀÇ ¿ÀŸ¹®Á¦)
 Á¤ÀÇ µÇÁö ¾ÊÀº ºÎºÐ¿¡ ´ëÇØ¼­´Â Çì´õÈ­ÀÏÀ̳ª ÇÔ¼ö¸¦ ÅëÇØ Á¤ÀÇ ÇÑ´Ù.
Çì´õÈ­ÀÏÀÇ Áߺ¹ÀÌ ÀÖÁö ¾ÊÀºÁö È®ÀÎÇÏ°í ±×·¸´Ù¸é ¼öÁ¤ÇÑ´Ù.
 ¸¸¾à À§ÀÇ »çÇ×À» »ìÆìº¸¾Æµµ ¹®Á¦°¡ ¾øÀ» ½Ã¿¡´Â À߸øµÈ ¼ö½ÄÀ̳ª Á¶°ÇµîÀ» »ç¿ëÇÏÁö ¾Ê¾Ò´ÂÁö È®ÀÎÇÏ°í ¼öÁ¤ÇØ º»´Ù.
 ÀÌ ¿Ü¿¡µµ Æ÷ÀÎÅÍÀÇ »ç¿ëÀÌ ¿Ã¹Ù¸¥Áö ÇüÀÇ Á¤Àǰ¡ Á¤È®ÇÑÁö¸¦ È®ÀÎÇÏ´Â °Íµµ ÄÄÆÄÀÏÁß ¹ß»ýÇÏ´Â ¿¡·¯¿¡ ´ëÇÑ ´ë󹿾ÈÀÌ µÉ °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ ÄÄÆÄÀÏÀÇ ¿¡·¯´Â ´Ù¼Ò ¹ß°ßÇϱ⵵ ½±°í ¼öÁ¤ÀÌ ½±Áö¸¸ ½ÇÇà½ÃÄ×À» ¶§ ¹ß»ýÇÏ´Â ¿À·ù¸¦ µð¹ö±ëÀ» ÅëÇØ Á¡°ËÇÏ´Â °ÍÀº ¾î·Æ½À´Ï´Ù. µû¶ó¼­ °¡Àå ÁÁÀº ¹æ¹ýÀº óÀ½ºÎÅÍ ºÎºÐ, ºÎºÐÀÇ ÄÚµù¿¡ ÁÖÀÇ ÇÏ¿©¼­ ÄÚµùÇÑ´Ù¸é ¾ÖÃʺÎÅÍ ¹ß»ýÇÏÁö ¾Ê°ÚÁÒ.^^;
TOP


¡¡

E.¼³Ä¡°ü·Ã(Install, INF)


E1. µå¶óÀ̹ö ÀÛ¼º ¿Ï·á / µå¶óÀ̹ö ´Ù¿î·Îµå ¿Ï·á

 ¼³Ä¡ÇϰíÀÚ ÇÏ´Â µå¶óÀ̹ö¸¦ ÀÛ¼º ¶Ç´Â ´Ù¿î·Îµå ÇÑ ÈÄ ÀúÀåÇØµÐ °æ·Î¸¦ ±â¾ïÇØ µÓ´Ï´Ù.

TOP

E2. ' .INF ' ¹®¼­ ÀÛ¼º.

  INF ¹®¼­´Â MSDN µµ¿ò¸»¿¡ Àִ ǥÇöÀ» Ȱ¿ëÇÏÀÚ¸é, ¼³Ä¡ ¹× ÀνºÅç¿¡ °ü·ÃµÈ Á¤º¸¸¦ ´ã°í ÀÖ´Â ¹®¼­¸¦ ¸»ÇÕ´Ï´Ù. µû¶ó¼­ µå¶óÀ̹ö¸¦ ¼³Ä¡ÇÏ·Á¸é ÀÌ ¹®¼­ÀÇ ÀÛ¼ºÀ» ¹Ýµå½Ã ÇÊ¿ä·Î ÇÏ°Ô µË´Ï´Ù. ÀÌ ÆÄÀÏ¿¡´Â º¹»çÇØ¾ß ÇÒ Ä«ÇÇ¿Í »ý¼ºÇØ¾ß ÇÒ ·¹Áö½ºÅ͸® ¿£Æ®¸® µî, wdm µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ ¼³Ä¡Çϴµ¥ ÇÊ¿äÇÑ ¸ðµç Á¤º¸¸¦ º¸À¯Çϰí ÀÖ½À´Ï´Ù. µû¶ó¼­ ÀÌ ¹®¼­´Â µå¶óÀ̹ö ÀÛ¼ºÀÚ°¡ ¸¸µé¾î ³õ±â ¶§¹®¿¡ ¿ì¸®°¡ Á÷Á¢ ¸¸µé¾î ³õÀ» ¼öµµ ÀÖÁö¸¸ ¼Õ½±°Ô ±âÁ¸ÀÇ Âü°í ¼Ò½º¿¡ ÀÖ´Â ¹®¼­¸¦ ¼öÁ¤ÇÏ¿© ½±°Ô ¸¸µé¾î »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¸¸¾à¿¡ ½ÇÁ¦·Î ¸¸µé¾î¼­ »ç¿ëÇÏ°í ½Í´Ù¸é wdm µð¹ÙÀ̽º µå¶óÀ̹ö¿¡ °ü·ÃµÈ Ã¥À» ÅëÇØ ±× ¹æ¹ýÀ» ¾Ë ¼ö°¡ ÀÖÀ» °ÍÀÔ´Ï´Ù.
ÀÌ INF¹®¼­¿¡¼­ Ưº°È÷ ÁÖÀÇÇØ¾ß ÇÒ °ÍÀº µå¶óÀ̹ö ÆÄÀϳ×ÀÓ°ú ³í¸®Àû ÆÄÀÏÀ̸§(LogDriverName)Áï ÇÁ·ÎÅäÄÝ ³×ÀÓÀ» È¥µ¿ÇÏ¸é ¾ÈµË´Ï´Ù. ¸¸¾à ÀÌ µÎ À̸§ÀÌ °°´Ù¸é ´ÙÇàÀÌÁö¸¸, °æ¿ì¿¡ µû¶ó¼­´Â ´Ù¸£°Ô »ó¿ëÇØ¾ß ÇÒ ¶§µµ ÀÖÀ¸¹Ç·Î INF ¹®¼­¿¡¼­ »ç¿ëµÇ´Â µå¶óÀ̹ö ÆÄÀϳ×ÀÓÀ» ±¸ºÐÇÏ¿©¾ß ÇÕ´Ï´Ù.

¡¡

 À§ÀÇ ±×¸²Àº ±âÁ¸ÀÇ INF ¹®¼­¸¦ ÀÌ¿ëÇÏ¿© ¿ì¸®°¡ »ç¿ëÇÒ¼ö ÀÖµµ·Ï ÀûÀýÈ÷ ¹Ù²Ù´Â ¸ð½ÀÀ» ³ªÅ¸³½ °ÍÀÔ´Ï´Ù. À§È­°°ÀÌ ¿ì¸®´Â Ndis ¹öÀü°ú µå¶óÀ̹ö À̸§µéÀ» ÀûÀýÇÏ°Ô °íÃij־ ½±°Ô ÀÌ¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.(Ç¥½ÃµÈ ºÎºÐ¿Ü ´Ù¸¥ ºÎºÐµéÀÌ ´õ ÀÖ½À´Ï´Ù.)

TOP

E3. ³×Æ®¿öÅ© ȯ°æ¼³Á¤.

 ÀÌÁ¦ ³×Æ®¿öÅ© ȯ°æ¼³Á¤ ¾ÆÀÌÄÜ¿¡¼­ ¿À¸¥ÂÊ ¹öưÀ» Ŭ¸¯ÇÏ¸é ¾Æ·¡¿¡ Àִ âÀÌ ³ªÅ¸³ª°Ô µË´Ï´Ù. ±×·¯¸é Ãß°¡ ÅÇÀ» Ŭ¸¯ÇÕ´Ï´Ù



TOP

E4. ÇÁ·ÎÅäÄÝ ¼±ÅÃ.

 À§ÀÇ ±×¸²Ã³·³ Ãß°¡ÅÇÀ» Ŭ¸¯ÇÏ¸é ´ÙÀ½°ú °°Àº âÀÌ ³ªÅ¸³ª°Ô µÉ °ÍÀÔ´Ï´Ù.±×·¯¸é ÇÁ·ÎÅäÄÝÀ» ¼±ÅÃÇÕ´Ï´Ù.


TOP

E5. °æ·Î¼³Á¤.

 ÇÁ·ÎÅäÄÝÀ» ¼±ÅÃÇßÀ¸¸é ÀÛ¼ºÇÑ µå¶óÀ̹ö°¡ ÀÖ´Â °æ·Î¸¦ ¼±ÅÃÇÕ´Ï´Ù.



¡¡  °æ·Î¼³Á¤ÀÌ ³¡³µÀ¸¸é ¼³Á¤À» À§ÇÑ ½Ã½ºÅÛÀÇ Àç½ÃÀÛ ¿©ºÎ¸¦ ¹°¾îº¼ °ÍÀÔ´Ï´Ù. ±×·¯¸é Àç½ÃÀÛÀ» ¼±ÅÃÇÏ¸é ¼³Ä¡°¡ ³¡³³´Ï´Ù.


TOP


¡¡

F.±âŸ

F1. DDK¸¦ ±¸ÇÏ´Â ¹æ¹ý & ¼³Ä¡ ¹æ¹ý(VC++, SDK, DDK ¼³Ä¡¼ø¼­)

¢º DDK ±¸ÇÏ´Â ¹ý
 ddk¸¦ °¡Àå ÀϹÝÀûÀ¸·Î ±¸ÇÒ¼ö ÀÖ´Â ¹æ¹ýÀº MS¸¦ ÅëÇØ ´Ù¿î·Îµå Çϰųª MSDN¿¡ °¡ÀÔÇÏ¿© ¾ò´Â °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ À§ÀÇ Ç¥¿¡¼­ º¸µíÀÌ Visual C++À» ¼³Ä¡Çϱ⸸ ÇØµµ ÀÚµ¿ÀûÀ¸·Î Á¦°ø¹ÞÀ» ¼ö ÀÖ´Â ddk°¡ ÀÖÀ¸¹Ç·Î ÀÌÁ¡ ¾Ë¾ÆµÎ½Ã±â ¹Ù¶ø´Ï´Ù.
 

¢º DDK ¼³Ä¡¹æ¹ý
1. VC6 ¼³Ä¡.
2. SDK ¼³Ä¡.
3. DDK ¼³Ä¡.
4. ȯ°æ¼³Á¤.
(ÁÖÀÇ)
  ȯ°æº¯¼ö°¡ ¸ðÀÚ¶ó¸é ÄÄÆÄÀÏÀÌ ¾ÈµÇ¹Ç·Î VC6¿Í SDKÀÇ À̸§À» ÁÙ¿© ¾²µµ·Ï Çϰųª ȯ°æº¯¼ö ¼³Á¤À» ÇØ ÁÖ¾î¾ß ÇÑ´Ù. 

  ȯ°æ º¯¼ö °ø°£ Áõ°¡Çϱâ
 Config.SysÆÄÀÏ¿¡ ´ÙÀ½ÁÙÀ» Ãß°¡ÇÑ´Ù.
shell=C:\command.com /p /e:4096
ÀÌ ¸í·É¾î´Â 4096(4Kbyte)ÀÇ È¯°æ °ø°£À» Á¦°øÇÑ´Ù. ¸¸¾à out of environment space ¸Þ½ÃÁö°¡ ¹ß»ýÇϸéÀº ȯ°æ °ø°£À» ´õ Å©°Ô ´Ã·ÁÁÖ¸é µÈ´Ù.
 

TOP

F2. Âü°í Site(Dirver, Network, NDIS°ü·Ã Site Link), Ã¥ ¼Ò°³ / Sample Source¸¦ ¾îµð¿¡¼­ ±¸ÇÏ´ÂÁö ±Ã±ÝÇÕ´Ï´Ù.

¢¹ Âü°í »çÀÌÆ®
 www.microsoft.com /hwdev/Network //ndis°ü·Ã
 http://www.pcausa.com // ndis°ü·Ã
 http://www.hollistech.com //IP Hook »ùÇüҽº
 www.sysinternals.com //¸ð´ÏÅ͸µ ÇÁ·Î±×·¥.

¢¹ Âü°í¼­Àû
 NDIS ¿¡ °üÇÑ Ã¥Àº °ÅÀÇ ¾ø½À´Ï´Ù. ÀϺΠµð¹ÙÀ̽º µå¶óÀ̹ö Ã¥¿¡ ³ª¿À´Â NDIS °ü·Ã ºÎºÐµµ °ÅÀǰ¡ ddk ³»¿ëÀÇ ¾ÆÁÖ ÀÛÀº ÀϺκÐÀÏ »Ó ÀÔ´Ï´Ù. ¿ª½Ã, °¡Àå ÁÁÀº Âü°í¼­´Â ddk µµÅ¥¸ÕÆ®À̰í, À̺¸´Ù ÁÁÀº Âü°í¼­´Â ¾ø´Ù°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù.

¢¹ »ùÇüҽº
 ddk ¿¹Á¦ »ùÇà ¼Ò½º
 vpacket ¼Ò½º
 zpacket ¼Ò½º
 winpcap ¼Ò½º
 ±âŸ À̿ܿ¡µµ ¸î°¡Áö ¼Ò½ºµéÀÌ ÀÖÁö¸¸ ÀϹÝÀûÀ¸·Î »ùÇüҽº·Î ÀÌ¿ëÇϱ⿡´Â ÀÌÁ¤µµ ÀÔ´Ï´Ù.
 

TOP

F3. µ¥ÀÌŸµéÀ» ¾îÇø®ÄÉÀ̼ǿ¡¼­ È®ÀÎ ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¾Ë°í ½Í½À´Ï´Ù.

 µ¥ÀÌÅ͸¦ ¾îÇø®ÄÉÀ̼ǿ¡¼­ È®ÀÎÇÑ´Ù´Â °ÍÀº °á±¹ µå¶óÀ̹ö¿Í ¾îÇø®ÄÉÀ̼ǰúÀÇ Åë½Å°ü°è°¡ ±× ¸ðµç °ÍÀ» À̾߱â ÇØ ÁÝ´Ï´Ù. ÇÁ·ÎÅäÄÝÃþÀÇ ³×Æ®¿öÅ© ºÐ¼®±âÀÇ ºÐ¼®³»¿ëÀ» ¿ì¸®°¡ º¼¼öÀÖ´Â ¾îÇø®ÄÉÀÌ¼Ç ÃþÀ¸·Î º¸³½´Ù´Â ÀǹÌÀÔ´Ï´Ù. ÀÌ Åë½Å°ü°è¿¡ ´ëÇÑ ¸ð½ÀÀº ´ë·« ÀÌ·¸½À´Ï´Ù.

 µå¶óÀ̹ö¿Í ¾îÇø®ÄÉÀ̼ǰúÀÇ Åë½Å¿¡¼­ ÀÌ·ç¾îÁö´Â ¸ÞÀÌÀú ÇÔ¼ö´Â ¼­·Î À§ÀÇ ±×¸²Ã³·³ ¿¬°áÀÌ µË´Ï´Ù. ÀÌ·¯ÇÑ ¸ÞÀÌÀú ÇÔ¼öÀÇ »ç¿ëÀº µå¶óÀ̹öÃþ¿¡¼­ ºÐ¼®ÇÑ µ¥ÀÌÅ͸¦ ¿ì¸®¿¡°Ô Á÷Á¢ º¸¿©ÁÙ ¼ö°¡ ÀÖ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ¸ÞÀÌÀú ÇÔ¼öÀÇ »ç¿ë°ú IRP¿¡ ´ëÇÑ »çÇ×µéÀº ¹«Ã´À̳ª ±¤¹üÀ§ÇÏ°í ¸¹Àº ºÐ·®ÀÇ ¼³¸íÀÌ ÇÊ¿äÇÑ ºÎºÐÀÔ´Ï´Ù. Ã¥À¸·Î ½á³»µµ µÎ ¼¼±ÇÀ¸·Î ½á³¾ ¼ö ÀÖÀ» Á¤µµ·Î ¸¹Àº ºÐ·®À̹ǷΠÀÌ¿¡ ´ëÇØ ±Ã±ÝÇÑ Á¡Àº ½ÃÁß¿¡ ³ª¿ÍÀÖ´Â WDM°ü·Ã Ã¥ÀÚ µîÀ» ÅëÇØ ÀÚ¼¼È÷ ¾Ë ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

TOP

¡¡

¡¡