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

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

À§ÀÇ ±×¸²Àº ¼ö½Å½Ã ¸Þ¸ð¸®¿¡ µ¥ÀÌÅͰ¡
µé¾î°¡°í ±× ¹°¸®ÆäÀÌÁö¿¡ ´ëÇÑ µð½ºÅ©¸³Å͸¦
Àоî¿À´Â ±×¸²ÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î ¼ö½Å½Ã µ¥ÀÌÅͰ¡
¹°¸®¸Þ¸ð¸®¿¡ ÀúÀåµÇ°í ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇϸé¼
Â÷·Ê·Î ÀÌ·¯ÇÑ ¸ð½ÀÀ¸·Î ¹°¸®¸Þ¸ð¸®¿Í °¡»óÁÖ¼Ò,
¹öÆÛÇ®, ÆÐŶǮ¿¡ °¢°¢ÀÇ ¿ä¼Ò°¡ ÇÒ´çµÇ°Ô µÇ´Âµ¥,
À̿ʹ ´Þ¸® ÀÌ·¯ÇÑ ÇÒ´çÀ» ¹Ì¸® ÇÏ¿´´Ù°¡ ÀÎÅÍ·´Æ®°¡
¹ß»ýÇÏ´Â ¼ø°£ Æ÷ÀÎÅ͸¦ ÀÌ¿ëÇÏ¿© ¹°¸®¸Þ¸ð¸®¿¡
ÀúÀåµÈ µ¥ÀÌÅ͸¦ ¹Ù·Î °¡Áö°í ¿À´Â ¼öµµ ÀÖ½À´Ï´Ù.
À̰ÍÀÌ ¿ì¸®°¡ ÀÓÀÇ·Î ÆÐŶÀ» ¸¸µé¾î ¼ö½ÅÇÏ´Â ¹æ¹ýÀÌ
µÇ´Â °ÍÀÔ´Ï´Ù.
TOP
¡¡ B. Miniport,
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. P rotocol
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.D ebugging,
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 ¹öÀü°ú µå¶óÀ̹ö À̸§µéÀ»
ÀûÀýÇÏ°Ô °íÃÄ³Ö¾î¼ ½±°Ô ÀÌ¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.(Ç¥½ÃµÈ
ºÎºÐ¿Ü ´Ù¸¥ ºÎºÐµéÀÌ ´õ ÀÖ½À´Ï´Ù.)
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
¡¡
|