ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
1 ¼Ò°³
¿ì¸®´Â IP ÀÚ¼¼È÷º¸±â ¸¦ ÅëÇØ¼ IP ÇÁ·ÎÅäÄÝÀ» Çì´õÂ÷¿ø¿¡¼ »ìÆìº¸¾Ò´Ù. À̹ø ¹®¼¿¡¼´Â TCP ÇÁ·ÎÅäÄÝÀ» Çì´õÂ÷¿ø¿¡¼ »ìÆìº¸µµ·Ï ÇÒ°ÍÀÌ´Ù. 2 TCP (Transmission Control Protocol)2.1 TCP¿¡ ´ëÇØ¼
TCP °³³ä¿¡ ´ëÇØ¼± ÀÌ¹Ì ¸î°³ÀÇ ¹®¼¸¦ ÅëÇØ¼ ´Ù·ç¾îÁö±ä ÇßÁö¸¸ È®ÀÎÂ÷¿ø¿¡¼ ´Ù½ÃÇѹø ´Ù·ç¾î º¸µµ·Ï ÇϰڴÙ.
TCP ´Â ±âº»ÀûÀ¸·Î IP ¿Í ÇÔ²² »ç¿ëµÇ¸ç, ±×·±ÀÌÀ¯·Î TCP/IP ¶ó°í ºÒ¸®¿öÁø´Ù. IP´Â È£½ºÆ® »çÀÌÀÇ µ¥ÀÌŸ ±³È¯À» ¸ñÀûÀ¸·Î ¸¸µé¾îÁø ÇÁ·ÎÅäÄÝÀε¥, ±âº»ÀûÀ¸·Î IP´Â ¿À·ÎÁö µ¥ÀÌŸ ±³È¯À» À§ÇÑ ÀÓ¹«¸¸À» ¼öÇàÇÑ´Ù. Áï ³×Æ®¿÷»ó¿¡¼ ¹ß»ýÇÒ¼ö ÀÖ´Â µ¥ÀÌŸ ´©¶ô, ÆÐŶÀÇ ¼ø¼ µÚ¹Ù²ñ µîÀÇ µ¥ÀÌŸ ±³Á¤°ú °ü·ÃµÈ ±â´ÉÀ» °¡Áö°í ÀÖÁö¸¦ ¾Ê´Ù.
±×·¡¼ ¸¸µé¾î Áø°³ TCP ÇÁ·ÎÅäÄÝÀÌ´Ù. IP ÇÁ·ÎÅäÄÝÀÇ »óÀ§ ·¹º§ ÇÁ·ÎÅäÄݷνá, IP°¡ Á¦°øÇÏÁö ¸øÇÏ´Â ±â´ÉÁï, µ¥ÀÌŸ ´©¶ô°Ë»ç ÆÐŶ¼ø¼ µÚ¹Ù²ñ µî µ¥ÀÌŸ ±³Á¤°ú °ü·ÃµÈ ±â´ÉÀ» Á¦°øÇÑ´Ù. +---+----+-------------+ |IPH|TCPH|Internet Data| +---+----+-------------+ IPH : IP Header TCPH : TCP Header Internet Data : ±³È¯ÇϰíÀÚÇÏ´Â µ¥ÀÌŸ
±×¸² 1. Àü ÀÌÁßÅë½Å ¼±·Î
TCP ´Â ÀÌ·¯ÇÑ ¿¬°áÀ» ¼³Á¤½Ã À§¿¡¼ÀÇ ±×¸²¿¡¼¿Í °°Àº "Àü ÀÌÁß Åë½Å ¼±·Î"¸¦ °³¼³ÇÑ´Ù. Çϳª´Â Àбâ Àü¿ëÀÇ ¼±·ÎÀ̸ç, ´Ù¸¥ Çϳª´Â ¾²±â Àü¿ëÀÇ ¼±·Î·Î½á, °¢°¢ÀÇ Àü¿ë¼±·Î¸¦ ÀÌ¿ëÇÔÀ¸·Î ½á Àбâ¿Í ¾²±â¸¦ µ¿½Ã¿¡ ÇÒ¼ö ÀÖ°Ô µÈ´Ù. À̰ÍÀº Unix ¿¡¼ IPC ¸ñÀûÀ¸·Î pipe ¸¦ »ý¼ºÇÒ¶§, Àбâ¿Í ¾²±âÀü¿ëÀÇ ÆÄÀÌÇÁ¸¦ µ¿½Ã¿¡ »ý¼ºÇϴ°Ͱú µ¿ÀÏÇÑ ¿ø¸®ÀÌ´Ù.
TCP Çì´õ¿¡´Â À§ÀÇ TCP ÀÇ Æ¯¼ºÀ» ÃæÁ·½ÃÄÑÁÖ±â À§ÇÑ ¿©·¯°¡Áö ±â´ÉÀ» °¡Áö´Â Çʵåµé·Î ±¸¼ºµÇ¾î ÀÖ´Ù. ¿ì¸®´Â ´ÙÀ½Àå¿¡¼ TCP Çì´õÀÇ ÀÌ·¯ÇÑ ÇʵåµéÀ» ºÐ¼®ÇÔÀ¸·Î½á, ¾î¶»°Ô TCP °¡ ¼¹ö Ŭ¶óÀÌ¾ðÆ®°£ ¿¬°áÀ» ¸¸µé°í, ½Å·Ú¼º ÀÖµµ·Ï µ¥ÀÌŸ¸¦ Àü´ÞÇÏ´ÂÁö ¾Ë¾Æº¸°Ô µÉ°ÍÀÌ´Ù. 2.2 TCP Çì´õ ±¸Á¶
TCP ´Â ´ÙÀ½°ú °°Àº Çì´õ ±¸Á¶¸¦ °¡Áø´Ù. µÎ È£½ºÆ® »çÀÌ¿¡ Àü¼ÛµÇ´Â TCP µ¥ÀÌŸ ´ÜÀ§¸¦ ¼¼±×¸ÕÆ®¶ó°í ºÎ¸¥´Ù. ±×·¯¹Ç·Î TCP ¼¼±×¸ÕÆ®´Â TCP Çì´õ + DATA °¡ µÉ°ÍÀÌ´Ù. ´ÙÀ½Àº TCP ¼¼±×¸ÕÆ®ÀÇ ±¸Á¶ÀÌ´Ù.
±×¸² 2. TCP Çì´õ ±¸Á¶
2.2.1 SOURCE PORT/DESTINATION PORT
source port ´Â ¸Þ½ÃÁö¸¦ º¸³»´Â Ãø¿¡¼ Åë½ÅÀ» À§ÇØ »ç¿ëÇÏ´Â port ¹øÈ£À̸ç, destination port ´Â ¸ñÀûÁö, Áï ¸Þ½ÃÁö¸¦ ¹Þ´ÂÃøÀÇ Åë½Å port ¹øÈ£ÀÌ´Ù.
¿©±â¿¡ ÀÖ´Â port ¹øÈ£¿Í ´õºÒ¾î IP Çì´õ¿¡ ÀÖ´Â source/destination address ¸¦ ÀÌ¿ëÇϸé À¯ÀÏÇÏ°Ô ½Äº°µÇ´Â Åë½Å¿¬°áÀ» ¸¸µé¼ö ÀÖ°Ô µÈ´Ù.
IP ÀÇ Ãâ¹ßÁö/¸ñÀûÁö ÁÖ¼Ò¿Í TCP Çì´õÀÇ Ãâ¹ßÁö/¸ñÀûÁö Æ÷Æ® ¹øÈ£°¡ ¾îÇø®ÄÉÀ̼ǰ£ Åë½ÅÀ» À§ÇÑ °¡Àå ÇÙ½ÉÀ̶ó°í ÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù. ´Ù¸¥ Á¤º¸µéÀº Åë½ÅÀ» ¿øÇÒÇϵµ·Ï µµ¿ÍÁÖ±â À§Çؼ ºÎ°¡ÀûÀ¸·Î Á¸ÀçÇÏ´Â °ÍÀ̶ó°í º¼¼ö ÀÖ´Ù.
ÀÌµé Æ÷Æ®¹øÈ£ÀÇ Å©±â´Â 16bit Å©±â¸¦ °¡Áø´Ù. ±×·¯¹Ç·Î ´ë·« 65536 ¸¸ÅÀÇ Æ÷Æ®¸¦ °¡Áú¼ö ÀÖÀ»°ÍÀÌ´Ù. 2.2.2 SEQUENCE NUMBER
TCP ¼¼±×¸ÕÆ®¾ÈÀÇ µ¥ÀÌÅÍÀÇ ¼Û½Å ¹ÙÀÌÆ® È帧ÀÇ À§Ä¡¸¦ °¡¸®Å²´Ù. ´Ù¸¥ È£½ºÆ®·Î Àü´ÞµÇ´Â ÆÐŶÀº ¿©·¯°³ÀÇ ¼·Î ´Ù¸¥ °æ·Î¸¦ °ÅÄ¡¸é¼ Àü´ÞµÇ´Ù º¸´Ï ÆÐŶÀÇ ¼ø¼°¡ µÚ¹Ù²ð ¼ö ÀÖ´Ù. À̸¦ ¼ö½ÅÃø¿¡¼´Â Àç Á¶¸³ÇؾßÇÒ Çʿ䰡 Àִµ¥, Sequence Number ¸¦ ÀÌ¿ëÇØ¼ Á¶¸³ÇÏ°Ô µÈ´Ù. 2.2.3 ACK
acknowledgment number ¶ó°í ¸»ÇÑ´Ù. ´ÙÀ½¿¡ ¹ÞÀ»°ÍÀ¸·Î ¿¹»óµÇ´Â µ¥ÀÌŸ ¿ÁÅÝÀÇ ¼ø¼¹øÈ£¸¦ ³ªÅ¸³½´Ù. 2.2.4 HLEN
TCP ¼¼±×¸ÕÆ®ÀÇ ±æÀ̸¦ Á¤ÀÇÇÑ´Ù. 2.2.5 RESERVED
ÇöÀç´Â »ç¿ëÇÏÁö ¾ÊÁö¸¸, ³ªÁßÀ» À§Çؼ ¿¹¾àµÈ ÇʵåÀÌ´Ù. 2.2.6 (Control)CODE BITS
¼¼±×¸ÕÆ®ÀÇ ¿ëµµ¿Í ³»¿ëÀ» °áÁ¤Çϱâ À§Çؼ »ç¿ëµÈ´Ù. URG, ACK, PSH, RST, SYN, FIN 6°³ÀÇ ºñÆ®°¡ Á¤ÀǵǾî ÀÖ´Ù. TCP´Â ÀÌ·¯ÇÑ ºñÆ®¸¦ ÀÌ¿ëÇØ¼ ÆÐŶÀÇ ³»¿ëÀÌ ¾î¶² ¸ñÀûÀ¸·Î Àü´ÞµÉ °ÍÀÎÁö¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ÀÌµé ºñÆ®Áß SYN, ACK, RST¸¦ ÁÖ¸ñÇÒ Çʿ䰡 ÀÖ´Ù.
SYNÀº TCP¿¬°áÀ» ¸¸µé ¶§, ¾ç È£½º°£ sequence numbersÀÇ µ¿±âȸ¦ ÀÌ·ç±â À§ÇÑ ¸ñÀûÀ¸·Î »ç¿ëµÈ´Ù. ACK´Â ¿ø°Ý È£½ºÆ®ÀÇ sequence number¿¡ ´ëÇÑ ÀÀ´äÀ» À§ÇÑ ¸ñÀûÀ¸·Î »ç¿ëµÈ´Ù. Áï µ¥ÀÌÅ͸¦ Àß ¹Þ¾Ò´Ù´Â °É ¾Ë·ÁÁÖ±â À§ÇÑ ¸ñÀûÀ¸·Î »ç¿ëµÇ´Âµ¥, ¿ø°ÝÈ£½ºÆ®ÀÇ sequence numberÀÇ ¹øÈ£¿¡ +1À» ÇØÁ༠´Ù½Ã Àü´ÞÇÏ´Â ¹æ¹ýÀ» ÀÌ¿ëÇÑ´Ù. SYN ºñÆ®´Â ƯÈ÷ ¼¼¹ø ¾Ç¼ö ±â¹ý(three-way handshake)¸¦ À§Çؼ »ç¿ëµÈ´Ù.
URG´Â Urgent Áï ±ä±Þ ¸Þ½ÃÁö¸¦ Àü¼ÛÇϱâ À§Çؼ »ç¿ëÇÑ´Ù. URG Çʵ尡 ¼³Á¤µÈ ÆÐŶÀ» ¹ÞÀº ¿î¿µÃ¼Á¦´Â SIGURG ½Ã±×³ÎÀ» ¹ß»ý½ÃŲ´Ù.
RST ºñÆ®°¡ ¼³Á¤µÇ¾î ÀÖÀ» °æ¿ì ¹ÞÀº È£½ºÆ®´Â Áï½Ã ¿¬°áÀ» ²÷¾î ¹ö¸®°í FIN ºñÆ®°¡ ¼³Á¤µÇ¾î ÀÖÀ» °æ¿ì ¿©·¯°¡Áö Å×½ºÆ®¸¦ °ÅÃļ ¿¬°áÀ» ²÷°Ô µÈ´Ù. ÀϹÝÀûÀÎ Á¤»óÁ¾·á¸¦ ¿øÇÑ´Ù¸é FIN ºñÆ®¸¦ ¼³Á¤Çؼ »ç¿ëÇÏ°Ô µÈ´Ù. ÀÌµé ºñÆ®¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº 2.3.3Àý¸¦ Âü°íÇϱ⠹ٶõ´Ù. 2.2.7 OPTION & PADDING
¿É¼ÇÀº ¸»±×´ë·Î ¿É¼ÇÀÌ´Ù. TCP Çì´õÀÇ Á¤º¸¸¦ Á»´õ È®Àå½Ã۰íÀÚ ÇÒ¶§ »ç¿ëÇÑ´Ù. PADDING Àº 32bit Å©±â¸¦ ä¿ì±â À§Çؼ »ç¿ëµÈ´Ù. 2.2.8 CHECKSUM
TCP ¼¼±×¸ÕÆ® µ¥ÀÌŸ´Â Áß°£¿¡ ÈѼյɼö ÀÖÀ¸¸ç, º¯Á¶µÉ¼öµµ ÀÖ´Ù. ±×·¯¹Ç·Î À̸¦ üũÇÒ¼ö ÀÖ´Â ÀåÄ¡°¡ ÇÊ¿äÇÏ´Ù. CHECKSUM À» ¸¸µå´Â ¹æ¹ý(¾Ë°í¸®Áò)Àº ±âȸ°¡ µÇ¸é º°µµ·Î ¼³¸íÇϵµ·Ï ÇϰڴÙ. 2.2.9 Urgent pointer
URG Çʵ带 ¼³Á¤ÇÏ¸é ±ä±Þ ¸Þ½ÃÁö¸¦ º¸³½´Ù. ÀÌ ¶§, ±ä±Þ ¸Þ½ÃÁö´Â º°µµÀÇ ÆÐŶÀ¸·Î Àü¼ÛµÇÁö ¾Ê°í, ÀÏ¹Ý µ¥ÀÌÅÍ¿¡ Æ÷ÇÔµÇ¾î¼ ÇÔ²² Àü´ÞµÈ´Ù. ±×·¯¹Ç·Î ¿î¿µÃ¼Á¦°¡ ±ä±Þ µ¥ÀÌÅ͸¦ Àбâ À§Çؼ´Â ±ä±Þ µ¥ÀÌÅÍÀÇ À§Ä¡¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. Urgent pointer´Â ÀÏ¹Ý µ¥ÀÌÅÍ ³»¿¡¼ ±ä±Þ µ¥ÀÌÅͰ¡ ½ÃÀ۵Ǵ À§Ä¡ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù. 2.3 ½ÇÁ¦ Åë½Å»ó¿¡¼ TCP ÆÐŶÀÇ ³»¿ëÀ» »ìÆìº¸ÀÚ
À§¿¡¼ °¢ TCP Çʵ忡 ´ëÇÑ ¼³¸íÀ» ÇØº¸¾ÒÁö¸¸, ¼ÖÁ÷È÷ À§ÀÇ Á¤º¸¸¸À» °¡Áö°í´Â ¹¹°¡ ¹ºÁö µµ´ëü ¾Ë¼ö°¡ ¾øÀ» °ÍÀÌ´Ù. ±×·¡¼ À̹ø¿¡´Â ½ÇÁ¦ TCP/IP Åë½ÅÀÌ ¾î¶»°Ô ÀÌ·ç¾îÁö´ÂÁö¿¡ ´ëÇØ¼ ¾Ë¾Æº¸°í ÀÌ·¯ÇÑ Åë½ÅÀÌ ÀÌ·ç¾îÁöµµ·Ï ¾î¶»°Ô TCP/IP ÆÐŶ(¼¼±×¸ÕÆ®)°¡ Àü¼ÛµÇ¾îÁö´ÂÁö ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ. 2.3.1 Å×½ºÆ® ÇÁ·Î±×·¥ Áغñ
¼ÀÇ÷Π¾Ë¾Æº¸´Â ¼ÒÄÏÇÁ·Î±×·¡¹Ö ¿¡¼ Á¦ÀÛÇÑ ÀûÀÌ ÀÖ´Â ¿ìÆí¹øÈ£ ¼¹ö/Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» ÀÌ¿ëÇØ¼ Å×½ºÆ® Çϵµ·Ï ÇÒ°ÍÀÌ´Ù. ¼¹ö ÇÁ·Î±×·¥ÀÇ À̸§Àº zipcode À̸ç Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ÀÇ À̸§Àº zipcode_cl ÀÌ´Ù.
ÀÌ¿Í ´õºÒ¾î tcp/ip ÆÐŶºÐ¼®À» À§Çؼ tcpdump ¸¦ »ç¿ëÇÒ°ÍÀÌ´Ï ÁغñÇØ³õ±â ¹Ù¶õ´Ù. (¾Æ¸¶µµ ±âº» ¼³Ä¡µÇ¾î ÀÖ°ÚÁö¸¸) 2.3.2 Å×½ºÆ® ¹æ¹ý
Å×½ºÆ®¸¦ °¡Àå È¿°úÀûÀ¸·Î ¼öÇàÇϱâ À§Çؼ´Â ¼¹ö¿Í Ŭ¶óÀÌ¾ðÆ®°¡ º°µµÀÇ ³×Æ®¿÷¿¡ ¹¿© ÀÖ´Â°Ô °¡Àå ÁÁ°ÚÁö¸¸, ¿©ÀÇÄ¡ ¾ÊÀ»°æ¿ì ÇϳªÀÇ ¼¹ö¿¡ ¼¹ö¿Í Ŭ¶óÀÌ¾ðÆ®¸¦ µÎ°í Å×½ºÆ®¸¦ ÇØµµ °ü°è ¾ø´Ù.
¿©±â¿¡¼ÀÇ Å×½ºÆ®´Â ¼¹ö¿Í Ŭ¶óÀÌ¾ðÆ®°¡ º°µµÀÇ ³×Æ®¿÷ȯ°æ¿¡ ¹¿©ÀÖ´Â °ÍÀ» ±âÁØÇÏ¿© ÀÌ·ç¾îÁú°ÍÀÌ´Ù.
±×¸² 3. ¼¹ö/Ŭ¶óÀÌ¾ðÆ® Å×½ºÆ® ȯ°æ
¼¹ö´Â Port ¹øÈ£ 4445 ·Î ¿¬°áÇϵµ·Ï ÇÒ°ÍÀÌ´Ù. 2.3.3 ¼¹ö¿Í Ŭ¶óÀÌ¾ðÆ®°£ÀÇ ¿¬°á
TCP ´Â ±âº»ÀûÀ¸·Î ¿¬°áÁöÇâÀÇ ÇÁ·ÎÅäÄÝÀ̶ó°í Çß´Ù. À̸»Àº óÀ½ Åë½ÅÀ» Çϱâ Àü¿¡ ¼·Î¸¦ ¿¬°áÇÏ´Â Àü¿ëÀÇ Åë½Å¼±·Î¸¦ °³¼³ÇÑ´Ù¶ó´Â ¸»ÀÌ µÈ´Ù. ÀÌ´Â ¿ì¸®°¡ Àüȸ¦ ÇÒ¶§ È«±æµ¿ : "¿©º¸¼¼¿ä ¾Æ¹«°³ ¾¾ ¸Â½À´Ï±î ?" ¾Æ¹«°³ : "³» ¾Æ¹«°³ ÀÔ´Ï´Ù." È«±æµ¿ : "¾Æ±×·¯¼¼¿ä Àú´Â È«±æµ¿ ÀÔ´Ï´Ù" ... .... ÀÌ·± Àú·± ´ëȵé .... ... TCP µµ Åë½Å¼±·Î¸¦ ¸¸µé±â À§Çؼ óÀ½¿¡ ÀÌ·¯ÇÑ È®ÀÎ ÀýÂ÷¸¦ °ÅÄ£´Ù. ¿ì¸®°¡ º¸Åë ÀüȻ󿡼 ¼·ÎÀÇ È®ÀÎ ÀÛ¾÷À» À§Çؼ 3¹ø ÅëȰ¡ ÀÌ·ç¾îÁö´Â °Íó·³ TCP »ó¿¡¼µµ 3¹øÀÇ µ¥ÀÌŸ Àü¼ÛÀÌ ÀϾÙ.
client server
¨ç
Send SYN seq=x ---------------------------> Receive SYN segment
|
¨è |
Recevie SYN+ACK segment <-------------------------- Send SYN seq=y, ACK x+1
|
| ¨é
send ACK y+1 --------------------------> Receive ACK segment
ÀÌ·± ÀÌÀ¯·Î ÈçÈ÷ À§ÀÇ °úÁ¤À» "3 way Hand Shaking" ¶Ç´Â "3¹ø ¾Ç¼ö±â¹ý" À̶ó°í ÇÑ´Ù. ÃÖÃÊ¿¡ Ŭ¶óÀÌ¾ðÆ®°¡ seq ¹øÈ£ x ¸¦ º¸³»¸é server ¿¡¼´Â ÀÌ x ¿¡ 1 À» ´õÇØ¼ ACK ·Î º¸³½´Ù. À̶§ ÀÚ½ÅÀÇ seq ¹øÈ£ y µµ Æ÷ÇÔÇØ¼ º¸³½´Ù. ±×·¯¸é Ŭ¶óÀÌ¾ðÆ®¿¡¼´Â server ºÎÅÍ ³Ñ¾î¿Â ÆÐŶÀÇ ACK°¡ ÀÚ½ÅÀÇ seq ¹øÈ£¿Í ÀÏÄ¡ÇÏ´ÂÁö È®ÀÎÇϰí, È®ÀÎÀÌ µÇ¸é server ÀÇ seq ¹øÈ£ÀÎ y ¿¡ 1À» ´õÇØ¼ ACK·Î º¸³½´Ù. server ¿¡¼´Â client °¡ º¸³½ ACK ÀÇ ¹øÈ£¿Í ÀÚ½ÅÀÇ seq ¹øÈ£°¡ ÀÏÄ¡ÇÏ´ÂÁö È®ÀÎÇØ¼ ÀÏÄ¡ÇÏ¸é ¿¬°áÀÌ Á¦´ë·Î µÇ¾ú´Ù´Â°ÍÀ» ÀÎÁõÇÏ°í µ¥ÀÌŸ Åë½Å¿¡ µé¾î°¡°Ô µÈ´Ù.
±×·³ tcpdump ¸¦ ÀÌ¿ëÇØ¼ ¾î¶»°Ô À§ÀÇ 3¹ø ¾Ç¼ö±â¹ý ÀÌ ÀÌ·ç¾îÁö´Â Áö È®ÀÎÇØ º¸µµ·Ï ÇϰڴÙ. ¿ì¼± tcpdump ¸¦ ´ÙÀ½°ú °°Àº ¿É¼ÇÀ¸·Î ¶ç¿ìµµ·Ï ÇÑ´Ù. [root@localhost test]# tcpdump -x tcp 4445 Kernel filter, protocol ALL, TURBO mode (575 frames), datagram packet socket tcpdump: listening on all devices ... 13:42:47.952336 eth0 > localhost.2310 > 211.234.96.141.4445: S 2850317194:2850317194(0) win 5840 <mss 1460,sackOK,timestamp 10265185 0,nop,wscale 0> (DF) 4500 003c c1eb 4000 4006 1f2e c0a8 6482 ----- 1 d3ea 608d 0906 115d a9e4 638a 0000 0000 a002 16d0 0cc5 0000 0204 05b4 0402 080a 009c a261 0000 0000 0103 0300 13:42:48.202336 eth0 < 211.234.96.141.4445 > localhost.2310: S 2213490312:2213490312(0) ack 2850317195 win 5792 < mss 1460,sackOK,timestamp 2310931230 10265185,nop,wscale 0> (DF) 4500 003c 0000 4000 3806 e919 d3ea 608d ----- 2 c0a8 6482 115d 0906 83ef 2e88 a9e4 638b a012 16a0 cd8f 0000 0204 05b4 0402 080a 89be 031e 009c a261 0103 0300 13:42:48.202336 eth0 > localhost.2310 > 211.234.96.141.4445: . 1:1(0) ack 1 win 5840 <nop,nop,timestamp 10265210 2310931230> (DF) 4500 0034 c1ec 4000 4006 1f35 c0a8 6482 ----- 3 d3ea 608d 0906 115d a9e4 638b 83ef 2e89 8010 16d0 fc0b 0000 0101 080a 009c a27a 89be 031e3¹ø ¾Ç¼ö ±â¹ýÀ» À§Çؼ 3¹øÀÇ ÆÐŶÀÌ ¿À°í °¬À½À» ¾Ë¼ö ÀÖ´Ù. ¾ð¶æ ºÃÀ»¶§ Àý´ë ÀÌÇØÇÒ¼ö ¾øÀ»°Í °°Àº ¼ýÀÚ·Î µÈ Á¤º¸µéÀ» »Ñ·ÁÁִµ¥ ¿ø¸®¸¸ ¾Ë¸é °£´ÜÇÏ°Ô ºÐ¼®ÇÒ¼ö ÀÖ´Ù. À§ÀÇ ¼ýÀÚ·Î µÈ Á¤º¸µéÀÌ ¹Ù·Î TCP/IP ¼¼±×¸ÕÆ®ÀÇ Á¤º¸¸¦ 16 Áø¼ö·Î ³ªÅ¸³½ °ÍÀÌ´Ù. 4ÀÚ¸®¾¿ ±¸ºÐµÇ¾î Àִµ¥, ÀÌ 4ÀÚ¸®ÀÇ Å©±â´Â 16 ºñƮũ±â¸¦ °¡Áø´Ù(ÇϳªÀÇ ¼ýÀÚ´Â 4ºñÆ®ÀÌ´Ù. ÀÌ Á¤º¸¸¸ ¾Ë°í ÀÖ´Ù¸é À§ÀÇ ÆÐŶÁ¤º¸¿¡¼ IP ¿µ¿ª°ú TCP ¿µ¿ªÀ» ºÐ¸®ÇØ ³¾¼ö ÀÖ´Ù.
IP Çì´õÀÇ Å©±â´Â À¯µ¿ÀûÀ̱ä ÇÏÁö¸¸ ±âº»ÀûÀ¸·Î 5 * (32 bit) ÀÇ Å©±â¸¦ °®´Â´Ù. ±×·¯¹Ç·Î 1 ¹ø ÆÐŶÀ» ³ô°í º¸ÀÚ¸é IP Çì´õ´Â ´ÙÀ½°ú °°À» °ÍÀÌ´Ù. 4500 003c c1eb 4000 4006 1f2e c0a8 6482
d3ea 608d
ÀÌÁ¦ 1 ¹ø ÆÐŶ¿¡¼ TCP Çì´õ Á¤º¸¸¦ ºÐ¼®ÇØ º¸µµ·Ï ÇÏÀÚ. ºÐ¼®ÇÑ µ¥ÀÌŸ´Â tcpdump Çì´õ¿Í ºñ±³ÇÏ¸é¼ °è»êÇϵµ·Ï ÇÏÀÚ. TCP Çì´õµ¥ÀÌŸ´Â 0906 ºÎÅÍÀÌ´Ù. TCP ÀÇ Ã³À½ 16bit ´Â SOURCE PORT ´ÙÀ½ 16bit ´Â DESTINATION PORT ¸¦ ³ªÅ¸³½´Ù. 0906 À» °è»êÇØ º¸¸é(Áø¼öº¯È¯ µÇ´Â °è»ê±â·Î) 2310 À̸ç 115d ¸¦ °è»êÇØº¸¸é 4445 ÀÌ´Ù. Á¤È®ÇÏ°Ô ÀÏÄ¡Çϰí ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. Ŭ¶óÀ̾ðÆ®ÃøÀÇ PORT ¹øÈ£´Â ¼¹öÃø Æ÷Æ® ¹øÈ£¿Í´Â ´Þ¸® ÀÓÀÇÀÇ ¹øÈ£·Î ÇÒ´çµÈ´Ù.
¿ì¸®´Â 1 ¹ø ÆÐŶ¿¡¼ a9e4 638a °¡ ½ÃÄö½º ³Ñ¹öÀÓÀ» À¯ÃßÇØ³¾¼ö ÀÖÀ»°ÍÀÌ´Ù. À̰ÍÀ» °è»êÇØ º¸¸é 2850317194 ÀÓÀ» ¾Ë¼ö ÀÖ´Ù. ACK´Â 0000 0000 ÀÌ´Ù. ACK ´Â 0000 0000 Áï 0 À¸·Î ÃʱâÈ µÇ¾îÀִµ¥ ¹ÝÇØ¼, ½ÃÄö½º ³Ñ¹ö´Â 0À¸·Î ÃʱâÈ µÇ¾î ÀÖÁö ¾Ê´Ù. ½ÇÁö·Î ACK ´Â »õ·Î¿î ¿¬°áÀÌ ÀÌ·ç¾îÁú¶§ ¸¶´Ù 0 À¸·Î ÃʱâÈ µÇ´Âµ¥ ºñÇØ ½ÃÄö½º ³Ñ¹ö´Â »õ·Î¿î ¿¬°áÀÌ »ý±æ¶§ ¸¶´Ù ÀÓÀÇÀÇ ¹øÈ£·Î »õ·Î ¸¸µé¾îÁø´Ù.
Header Length ´Â 4bit Å©±â¸¦ °¡Áö¹Ç·Î a002 ¿¡¼ 'a' ÀÓÀ» ¾Ë¼ö ÀÖ´Ù. ÇØ¼ Header Length ´Â 10(a) ÀÓÀ» °è»êÇÒ¼ö Àִµ¥, À̶§ Length ÀÇ ´ÜÀ§´Â ¿öµå(32 bit) ÀÌ´Ù. ±×·¯¹Ç·Î Çì´õ´Â 0906 ¿¡¼ 0300 ±îÁöÀÇ µ¥ÀÌŸÀÓÀ» À¯ÃßÇØ ³¾¼ö ÀÖ´Ù. 0906 115d a9e4 638a 0000 0000
a002 16d0 0cc5 0000 0204 05b4 0402 080a
009c a261 0000 0000 0103 0300
Áï ÃÖÃÊ ¼¼¹ø ¾Ç¼ö ±â¹ýÀ» ÅëÇÑ ¼¼¼Ç ¿¬°á½Ã¿¡ ¿À°í °¡´Â 3°³ÀÇ ÆÐŶ µ¥ÀÌŸ´Â ´ÜÁö TCP/IP Çì´õÁ¤º¸¸¸À» Æ÷ÇÔÇϰí ÀÖÀ¸¸ç, ±×¿ÜÀÇ ¾Æ¹«·± ´Ù¸¥ Á¤º¸µµ Æ÷ÇÔÇϰí ÀÖÁö ¾ÊÀ½À» ¾Ë¼ö ÀÖ´Ù.2.3.4 ÆÐŶ ºÐ¼®À» ÅëÇØ¼ ¾Ë¾Æº¸´Â 3¹ø ¾Ç¼ö ±â¹ý - ¿¬°á
ÀÌÀü¿¡ 1 ÆÐŶÀ» ºÐ¼®ÇÔÀ¸·Î½á, ¿ì¸®´Â dump µÈ ÆÐŶÀ» ºÐ¼®ÇÏ´Â ±âº»ÀûÀÎ ±â¹ýÀ» ¹è¿ü´Ù. ÀÌ ¹æ¹ýµéÀ» Åä´ë·Î Á¤¸»·Î 3¹ø ¾Ç¼ö ±â¹ýÀÌ Á¦´ë·Î ÀÌ·ç¾î Áö´ÂÁö Çѹø È®ÀÎÇØ º¸µµ·Ï ÇϰڴÙ.
3¹ø ¾Ç¼ö ±â¹ýÀ» º¸¸é ¾Ë°ÚÁö¸¸ °¡Àå ÇÙ½ÉÀÌ µÇ´Â Ű¿öµå´Â SEQ ¹øÈ£¿Í ACK ¹øÈ£ ±×¸®°í ÆÐŶÀÇ Å¸ÀÔÀ» ³ªÅ¸³»´Â CODE BITS ÀÌ´Ù. ÀÌ ¼¼°¡Áö ÇʵåÀÇ ÀÇ °è»ê¸¸ ÀßÇϸé TCP ¿¬°áÀÌ ¾î¶»°Ô ÀÌ·ç¾îÁö´ÂÁö ÀÌÇØ°¡ °¡´ÉÇÒ°ÍÀÌ´Ù. ±×·³ 1, 2, 3ÀÇ dump ÆÐŶÀ» ºÐ¼®Çؼ 3¹ø ¾Ç¼ö ±â¹ýÀÇ È帧À» ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ.
ÀÌ»ó ²Ï º¹ÀâÇÑ°Í °°Áö¸¸ °õ°õÈ÷ »ý°¢ÇØ º¸¸é º°°Å ¾Æ´Ï¶õ°É ¾Ë¼ö ÀÖÀ»°ÍÀÌ´Ù. 2.3.5 ÆÐŶ ºÐ¼®À» ÅëÇØ¼ ¾Ë¾Æº¸´Â ¿¬°á Á¾·á
¿¬°á°ú´Â Á» ´Ù¸£´Ù. ¿ÏÀüÇÑ Á¾·á¸¦ À§Çؼ´Â ¾Æ·¡¿Í °°ÀÌ 4 ¹øÀÇ ÆÐŶ ±³È¯ÀÌ ÀϾÙ. client server
¨ç
Send SYN seq=x ---------------------------> Receive FIN segment
|
¨è |
Recevie segment <-------------------------- Send ACK x+1
¨ç
Receive FIN + ACK segment <-------------------------- Send FIN seq=y, ACK x+1
|
| ¨è
Send ACK y + 1 --------------------------> Receive ACK segment
¿ÏÀüÇÑ ¿¬°áÁ¾·á¸¦ À§Çؼ À§ÀÇ zipcode ¾îÇø®ÄÉÀÌ¼Ç ´ë½Å¿¡ telnet(port 23) À» ÀÌ¿ëÇØ¼ Å×½ºÆ® Çϱâ·Î Çß´Ù. Å×½ºÆ® ¹æ¹ýÀº telnet ·Î ÇØ´ç ¼¹ö¿¡ ¿¬°áÇÑ ¿¬°áÇÑ ´ÙÀ½ login ÇÁ·ÒÇÁÆ®°¡ ¶³¾îÁö¸é (CTRL + ]) ۸¦ ÀÌ¿ëÇØ¼ telnet> ÇÁ·ÒÇÁÆ®¸¦ ºÎ¸£°í ¿©±â¿¡ quit ¸¦ ÀÔ·ÂÇØ¼ ¿¬°áÀ» Á¾·á½ÃŰ´Â ¹æ¹ýÀÌ´Ù.[root@coco test]# telnet 192.168.100.190 Trying 192.168.100.190... Connected to 192.168.100.190. Escape character is '^]'. SunOS 5.8 login: // ¿©±â¿¡¼ CTRL+] ÀÔ·Â telnet> quitÀÌ °úÁ¤À» tcpdump ·Î ÆÐŶ ´ýÇÁ ¹ÞÀº µ¥ÀÌŸ ³»¿ëÀº ´ÙÀ½°ú °°´Ù. { 17:03:01.412336 eth0 > localhost.2437 > develop.telnet: F 110:110(0) ack 89 win 5840 <nop,nop,timestamp 11466531 71617405> (DF) 4500 0034 980c 4000 4006 5826 c0a8 6482 ---- 1 c0a8 64be 0985 0017 9d14 6d27 1f57 e476 8011 16d0 3621 0000 0101 080a 00ae f723 0444 cb7d 17:03:01.412336 eth0 < develop.telnet > localhost.2437: . 89:89(0) ack 111 win 10136 <nop,nop,timestamp 71618004 11466531> (DF) 4500 0034 23c2 4000 ff06 0d70 c0a8 64be ---- 2 c0a8 6482 0017 0985 1f57 e476 9d14 6d28 8010 2798 2302 0000 0101 080a 0444 cdd4 00ae f723 17:03:01.412336 eth0 < develop.telnet > localhost.2437: F 89:89(0) ack 111 win 10136 <nop,nop,timestamp 71618005 11466531> (DF) 4500 0034 23c3 4000 ff06 0d6f c0a8 64be ---- 3 c0a8 6482 0017 0985 1f57 e476 9d14 6d28 8011 2798 2300 0000 0101 080a 0444 cdd5 00ae f723 17:03:01.412336 eth0 > localhost.2437 > develop.telnet: . 111:111(0) ack 90 win 5840 <nop,nop,timestamp 11466531 71618005< (DF) 4500 0034 0000 4000 ff06 3132 c0a8 6482 ---- 4 c0a8 64be 0985 0017 9d14 6d28 1f57 e477 8010 16d0 33c8 0000 0101 080a 00ae f723 0444 cdd5ÆÐŶ ºÐ¼®¹æ¹ýÀº À§¿¡¼ ¸ðµÎ ¼³¸íÇßÀ¸´Ï ±»ÀÌ ´Ù½Ã ¼³¸íÇÏÁø ¾Ê°Ú´Ù. ÁÖÀÇ ÇØ¼ º¼Á¡Àº CODE BITS ºÎºÐÀÌ´Ù. 1 ¹øÀ» º¸¸é CODE BITS °¡ 11 ·Î ¼³Á¤µÇ¾î ÀÖÀ½À» º¼¼ö ÀÖ´Ù. À̸¦ 2Áø¼ö·Î º¯È¯Çϸé 10 00 01 ÀÌ´Ù. FIN ºñÆ® °¡ ¼¼ÆÃµÇ¾î ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. 2.3.6 ½Ç µ¥ÀÌŸ Àü¼Û
½Ç µ¥ÀÌŸ¸¦ Àü¼ÛÇÒ¶§´Â ¿¬°á/Á¾·á ¿Í °°Àº 3¹ø ¾Ç¼ö ±â¹ý¿¡ ÀÇÇÑ º¹ÀâÇÑ (¹¹ ±×¸® º¹ÀâÇÏÁöµµ ¾ÊÁö¸¸) ±×·¯ÇÑ ÆÐŶ ±³È¯Àº ¾ø´Ù. ´ÜÁö ÇÑÂÊ¿¡¼ µ¥ÀÌŸ¸¦ º¸³»¸é ¹ÞÀºÂÊ¿¡¼´Â µ¥ÀÌŸ¸¦ Àß ¹Þ¾Ò´Ù¶ó´Â ÆÐŶ¸¸À» º¸³»°Ô µÈ´Ù.
ÀÌÁ¦ ½ÇÁ¦ µ¥ÀÌŸ°¡ Àü¼ÛµÉ¶§ÀÇ TCP/IP ÆÐŶÀÇ ºÐ¼®À» ÇØº¸µµ·Ï ÇÏÀÚ. ¿©±â¿¡¼´Â ´Ù½Ã zipcode ÀÇ ¼¹ö/Ŭ¶óÀÌ¾ðÆ®°¡ »ç¿ëµÉ°ÍÀÌ´Ù. zipcode_cl À» ÀÌ¿ëÇØ¼ ¼¹ö¿© ¿¬°áÇϰí "Áö¿ªÀ̸§ ÀÔ·Â : " ÇÁ·ÒÇÁÆ®°¡ ¶³¾îÁö¸é a ¸¦ ÀÔ·ÂÇØº¸µµ·Ï ÇÏÀÚ. [root@s210-205-210-195 test]# ./zipcode_cl 4445 Áö¿ªÀ̸§ ÀÔ·Â : a Áö¿ªÀ̸§ ÀÔ·Â :´ÙÀ½Àº À§ÀÇ °á°ú ¸¦ tcpdump ¸¦ ÀÌ¿ëÇØ¼ dump ¶á °á°ú ÀÌ´Ù. 23:32:49.951938 s210-205-210-195.thrunet.ne.kr.33638 > 211.234.96.141.4445: P 1:256(255) ack 1 win 5840 <nop,nop,timestamp 26681991 2314595836> (DF) 4500 0133 484f 4000 4006 176d d2cd d2c3 ---- 1 d3ea 608d 8366 115d 5b9e 5641 872e f2e8 8018 16d0 19eb 0000 0101 080a 0197 2287 89f5 edfc 6100 0000 5066 0140 0100 0000 dc81 0408 9460 0140 0f53 8e07 0f53 8e07 70f7 23:32:49.967321 211.234.96.141.4445 > s210-205-210-195.thrunet.ne.kr.33638: . ack 256 win 6432 <nop,nop,timestamp 2314596983 26681991> (DF) 4500 0034 1f16 4000 3806 49a5 d3ea 608d ---- 2 d2cd d2c3 115d 8366 872e f2e8 5b9e 5740 8010 1920 214f 0000 0101 080a 89f5 f277 0197 2287 23:32:49.971577 211.234.96.141.4445 > s210-205-210-195.thrunet.ne.kr.33638: P 1:256(255) ack 256 win 6432 <nop,nop,timestamp 2314596983 26681991> (DF) 4500 0133 1f17 4000 3806 48a5 d3ea 608d ---- 3 d2cd d2c3 115d 8366 872e f2e8 5b9e 5740 8018 1920 07d6 0000 0101 080a 89f5 f277 0197 2287 656e 6400 7365 6e64 2065 6e64 0a00 0000 0000 0000 0000 001c 9e04 0800 0000 23:32:49.971653 s210-205-210-195.thrunet.ne.kr.33638 > 211.234.96.141.4445: . ack 256 win 6432 <nop,nop,timestamp 26681993 2314596983> (DF) 4500 0034 4850 4000 4006 186b d2cd d2c3 ---- 4 d3ea 608d 8366 115d 5b9e 5740 872e f3e7 8010 1920 204e 0000 0101 080a 0197 2289 89f5 f277
¼¹ö¿¡¼ µ¥ÀÌŸ¸¦ ¹Þ¾Ò´Ù¸é ¼¹ö´Â ÀÌ¿¡ ´ëÇÑ ÀÀ´ä ¸Þ½ÃÁö(Àú ¸Þ½ÃÁö Àß ¹Þ¾Ò½À´Ï´Ù) ¸¦ Ŭ¶óÀ̾ðÆ®Ãø¿¡ º¸³»¾ß ÇÒ°ÍÀÌ´Ù.
2 ÆÐŶÀÌ ¹Ù·Î ÀÀ´ä ¸Þ½ÃÁö°¡ µÈ´Ù. 2 ÆÐŶÀÇ CODE BITS ¸¦ º¸¸é 10 À¸·Î ¼¼ÆÃµÇ¾î Àִµ¥, À̰ÍÀ» 2Áø¼ö·Î º¯°æÇϸé 01 00 00 ÀÌ µÈ´Ù. 2¹øÂ° ºñÆ®°¡ ÄÑÁ® Àִµ¥ 2¹øÂ° ºñÆ®´Â ACK ¸¦ ³ªÅ¸³½´Ù. ±×·¯¹Ç·Î ÀÌ ÆÐŶÀº ÀÀ´ä¿ë ÆÐŶÀ̶ó´Â °É ¾Ë¼ö ÀÖ´Ù. ±×·¸´Ù¸é 2 ÆÐŶÀ» ¹ÞÀº Ŭ¶óÀÌ¾ðÆ®´Â ÀÌ°Ô °ú¿¬ 2 ÆÐŶÀÌ 1 ¿¡ ´ëÇÑ ÀÀ´ä ¸Þ½ÃÁöÀÎÁö¸¦ È®ÀÎÇØ¾ß Çϴµ¥ ÀÌ´Â SEQ ¹øÈ£¿Í ACK ¹øÈ£¸¦ °è»êÇÔÀ¸·Î½á ¾Ë³ª ³¾¼ö ÀÖÀ»°ÍÀÌ´Ù.
3 ¹ø µ¥ÀÌŸ´Â ¼¹öÃø¿¡¼ Ŭ¶óÀÌ¾ðÆ®·Î º¸³»´Â ÆÐŶÀÇ dump ³»¿ëÀÌ´Ù. Ŭ¶óÀÌ¾ðÆ®·Î º¸³»´Â µ¥ÀÌŸ´Â "send end" ÀÓÀ» ¾Ë¾Æ³¾¼ö ÀÖÀ» °ÍÀÌ´Ù. 4 ¹ø µ¥ÀÌŸ´Â ÀÌ¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î Ŭ¶óÀÌ¾ðÆ®¿¡¼ ¼¹öÃøÀ¸·Î º¸³»´Â ÆÐŶ dump ³»¿ëÀÌ´Ù. 3 °á·Ð
ÀÌ»ó TCP Çì´õ¿¡ ´ëÇÑ ºñ±³Àû »ó¼¼ÇÑ ³»¿ëÀ» ´Ù·ç¾ú´Ù. ÀÌ·¯ÇÑ ³»¿ëµéÀº ³ªÁß¿¡ ´Ù·ç°ÔµÉ RAW ¼ÒÄÏµî ³·Àº ¼öÁØ¿¡¼ÀÇ ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹ÖÀ» ¿øÇÑ´Ù¸é ¾Ë¾ÆµÎ¾î¾ßÇÒ ³»¿ëÀÌ´Ù. ¶ÇÇÑ ³×Æ®¿÷ °ü·Ã ¹®Á¦ÇذáÀ» Çϴµ¥ ¸¹Àº µµ¿òÀ» ÁÙ°ÍÀÌ´Ù.
ÀÌ ¹®¼¿¡¼ ÀÌÇØµÇÁö ¾Ê´Â ³»¿ëµîÀÌ ÀÖ´Ù¸é ´ñ±ÛÀ» ´Þ¾ÆÁÖ±æ ¹Ù¶õ´Ù. ±×·¯¸é ÃÖ´ëÇÑ °øºÎ¸¦ ÇØ¼¶óµµ ´äº¯À» ÇØÁÖµµ·Ï ÇϰڴÙ.
|
|
|
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|