forked from KolibriOS/kolibrios
f28b4ac95f
git-svn-id: svn://kolibrios.org@1737 a494cfbc-eb01-0410-851d-a64ba20cac60
379 lines
13 KiB
Plaintext
379 lines
13 KiB
Plaintext
—â® ®áãé¥á⢫¥®
|
||
==================
|
||
|
||
‘«¥¤ãî騥 ®á®¡¥®á⨠¯à¨áãâáâ¢ãîâ ¢ ª®¤¥ TCP/IP á⥪ :
|
||
|
||
|
||
“஢¥ì IP.
|
||
ICMP.
|
||
“஢¥ì TCP.
|
||
“஢¥ì UDP.
|
||
‹®ª «ìë© ¢®§¢à â 横« .
|
||
Realtek 8029 ¨â¥à䥩ᮢ á¥â¨ áâ ¤ àâ Ethernet PCI.
|
||
Realtek 8139 ¨â¥à䥩ᮢ á¥â¨ áâ ¤ àâ Ethernet PCI.
|
||
Intel i8255x PCI ¨â¥à䥩á á¥â¨ áâ ¤ àâ Ethernet.
|
||
„¨ ¬¨ç¥áª ï â ¡«¨æ ¯à®â®ª®« ®¯à¥¤¥«¥¨ï ¤à¥á®¢.
|
||
Point-to-point ¯à®â®ª®«(PPP)
|
||
|
||
ˆ á«¥¤ãî騥 ˆâ¥à¥â ¯à®£à ¬¬ë:
|
||
|
||
HTTP á¥à¢¥à
|
||
POP ª«¨¥â
|
||
Telnet
|
||
DNS Name resolver
|
||
Mp3 á¥à¢¥à
|
||
TFTP ª«¨¥â
|
||
IRC ª«¨¥â
|
||
FTP ª«¨¥â
|
||
PPP - §¢®¨«ª
|
||
|
||
…áâì àï¤ íªá¯¥à¨¬¥â «ìëå ¯à¨«®¦¥¨© ¤«ï ¯à®¨£àë¢ ¨ï ¯®â®ª®¢®© ¬ã§ëª¨ ¨
|
||
¢ë¯®«¥¨ï ¢§ ¨¬®¤¥©áâ¢¨ï ¯à®æ¥áᮢ ç¥à¥§ ᮪¥âë. ’ ª¦¥ ¥áâì ¯à®áâ¥ìª¨©
|
||
¡à 㧥à, ¯®§¢®«ïî騩 « §¨âì ¯® ¢á¥¬¨à®© ¯ ã⨥(WWW).
|
||
|
||
|
||
—â® ¥ ®áãé¥á⢫¥®
|
||
===================
|
||
|
||
“஢¥ì IP ¥ ®¡à ¡ âë¢ ¥â ®¯æ¨¨ § £®«®¢ª .
|
||
“஢¥ì IP ¥ ¯®¤¤¥à¦¨¢ ¥â ¬ àèàã⨧ æ¨î.
|
||
”à £¬¥â æ¨ï ¯ ª¥â ¥ ¯®¤¤¥à¦¨¢ ¥âáï.
|
||
|
||
|
||
Š®ä¨£ãà æ¨ï PPP ¢ Š®«¨¡à¨
|
||
===========================
|
||
|
||
‘¬®âà¨â¥ ppp.txt(¨«¨ ppp_rus.txt á àãá᪨¬ ¯¥à¥¢®¤®¬)
|
||
|
||
|
||
Š ª ᪮䨣ãà¨à®¢ âì Š®«¨¡à¨ ¤«ï «®ª «ì®© á¥â¨
|
||
==============================================
|
||
|
||
„«ï ç « ã ¢ á ¤®«¦ ¡ëâì á¥â¥¢ ï ª àâ áâ ¤ àâ Ethernet ¨«¨, ¥á«¨ ¥ñ ¥â,
|
||
¢áâ஥ãî ¢ ¢ èã á¨á⥬ãî ¯« âã. …᫨ ¢ë, ¥ § ¥â¥, ¥áâì «¨ ã ¢ á á¥â¥¢ ï
|
||
ª àâ , â® ¯à®¡ã©â¥ ᪮䨣ãà¨à®¢ âì á⥪. …᫨ ® ¥áâì ¨ ¯®¤¤¥à¦¨¢ ¥âáï, â®
|
||
ᬮ¦¥â¥ ¨á¯®«ì§®¢ âì ¥ñ.
|
||
|
||
“áâ ®¢ª â ¡«¨æë ¯à®â®ª®« ®¯à¥¤¥«¥¨ï ¤à¥á®¢
|
||
-----------------------------------------------
|
||
|
||
’ ¡«¨æ ¯à®â®ª®« ®¯à¥¤¥«¥¨ï ¤à¥á®¢ ¢ Š®«¨¡à¨ 㦥 ¤¨ ¬¨ç¥áª¨ ᮧ¤ ¨
|
||
᪮䨣ãà¨à®¢ . ‚ë ¬®¦¥â¥ ¯®á¬®âà¥âì, á ª ª¨¬¨ ª®¬¯ìîâ¥à ¬¨ Š®«¨¡à¨ à ¡®â ¥â,
|
||
¢ë¯®«¨¢ ¯à¨«®¦¥¨¥ ARPSTAT.
|
||
|
||
<EFBFBD>®¤ª«î票¥ ª «®ª «ì®© á¥â¨
|
||
---------------------------
|
||
|
||
‡ £à㧨⥠Š®«¨¡à¨, § ⥬ ¢ë¡¥à¨â¥ STACKCFG(ª®ä¨£ãà æ¨ï á⥪ ) ¢ ¬¥î NET(á¥âì).
|
||
|
||
<EFBFBD> ¦¬¨â¥ Š®¯ªã '—⥨ï', § ⥬ ¢ë¡¥à¨â¥ '„à ©¢¥à <20> ª¥â '.
|
||
<EFBFBD> ¦¬¨â¥ "Change"(¢ë¡®à) à冷¬ á ¤à¥á®¬ IP, ¨ ¢¢¥¤¨â¥ ã¦ë© IP, ª®â®àë© ¢ë
|
||
å®â¨â¥ ¨á¯®«ì§®¢ âì. “¤®á⮢¥àìâ¥áì, çâ® ® 室¨âáï ¢ ⮩ ¦¥ á ¬®© ¯®¤á¥â¨,
|
||
çâ® ¨ á ¬ «®ª «ì ï á¥âì, ª ª®â®à®© ¢ë ¯®¤ª«îç¥ë. <20> ¦¬¨â¥ "Apply"(¯à¨¬¥¨âì)
|
||
¤«ï ¯®¤â¢¥à¦¤¥¨ï ¨§¬¥¥¨©.
|
||
‡ ªà®©â¥ ¯à®£à ¬¬ã.
|
||
|
||
‘⥪ ᪮䨣ãà¨à®¢ ¨ § ¯ãé¥. ‚ë ¬®¦¥â¥ ¯à®¢¥à¨âì ¥£® à ¡®âã, ¯à®¯¨£®¢ ¢
|
||
Š®«¨¡à¨ á 㤠«¥®£® ª®¬¯ìîâ¥à .
|
||
|
||
‘ ¬ë© ¯à®á⮩ ᯮᮡ ¯®¤ª«îç¨âì ¤¢ PC ¢¬¥á⥠- íâ® ¨á¯®«ì§®¢ âì ã«¥¢®¥
|
||
¬®¤¥¬®¥ ᮥ¤¨¥¨¥. <20>â® ®¡ë箥 ᮥ¤¨¥¨¥ ª®¬¯ìîâ¥à®¢ ¯®á।á⢮¬ ª ¡¥«ï. Ž¨
|
||
¬®£ãâ ¡ëâì ªã¯«¥ë ¢¬¥áâ¥ á ¯ ¬ïâìî ¨«¨ ¯à®á⮠ᤥ« ë. <20>®¤à®¡®á⨠¬®¦® ©â¨
|
||
¢ ˆâ¥à¥â¥. ˆé¨â¥ ¯®¨áª®¢¨ª å, ( ¯à¨¬¥à www.gogle.ru) ¢¢¥¤ï ¢ áâபã
|
||
¯®¨áª : '®à£ ¨§ æ¨ï ᮥ¤¨¥¨ï ª®¬¯ìîâ¥à®¢ á ¯®¬®éìî ª ¡¥«ï' ¨«¨ ¯®¤®¡ë¥.
|
||
|
||
Š ª ¨á¯®«ì§®¢ âì TCP/IP ¡¥§ ¯®¤ª«îç¥¨ï ª á¥â¨
|
||
=============================================
|
||
|
||
Š®«¨¡à¨ ¯®¤¤¥à¦¨¢ ¥â ä®à¬ã «®ª «ì®£® ¢®§¢à â 横« , íâ® § ç¨â, çâ®
|
||
¯à¨«®¦¥¨ï ®¤®¬ ¨ ⮬ ¦¥ á ¬®¬ PC ¬®£ãâ ®¡é âìáï ¤àã£ á ¤à㣮¬ ç¥à¥§
|
||
᮪¥âë, ª ª ¥á«¨ ¡ë ®¨ 室¨«¨áì 㤠«ñëå ª®¬¯ìîâ¥à å. —⮡ë ᮥ¤¨ïâìáï
|
||
á ¯à¨«®¦¥¨¥¬ «®ª «ì®© ¬ 訥, ®¯à¥¤¥«¨â¥ «®ª «ìë© ¤à¥á IP ª ª ¤à¥á
|
||
§ 票ï. ‚ë ¤ ¦¥ ¥ ¤®«¦ë ª®ä¨£ãà¨à®¢ âì á⥪ ¤«ï á¥â¨ áâ ¤ àâ Ethernet,
|
||
«®ª «ìë© ¢®§¢à â 横« ¡ã¤¥â à ¡®â âì ¡¥§ «î¡ëå á¥â¥¢ëå, ¯¯ à âëå á।áâ¢.
|
||
•®à®è® ¯®¤å®¤¨â ¤«ï ¯à®¢¥àª¨ ¨ ®â« ¤ª¨ á¥â¥¢ëå ¯à¨«®¦¥¨©.
|
||
|
||
<EFBFBD>ਪ« ¤®© ¯à®£à ¬¬ë© ¨â¥à䥩á
|
||
================================
|
||
|
||
<EFBFBD> §à ¡®â稪 ¬®¦¥â ®¡à â¨âìáï ª á⥪ã ç¥à¥§ ¯à¥àë¢ ¨¥ 0x40, äãªæ¨¨ 53. ” ©«
|
||
TFTPC.ASM - å®à®è¨© ¯à¨¬¥à ⮣®, ª ª ¬®¦® ¨á¯®«ì§®¢ âì ¯à®£à ¬¬ë© ¨â¥à䥩á
|
||
(¯® ªà ©¥© ¬¥à¥, ¤«ï UDP), ® ª ª á¥â¥¢ ï ª®¬¬ã¨ª æ¨ï, ¤®¢®«ì® á«®¦¥. Ÿ ¤ ¬
|
||
ªà ⪨© ®¡§®à.
|
||
|
||
‘®ª¥âë
|
||
=======
|
||
|
||
<EFBFBD>ਫ®¦¥¨ï ᮥ¤¨ïîâáï ¤àã£ á ¤à㣮¬ ¨ ¯¥à¥¤ îâ ¨ä®à¬ æ¨î ¬¥¦¤ã ᮡ®© ç¥à¥§
|
||
¬¥å ¨§¬, §¢ ë© '᮪¥â®¬'. ‘®ª¥âë - ®ª®¥çë¥ â®çª¨ ¤«ï ª®¬¬ã¨ª 樨. „«ï
|
||
ª ¦¤®£® 㦮£® á¥â¥¢®£® ¯à¨«®¦¥¨ï ¤®«¦¥ ¡ëâì ®âªàëâ å®âï ¡ë ®¤¨ ᮪¥â.
|
||
|
||
ˆá¯®«ì§®¢ ¨¥ ᮪¥â®¢ ¥¬®£® ¯®å®¤¨â ¨á¯®«ì§®¢ ¨ï ä ©«®¢ ¢ Ž‘. ‚ë
|
||
®âªàë¢ ¥â¥, ç¨â ¥â¥ ¨ ¯¨è¥â¥ ¢ ¨å, § ⥬ § ªàë¢ ¥â¥. …¤¨á⢥ ï ¢¥éì,
|
||
ª®â®à ï ¤¥« ¥â ¦¨§ì ¥¬®£® ¡®«¥¥ á«®¦®© - íâ® â®, çâ® ¢ ®â«¨ç¨¥ ®â à ¡®âë á
|
||
ä ©« ¬¨, ã ¢ á ¯®ï¢¨âáï âà㤮á⨠á à ¡®â®© ᮪¥â®¢ ( ¯à¨¬¥à, ¥ § å®ç¥â
|
||
§ ªàë¢ âìáï)
|
||
|
||
<EFBFBD>®§ ª®¬¨¬áï á â¥à¬¨®«®£¨¥© ¯à¥¦¤¥, 祬 ¬ë ¯®©¤ñ¬ ¤ «ìè¥.
|
||
|
||
*‘®ª¥â “¨ª «ìë© ¨¤¥â¨ä¨ª â®à, ¨á¯®«ì§ã¥¬ë© ¯à¨«®¦¥¨¥¬ ¤«ï
|
||
ª®¬¬ã¨ª 樨.
|
||
|
||
*‹®ª «ìë© ¯®àâ —¨á«®, ª®â®à®¥ ¨¤¥â¨ä¨æ¨àã¥â 㦮¥ ¯à¨«®¦¥¨¥
|
||
«®ª «ì®¬ ª®¬¯ìîâ¥à¥. <20>®àâë - ᯮᮡ, ¯®§¢®«ïîé¨å ¬®¦¥á⢠¬ ¯à¨«®¦¥¨©
|
||
®¡é âìáï á ¤à㣨¬¨ ª®¬¯ìîâ¥à ¬¨, ¡« £®¤ àï 祬㠥⠯ãâ ¨æë ¢ ¯¥à¥¤ ¢ ¥¬ëå
|
||
¤ ëå (’¥å¨ç¥áª®¥ ®¯à¥¤¥«¥¨¥ '¬ã«ì⨯«¥ªáë¥'). —¨á«® ¯®àâ - 16 ¡¨â.
|
||
|
||
*“¤ «ñë© ¯®àâ —¨á«®, ª®â®à®¥ ¨¤¥â¨ä¨æ¨àã¥â ¯à¨«®¦¥¨¥ 㤠«ñ®¬
|
||
ª®¬¯ìîâ¥à¥, ª ª®â®à®¬ã ¬ë ®¡à é ¥¬áï. <20> 㤠«ñ®¬ ª®¬¯ìîâ¥à¥ - íâ® '«®ª «ìë©
|
||
¯®àâ'. —¨á«® ¯®àâ - 16 ¡¨â.
|
||
|
||
*€¤à¥á IP <20>â® 32 ¡¨â®¥ ç¨á«®, ª®â®à®¥ ¨¤¥â¨ä¨æ¨àã¥â 㤠«ñë© PC,
|
||
á ª®â®àë¬ ¬ë ®¡é ¥¬áï.
|
||
|
||
*<2A> áá¨¢ë© à¥¦¨¬ <20>⮠०¨¬, ¢ ª®â®à®¬ ᮪¥â ®âªàëâ, «®ª «ìë© PC ¦¤ñâ
|
||
ᮥ¤¨¥¨ï.
|
||
|
||
*€ªâ¨¢ë© ०¨¬ <20>⮠०¨¬, ¢ ª®â®à®¬ ᮪¥â ®âªàëâ, «®ª «ìë© PC ¯ëâ ¥âáï
|
||
ᮥ¤¨¨âìáï á 㤠«ñë¬ PC.
|
||
|
||
‘®¥¤¨ïïáì á ᮪¥â®¬ 㤠«¥®¬ PC, ¢ë ¤®«¦ë ¥ ⮫쪮 ®¯à¥¤¥«¨âì IP ¤à¥á,
|
||
® ¨ ¯®«®áâìî ª¢ «¨ä¨æ¨à®¢ âì ¥£®, â.¥. ®¯à¥¤¥«¨âì IP ¤à¥á ¨ ç¨á«® ¯®àâ .
|
||
ˆ ç¥ á⥪ 㤠«ñ®¬ PC ¥ ¡ã¤¥â § âì, ª ª®¬ã ¯à¨«®¦¥¨î ¯à¥¤ § ç îâáï
|
||
¯®á« ë¥ ¤ ë¥. ‚®â ¥¡®«ì让 ¯à¨¬¥à:
|
||
|
||
192.168.1.10:80 ;Œë ¯à¨á®¥¤¨ï¥¬áï ª ª®¬¯ìîâ¥àã á IP ¤à¥á®¬ 192.168.1.10 ª
|
||
80 ¯®àâã.
|
||
|
||
—¨á« ¯®àâ ïîâáï ¢ ¦ë¬¨. <20>¥ª®â®àë¥ '¨§¢¥áâë' ¨ ®¡¥á¯¥ç¨¢ îâ ¤®áâ㯠ª
|
||
®¡é¨¬ ¯à¨«®¦¥¨ï¬. <20> ¯à¨¬¥à, ¯®àâ 80 ¨á¯®«ì§ã¥âáï á¥à¢¥à ¬¨ £¨¯¥à⥪á⮢®£®
|
||
âà ᯮà⮣® ¯à®â®ª®« (HTTP). ’ ª¨¬ ¯ãâñ¬ ï ¬®£ã ᮥ¤¨¨âìáï á ¢¥¡á¥à¢¥à®¬
|
||
㦮¬ ª®¬¯ìîâ¥à¥ ¡¥§ ¥®¡å®¤¨¬®á⨠㧠¢ âì ¯à®á«ã訢 ¥¬ë© ¯à¨«®¦¥¨¥¬ ®¬¥à
|
||
¯®àâ .
|
||
|
||
Š ª ¢ë § ¥â¥, ¥áâì ¤¢ ०¨¬ : <20> áá¨¢ë© ¨ €ªâ¨¢ë©. ‚¥¡á¥à¢¥à ®âªàë«
|
||
¯ áá¨¢ë© á®ª¥â, ¯®áª®«ìªã ® ¦¤¥â ¢å®¤ïé¨å § ¯à®á®¢ ¯®¤ª«î票¥.
|
||
Web-¡à®ã§¥à ®âªàë« ªâ¨¢ë© ᮪¥â, ¯®â®¬ã çâ® ® ¯ëâ ¥âáï ᮥ¤¨¨âìáï á
|
||
㪠§ ë¬ ã¤ «ñë¬ ª®¬¯ìîâ¥à®¬.
|
||
|
||
„®áâ㯠ª ¯à®£à ¬¬¨à®¢ ¨î ¨â¥à䥩á
|
||
====================================
|
||
<EFBFBD> §à ¡®â稪 ®¡à é ¥âáï ª äãªæ¨ï¬ á⥪ ç¥à¥§ ¯à¥àë¢ ¨¥ 0x40, äãªæ¨¨ 53. Š
|
||
¥ª®â®àë¬ äãªæ¨ï¬ ¬®¦® ®¡à â¨âìáï ç¥à¥§ äãªæ¨î 52, ® ®¨ £« ¢ë¬ ®¡à §®¬
|
||
¯à¥¤ § ç¥ë ¤«ï ª®ä¨£ãà 樨 á⥪ .
|
||
‚®â äãªæ¨©, ª®â®àë¥ ¢ë ¬®¦¥â¥ ¨á¯®«ì§®¢ âì:
|
||
|
||
<EFBFBD>®«ãç ¥¬ «®ª «ìë© IP ¤à¥á
|
||
---------------------------
|
||
eax = 52
|
||
ebx = 1
|
||
|
||
IP ¤à¥á ¢®§¢à ⨫áï ¢ eax (¢ ¢¨¤¥ ¡ ©â®¢, ¨§ ª®â®àëå á®á⮨⠈â¥à¥â ¤à¥á)
|
||
|
||
‡ ¯¨áì ¤«ï à ᯮ«®¦¥¨ï ¢ á⥪¥ ¢å®¤®© ®ç¥à¥¤¨
|
||
-----------------------------------------------
|
||
eax = 52
|
||
ebx = 6
|
||
edx = ç¨á«® ¡ ©â®¢ ¤«ï § ¯¨á¨
|
||
esi = 㪠§ â¥«ì ¤ ë¥ (¢ ¯à¨ª« ¤®¬ ¯à®áâà á⢥)
|
||
|
||
<EFBFBD>® ¢®§¢à 饨î, ¢ eax ᮤ¥à¦¨âáï 0, ¥á«¨ OK, ¨«¨ 0xFFFFFFFF, ¥á«¨ ®è¨¡ª .
|
||
<EFBFBD>â®â ¨â¥à䥩á - ⮫쪮 ¤«ï ¬¥¤«¥ëå á¥â¥¢ëå ¤à ©¢¥à®¢ (PPP, SLIP)
|
||
|
||
—⥨¥ ¤ ëå ¨§ á¥â¥¢®© ®ç¥à¥¤¨ ¢ë¢®¤
|
||
---------------------------------------
|
||
eax = 52
|
||
ebx = 8
|
||
esi = 㪠§ â¥«ì ¤ ë¥ (¢ ¯à¨ª« ¤®¬ ¯à®áâà á⢥)
|
||
|
||
<EFBFBD>® ¢®§¢à 饨î, eax áç¨â ¥â ç¨á«® ¡ ©â®¢ ¯¥à¥¤ ë¬.
|
||
<EFBFBD>â®â ¨â¥à䥩á - ⮫쪮 ¤«ï ¬¥¤«¥ëå á¥â¥¢ëå ¤à ©¢¥à®¢ (PPP, SLIP)
|
||
|
||
Žâªàë¢ ¥¬ UDP ᮪¥â
|
||
-------------------
|
||
eax = 53
|
||
ebx = 0
|
||
ecx = «®ª «ìë© ¯®àâ
|
||
edx = 㤠«¥ë© ¯®àâ
|
||
esi = 㤠«¥ë© ip ¤à¥á (¢ ¢¨¤¥ ¡ ©â®¢, ¨§ ª®â®àëå á®á⮨⠈â¥à¥â ¤à¥á)
|
||
|
||
<EFBFBD>®¬¥à ᮪¥â ¢®§¢à éñ ¢ eax.
|
||
‚®§¢à é ¥¬®¥ § 票¥ 0xFFFFFFFF ®§ ç ¥â, ç⮠᮪¥âë ¥ ®âªà뫨áì.
|
||
|
||
Žâªàë¢ ¥¬ TCP ᮪¥â
|
||
-------------------
|
||
eax = 53
|
||
ebx = 5
|
||
ecx = «®ª «ìë© ¯®àâ
|
||
edx = 㤠«¥ë© ¯®àâ
|
||
esi = 㤠«¥ë© ip ¤à¥á (¢ ¢¨¤¥ ¡ ©â®¢, ¨§ ª®â®àëå á®á⮨⠈â¥à¥â ¤à¥á)
|
||
edi = ०¨¬: SOCKET_PASSIVE ¨«¨ SOCKET_ACTIVE (®¯à¥¤¥«ñ ¢ stack.inc)
|
||
|
||
<EFBFBD>®¬¥à ᮪¥â ¢®§¢à é ¥âáï ¢ eax.
|
||
‚®§¢à é ¥¬®¥ § 票¥ 0xFFFFFFFF ®§ ç ¥â, ç⮠᮪¥âë ¥ ®âªà뫨áì.
|
||
|
||
‡ ªàë⨥ ᮪¥â (’®«ìª® UDP)
|
||
----------------------------
|
||
eax = 53
|
||
ebx = 1
|
||
ecx = ®¬¥à ᮪¥â
|
||
|
||
<EFBFBD>® ¢®§¢à 饨î, ¢ eax ᮤ¥à¦¨âáï 0, ¥á«¨ OK, ¨«¨ 0xFFFFFFFF, ¥á«¨ ®è¨¡ª .
|
||
|
||
‡ ªàë⨥ ᮪¥â (’®«ìª® TCP)
|
||
----------------------------
|
||
eax = 53
|
||
ebx = 8
|
||
ecx = ç¨á«® ᮪¥â
|
||
|
||
<EFBFBD>® ¢®§¢à 饨î, ¢ eax ᮤ¥à¦¨âáï 0, ¥á«¨ OK, ¨«¨ 0xFFFFFFFF, ¥á«¨ ®è¨¡ª .
|
||
|
||
Ž¯à®á ᮪¥â
|
||
-------------
|
||
eax = 53
|
||
ebx = 2
|
||
ecx = ®¬¥à ᮪¥â
|
||
|
||
<EFBFBD>® ¢®§¢à 饨î, eax á®åà ï¥â ç¨á«® ¡ ©â®¢ ¢ ¢®§¢à éñ®¬ ¡ãä¥à¥.
|
||
|
||
—⥨¥ ¤ ëå á ᮪¥â
|
||
----------------------
|
||
eax = 53
|
||
ebx = 3
|
||
ecx = ç¨á«® ᮪¥â
|
||
|
||
<EFBFBD>® ¢®§¢à 饨î, eax ᮤ¥à¦¨â ç¨á«® á®åà ñëå ¡ ©â, bl ᮤ¥à¦¨â ¡ ©â ¤ ëå.
|
||
|
||
‡ ¯¨áì ¢ ᮪¥â (’®«ìª® UDP)
|
||
---------------------------
|
||
eax = 53
|
||
ebx = 4
|
||
ecx = ç¨á«® ᮪¥â
|
||
edx = ç¨á«® ¡ ©â®¢ ¤«ï § ¯¨á¨
|
||
esi = 㪠§ â¥«ì ¤ ë¥ (¢ ¯à¨ª« ¤®¬ ¯à®áâà á⢥)
|
||
|
||
<EFBFBD>® ¢®§¢à 饨î, ¢ eax ᮤ¥à¦¨âáï 0, ¥á«¨ OK, ¨«¨ 0xFFFFFFFF, ¥á«¨ ®è¨¡ª .
|
||
|
||
‚®§¢à 饨¥ á®áâ®ï¨ï ᮪¥â (’®«ìª® TCP)
|
||
-----------------------------------------
|
||
eax = 53
|
||
ebx = 6
|
||
ecx = ®¬¥à ᮪¥â
|
||
|
||
<EFBFBD>® ¢®§¢à 饨î, ¢ eax ᮤ¥à¦¨âáï á®áâ®ï¨¥ TCP ᮪¥â®¢.
|
||
|
||
<EFBFBD>â äãªæ¨ï ¬®¦¥â ¨á¯®«ì§®¢ âìáï, çâ®¡ë ®¯à¥¤¥«¨âì, ª®£¤ ᮪¥â ä ªâ¨ç¥áª¨
|
||
ᮥ¤¨¨«áï á ¤à㣨¬ ᮪¥â®¬. ‚®®¡é¥, ¤ ë¥ ¥ ¬®£ãâ ¡ëâì § ¯¨á ë ¢ ᮪¥â,
|
||
¯®ª ¯®¤ª«î票¥ ¥ ãáâ ®¢«¥® (TCB_ESTABLISHED). ‘®áâ®ï¨ï ᮪¥â®¢ ®¯à¥¤¥«¥ë
|
||
¢ ä ©«¥ stack.inc, ª ª TCB_
|
||
|
||
‡ ¯¨áì ¢ ᮪¥â (’®«ìª® TCP)
|
||
---------------------------
|
||
eax = 53
|
||
ebx = 7
|
||
ecx = ®¬¥à ᮪¥â
|
||
edx = ç¨á«® ¡ ©â, ã¦ëå ¤«ï § ¯¨á¨
|
||
esi = 㪠§ â¥«ì ¤ ë¥ (¢ ¯à¨ª« ¤®¬ ¯à®áâà á⢥)
|
||
|
||
<EFBFBD>® ¢®§¢à 饨î, ¢ eax ᮤ¥à¦¨âáï 0, ¥á«¨ OK, ¨«¨ 0xFFFFFFFF, ¥á«¨ ®è¨¡ª .
|
||
|
||
<EFBFBD>஢¥àª ®¬¥à ¯®àâ
|
||
---------------------
|
||
eax = 53
|
||
ebx = 9
|
||
ecx = ®¬¥à ¯®àâ
|
||
|
||
<EFBFBD>â äãªæ¨ï ¨á¯®«ì§ã¥âáï, çâ®¡ë ®¯à¥¤¥«¨âì, ¨á¯®«ì§ã¥âáï «¨ ®¬¥à ¯®àâ ª ª¨¬¨
|
||
- «¨¡® ᮪¥â ¬¨. ‹®ª «ìë© ®¬¥à ¯®àâ ®¡ëç® ã¨ª «¥.
|
||
|
||
<EFBFBD>® ¢®§¢à 饨î, eax = - 1 ¤«ï ®¬¥à ¯®àâ , ª®â®àë© ¨á¯®«ì§ã¥âáï, ¨ ç¥
|
||
¢®§¢à é ¥âáï 0.
|
||
|
||
|
||
Žâªàë⨥ TCP ᮪¥â ¢ Š®«¨¡à¨
|
||
=============================
|
||
|
||
…áâì ¤¢ ᯮᮡ ®âªàëâ¨ï ᮪¥â - <20> áá¨¢ë© ¨«¨ €ªâ¨¢ë©.
|
||
|
||
<EFBFBD>ਠ<20> áᨢ®¬ ¯®¤ª«î票¨, ¯à¨«®¦¥¨¥ 'á«ãè ¥â' ¢å®¤ï騥 § ¯à®áë ®â 㤠«¥ëå
|
||
¯à¨«®¦¥¨©. Ž¡ëç® ¢ë íâ® ¤¥« ¥â¥, ®áãé¥á⢫ïï ®¯¥à æ¨î ª«¨¥â - á¥à¢¥à. Ž
|
||
¯®§¢®«ï¥â «î¡®¬ã ¤à㣮¬ã ¯à¨«®¦¥¨î ᮥ¤¨ïâìáï á ¤ ë¬. „«ï í⮣® 㦮
|
||
®¯à¥¤¥«¨âì '¨§¢¥áâë©' ®¬¥à «®ª «ì®£® ¯®àâ (80 ¤«ï ‚¥¡-á¥à¢¥à ), ¯®áâ ¢¨âì
|
||
㤠«¥ë© IP ¨ 㤠«¥®¥ ®¬¥à ¯®àâ à ¢ë¬ 0(㪠§ë¢ ¥â, çâ® «î¡®¥ 㤠«¥®¥
|
||
¯à¨«®¦¥¨¥ ¬®¦¥â ᮥ¤¨¨âìáï).
|
||
|
||
Š ª ⮫쪮 ᮪¥â ¡ã¤¥â ®âªàëâ, ¯à¨¤ñâáï ¦¤ âì ¢å®¤ï饣® ¯®¤ª«îç¥¨ï ¯¥à¥¤
|
||
¢ë¯®«¥¨¥¬ 祣® - «¨¡®. <20>â® ¬®¦¥â ¡ëâì ¯à®¢¥àª®© á®áâ®ï¨ï à §ê¥¬ ¤«ï
|
||
TCB_ESTABLISHED ¨«¨ ®¦¨¤ ¨¥¬ ¤ ëå ¢ ¯®«ãç î饬áï ¡ãä¥à¥.
|
||
|
||
<EFBFBD> €ªâ¨¢®¬ ¯®¤ª«î票¨ ¢ë ᮥ¤¨ï¥â¥áì á 㪠§ ë¬ ã¤ «¥ë¬ ¯®à⮬. “¤ «¥ë©
|
||
IP ¨ 㤠«¥ë¥ ¯ à ¬¥âàë ¯®àâ ¤®«¦ë ¡ëâì ¯¥à¥¢¥¤¥ë ¢ ¥ã«¥¢ë¥ § 票ﬨ
|
||
(¨ ç¥, á 祬 ᮥ¤¨ïâáï?). ’ ª¦¥, ®¯à¥¤¥«¨â¥ 㨪 «ìë© ®¬¥à «®ª «ì®£®
|
||
¯®àâ , â ª ç⮡ë 㤠«¥®¥ ¯à¨«®¦¥¨¥ ¬®£«® ©â¨ ã¦ãî ¯à®£à ¬¬ã ¨ ãáâ ®¢¨âì
|
||
á ¥© ᮥ¤¨¥¨¥. ‚¥¤ì, ¬®£ãâ ¡ëâì ¥áª®«ìª® ¯à®£à ¬¬ ¢ 襩 ¬ 訥,
|
||
¯®¤ª«îç¥ë¥ ª ®¤®¬ã ¨ ⮬㠦¥ 㤠«ñ®¬ã ª®¬¯ìîâ¥àã.
|
||
<EFBFBD>¨¦¥ ¯¨á ®, ª ª ©â¨ 㨪 «ìë© ®¬¥à ¯®àâ .
|
||
|
||
Š ª 室¨âì ¥¨á¯®«ì§®¢ ë© ®¬¥à «®ª «ì®£® ¯®àâ
|
||
====================================================
|
||
|
||
‘®§¤ ¢ ï ªâ¨¢®¥ ¯®¤ª«î票¥ á 㤠«¥ë¬ ᮪¥â®¬, ã ¢ á ¬®¦¥â ¯®ï¢¨âìáï
|
||
¦¥« ¨¥ ¢ë¡à âì 㨪 «ìë© ®¬¥à «®ª «ì®£® ¯®àâ . Ž¡ëç®, ®¬¥à «®ª «ì®£®
|
||
¯®àâ ç¨ îâáï á 1000. ‘«¥¤ãî騩 ª®¤ ¬®¦¥â ¨á¯®«ì§®¢ âìáï, çâ®¡ë ¯®«ãç¨âì
|
||
¥¨á¯®«ì§®¢ ë© ®¬¥à ¯®àâ ¤® ᮧ¤ ¨ï ᮪¥â .
|
||
|
||
mov ecx, 1000 ; Ž¯à¥¤¥«ï¥¬ «®ª «ìë© ¯®àâ, ç¨ ¥¬ á 1000
|
||
|
||
getlp:
|
||
inc ecx
|
||
push ecx
|
||
mov eax, 53
|
||
mov ebx, 9
|
||
int 0x40
|
||
pop ecx
|
||
cmp eax, 0 ; íâ®â «®ª «ìë© ¯®à⠨ᯮ«ì§ã¥âáï?
|
||
jz getlp ; ¤ - ¯à®¤®«¦ ¥¬ ¯¥à¥¡¨à âì
|
||
|
||
; ecx ᮤ¥à¦¨â ®¬¥à ᢮¡®¤®£® «®ª «ì®£® ¯®àâ
|
||
|
||
|
||
|
||
‡ ¯¨áì ¤ ëå ¢ ᮪¥â
|
||
=====================
|
||
|
||
…áâì ¤¢¥ äãªæ¨¨, § ¢¨áï騥 ®â ⮣®, ¡ë« «¨ à §ê¥¬ ®âªàëâ ¤«ï ¯à®â®ª®« TCP ¨«¨
|
||
UDP. ¯ à ¬¥âàë § ¯à®á - â® ¦¥ á ¬®¥ ª ª ¡ë â® ¨ ¡ë«®. Š®£¤ ᮪¥â ®âªàë¢ ¥âáï
|
||
¤«ï TCP, ¨á¯®«ì§ã©â¥ äãªæ¨î á®áâ®ï¨ï, çâ®¡ë ®¯à®á¨âì ¤«ï ¯®¤ª«î票ï - ¤ ë¥
|
||
¥ ¬®£ãâ ¡ëâì ¯¥à¥¤ ë ᮪¥âã, ¯®ª ¤à㣮© ¥ ᮥ¤¨¨«áï á í⨬. ‘®áâ®ï¨¥
|
||
᮪¥â - TCB_ESTABLISHED.
|
||
|
||
Š®£¤ ¢ë ¯®áë« ¥â¥ ¤ ë¥, ¯à®¨á室¨â ᮧ¤ ¨¥ ¨ ®â¯à ¢ª ®¤®£® IP ¯ ª¥â . €
|
||
íâ® § ç¨â, çâ® ¯®«ì§®¢ ⥫ì᪮¥ ¯à¨«®¦¥¨¥ ®â¢¥ç ¥â § à §¬¥à ¯¥à¥¤ ¢ ¥¬ëå
|
||
¯ ª¥â®¢. ‘®åà ï¥âáï ¬¥¥¥ 祬 768 ¡ ©â®¢ à §¬¥à ¯ ª¥â . …᫨ ¢ë ¯¨è¥â¥
|
||
®ª®ç¥ãî ¯à®£à ¬¬ã (â ªãî, ª ª telnet), â® ¬®¦¥â¥ § å®â¥âì ®â¯à ¢«ïâì ¯ ª¥â
|
||
§ ª ¦¤®¥ (¥íä䥪⨢®¥) ¦ ⨥ ª« ¢¨è¨. Œ®¦® ¨á¯®«ì§®¢ âì â ©¬¥à, ç⮡ë
|
||
®â¯à ¢«ïâì ¤ ë¥ ¯¥à¨®¤¨ç¥áª¨ (᪠¦¥¬, ª ¦¤ãî ᥪã¤ã).
|
||
|
||
—⥨¥ ¤ ëå ¨§ ᮪¥â
|
||
=======================
|
||
|
||
…áâì ®¤ äãªæ¨ï ¤«ï çâ¥¨ï ¤ ëå ¨§ ᮪¥â , ¢®§¢à é îé ï ¤ ë¥ ¢ ¡ãä¥à. <20>â
|
||
äãªæ¨ï ®¤®¢à¥¬¥® ¢®ááâ ¢«¨¢ ¥â ®¤¨ ¡ ©â. ‚ë ¬®¦¥â¥ ¨á¯®«ì§®¢ âì äãªæ¨î
|
||
®¯à®á , çâ®¡ë ¯à®¢¥à¨âì ¯®«ãç î騩áï ¡ãä¥à ¤ ë¥.
|
||
|
||
‡ ªàë⨥ ᮪¥â
|
||
================
|
||
|
||
<EFBFBD>à®áâ® ¢ë§®¢¨â¥ ᮮ⢥âáâ¢ãîéãî äãªæ¨î (¤«ï TCP ¨«¨ UDP, ᮮ⢥âá⢥®).
|
||
‡ ªàë¢ ï TCP ᮪¥â, ¥ § ¡ã¤ìâ¥, çâ® ¤à㣮© ª®æ¥ ᮥ¤¨¥¨ï, ᮪¥â ¬®¦¥â
|
||
¯à®¤®«¦¨âì ®â¯à ¢«ïâì ¤ ë¥, â ª çâ® ® ®áâ ñâáï ªâ¨¢ë¬ ¢ â¥ç¥¨¥ ¥áª®«ìª¨å
|
||
ᥪ㤠¯®á«¥ ¢ 襣® § ¯à®á .
|
||
|
||
|
||
|
||
…᫨ ã ¢ á ¥áâì ¢®¯à®áë ¨«¨ ¯à¥¤«®¦¥¨ï ¯® ã«ãç襨î í⮣® ¤®ªã¬¥â , â®
|
||
¯®è«¨â¥ ¬¥ ¯¨á쬮 mikeh@oceanfree.net.
|
||
<EFBFBD>¥à¥¢ñ« ¤®ªã¬¥â Hex.
|
||
…᫨ ¥áâì ¢®¯à®áë ¨«¨ ¯à¥¤«®¦¥¨ï ¯® ᮤ¥à¦ ¨î, â® ¯à®áì¡ ¯¨á âì ¬¥
|
||
mestack@yandex.ru ¨«¨ è ä®àã¬: http://meos.sysbin.com
|