TCP ÀÚ¼¼È÷ º¸±â
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

Contents

1 ¼Ò°³
2 TCP (Transmission Control Protocol)
2.1 TCP¿¡ ´ëÇØ¼­
2.2 TCP Çì´õ ±¸Á¶
2.2.1 SOURCE PORT/DESTINATION PORT
2.2.2 SEQUENCE NUMBER
2.2.3 ACK
2.2.4 HLEN
2.2.5 RESERVED
2.2.6 (Control)CODE BITS
2.2.7 OPTION & PADDING
2.2.8 CHECKSUM
2.2.9 Urgent pointer
2.3 ½ÇÁ¦ Åë½Å»ó¿¡¼­ TCP ÆÐŶÀÇ ³»¿ëÀ» »ìÆìº¸ÀÚ
2.3.1 Å×½ºÆ® ÇÁ·Î±×·¥ Áغñ
2.3.2 Å×½ºÆ® ¹æ¹ý
2.3.3 ¼­¹ö¿Í Ŭ¶óÀÌ¾ðÆ®°£ÀÇ ¿¬°á
2.3.4 ÆÐŶ ºÐ¼®À» ÅëÇØ¼­ ¾Ë¾Æº¸´Â 3¹ø ¾Ç¼ö ±â¹ý - ¿¬°á
2.3.5 ÆÐŶ ºÐ¼®À» ÅëÇØ¼­ ¾Ë¾Æº¸´Â ¿¬°á Á¾·á
2.3.6 ½Ç µ¥ÀÌŸ Àü¼Û
3 °á·Ð
4 °ü·Ã¹®¼­

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 : ±³È¯ÇϰíÀÚÇÏ´Â µ¥ÀÌŸ 
 

ÀÌ·¯ÇÑ TCP ÀÇ ±â´É»ó Ư¡À¸·Î ÀÎÇÏ¿© ÈçÈ÷ TCP ÇÁ·ÎÅäÄÝÀ» "½Å·Ú¼ºÀÖ´Â ÇÁ·ÎÅäÄÝ" À̶ó°íÇÑ´Ù. TCP ´Â ÀÌ·¯ÇÑ ½Å·Ú¼º ÀÖ´Â µ¥ÀÌŸ Àü¼ÛÀ» À§ÇÑ ¹æ¹ýÀ¸·Î ¼­¹ö¿Í Ŭ¶óÀÌ¾ðÆ®°£¿¡ ¿¬°áÀ» ¼³Á¤ÇÑ´Ù. ÀÌ·¯ÇÑ ¿¬°áÀ» ¸¸µå´Â Ư¼ºÀ¸·Î TCP ÇÁ·ÎÅäÄÝÀº "¿¬°áÁöÇâ ÇÁ·ÎÅäÄÝ" À̶ó°í ¸»ÇÑ´Ù.

±×¸² 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 
... 
 

±×´ÙÀ½¿¡ zipcode_cl À» ÀÌ¿ëÇØ¼­ ¼­¹ö¿¡ Á¢±ÙÇØº¸ÀÚ ±×·¯¸é ¾Æ·¡¿Í °°Àº ÆÐŶ dump È­¸éÀÌ ¶ã°ÍÀÌ´Ù. 1, 2 ´Â ±¸ºÐÇϱ⠽±µµ·Ï ÇÊÀÚ°¡ Ãß°¡½ÃŲ ¹®ÀÚÀÌ´Ù.

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 031e 
 
3¹ø ¾Ç¼ö ±â¹ýÀ» À§Çؼ­ 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  
 

Á¤¸» IP Çì´õ Á¤º¸°¡ ¸Â´ÂÁö È®ÀÎÇØº¸ÀÚ. IP Çì´õÀÇ Ã¹¹øÂ° 4bit ´Â IPÀÇ ¹öÁ¯À» ³ªÅ¸³½´Ù. À§¿¡¼­ º¸¸é '4' ·Î µÇ¾î ÀÖÀ½À¸·Î ÀÌ TCP/IP ÆÐŶÀº IPv4 ¸¦ ÀÌ¿ëÇϰí ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. c0a8 6482´Â source IP, d3ea 608d´Â destination IP ÀÌ´Ù.

ÀÌÁ¦ 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¹ø ¾Ç¼ö ±â¹ýÀÇ È帧À» ¾Ë¾Æº¸µµ·Ï ÇÏÀÚ.

  1. Ŭ¶óÀÌ¾ðÆ®´Â ÀÚ½ÅÀÇ SEQ ¸¦ a9e4 638a (2850317194)·Î ¸¸µé°í . ACK ¸¦ 0000 0000 (0) À¸·Î ¸¸µé¾î¼­ 1 ÆÐŶÀ» ¼­¹öÃø Ãø¿¡ º¸³½´Ù.
  2. ¼­¹ö´Â Ŭ¶óÀÌ¾ðÆ®·Î ºÎÅÍ 1 ÆÐŶÀ» ¹Þ´Â´Ù. SEQ ´Â a9e4 638a Àε¥, ¿©±â¿¡ +1 (a9e4 638b) ¸¦ ÇØ¼­ ACK ¸¦ ¸¸µç´Ù. ±×¸®°í ÀÚ½ÅÀÇ SEQ ¸¦ 83ef 2e88 ·Î ¼¼ÆÃÇØ¼­ 2 ÆÐŶÀ» ¸¸µé°í ¸¸µé¾îÁø ÆÐŶÀ» ´Ù½Ã Ŭ¶óÀÌ¾ðÆ®·Î º¸³½´Ù.CODE BITS ¸¦ º¸¸é °ªÀÌ 02 ÀÓÀ» ¾Ë¼ö ÀÖ´Ù. 2 ´Â 2Áø¼ö·Î 10 CODE BITS ÀÇ ¼¼ÆÃÀº 00 00 10 À¸·Î µÇ¾îÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. 5¹øÂ° BIT ´Â SYN ºñÆ® ÀÓÀ¸·Î ÀÌ ÆÐŶÀº ÃÖÃÊ ¿¬°áÀ» ½ÃµµÇϱâ À§ÇÑ ÆÐŶÀÓÀ» ¾Ë¼ö ÀÖ´Ù.CODE BITS ¸¦ º¸¸é °ªÀÌ 12 ÀÓÀ» ¾Ë¼ö ÀÖ´Ù. À̰ÍÀ» 2Áø¼ö·Î º¯°æ ½ÃÄÑ º¸¸é 10 00 10 ÀÌ´Ù ±×·¯¹Ç·Î URG ¿Í SYN ºñÆ®°¡ ¼¼ÆÃµÇ¾î ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù.
  3. Ŭ¶óÀÌ¾ðÆ®´Â ¼­¹ö·Î ºÎÅÍ 2 ÆÐŶÀ» ¹Þ´Â´Ù. 2 ÆÐŶ¿¡¼­ ³Ñ¾î¿Â ACK ¸¦ È®ÀÎÇØ º»´Ù. ÃÖÃÊ¿¡ Ŭ¶óÀÌ¾ðÆ®°¡ ¼­¹öÃøÀ¸·Î º¸³½ SEQ ¿¡ +1 µÈ °ªÀ̹ǷΠ¿Ã¹Ù¸¥ µ¥ÀÌŸÀÓÀ» È®ÀÎÇÒ¼ö ÀÖ´Ù. ÀÌÁ¦ 2 ¿¡¼­ ³Ñ¾î¿Â ACK ¸¦ ÀÚ½ÅÀÇ SEQ ·Î ¼³Á¤Çϰí, 2 ¿¡¼­ ³Ñ¾î¿Â SEQ (83ef 2e88)¿¡ +1 À» ÇØ¼­ 3 ÆÐŶÀ» ¸¸µé°í À̰ÍÀ» ¼­¹ö·Î º¸³½´Ù.

CODE BITS ¸¦ º¸¸é °ªÀÌ 10 ÀÌ´Ù. 2Áø¼ö·Î 10 00 00 ÀÓÀ¸·Î URG °¡ ¼¼ÆÃµÇ¾î ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù.

ÀÌ»ó ²Ï º¹ÀâÇÑ°Í °°Áö¸¸ °õ°õÈ÷ »ý°¢ÇØ º¸¸é º°°Å ¾Æ´Ï¶õ°É ¾Ë¼ö ÀÖÀ»°ÍÀÌ´Ù.

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 
 


1 ¿¡¼­ ½ÇÁ¦ µ¥ÀÌŸ¸¦ º¸³»°í ÀÖÀ¸¸ç ¿©±â¿¡¼­´Â ¼­¹öÃøÀ¸·Î 'a' ¸¦ º¸³»°Ô µÉ°ÍÀÌ´Ù. ½ÇÁ¦ 'a' ¸¦ º¸³»´ÂÁö È®ÀÎÀ» ÇØº¸ÀÚ. IP Çì´õÀÇ Å©±â´Â (5*32) ·Î °íÁ¤µÇ¾î ÀÖÀ»°ÍÀÌ´Ù. ¹®Á¦´Â TCP Çì´õÀÇ Å©±âÀε¥, 8018 ¿¡¼­ 8 ÀÌ Çì´õÀÇ Å©±â¸¦ ³ªÅ¸³¿À» ¾Ë¼ö ÀÖ´Ù. ´ÜÀ§´Â ¿öµå À̹ǷΠ°è»êÀ» ÇØº¸¸é(8 * 32) 8366 ¿¡¼­ ºÎÅÍ edfc ±îÁö°¡ TCP Çì´õ ÀÓÀ» ¾Ë¼ö ÀÖ´Ù. ±×·¯¹Ç·Î ¿ì¸®°¡ º¸³»°íÀÚ ÇÏ´Â µ¥ÀÌŸ´Â 6100 ¿¡¼­ ºÎÅͰ¡ µÉ°ÍÀÌ´Ù. 61 Àº 'a' ¶ó´Â°É ¾Ë¼ö ÀÖ´Ù. - 61 Àº 10 Áø¼ö 97 À» ³ªÅ¸³»¸ç ASCII Äڵ带 º¸¸é 97 Àº 'a' ¸¦ ³ªÅ¸³½´Ù.
¼­¹ö¿¡¼­ µ¥ÀÌŸ¸¦ ¹Þ¾Ò´Ù¸é ¼­¹ö´Â ÀÌ¿¡ ´ëÇÑ ÀÀ´ä ¸Þ½ÃÁö(Àú ¸Þ½ÃÁö Àß ¹Þ¾Ò½À´Ï´Ù) ¸¦ Ŭ¶óÀ̾ðÆ®Ãø¿¡ º¸³»¾ß ÇÒ°ÍÀÌ´Ù.

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 ¼ÒÄÏµî ³·Àº ¼öÁØ¿¡¼­ÀÇ ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹ÖÀ» ¿øÇÑ´Ù¸é ¾Ë¾ÆµÎ¾î¾ßÇÒ ³»¿ëÀÌ´Ù. ¶ÇÇÑ ³×Æ®¿÷ °ü·Ã ¹®Á¦ÇذáÀ» Çϴµ¥ ¸¹Àº µµ¿òÀ» ÁÙ°ÍÀÌ´Ù.

ÀÌ ¹®¼­¿¡¼­ ÀÌÇØµÇÁö ¾Ê´Â ³»¿ëµîÀÌ ÀÖ´Ù¸é ´ñ±ÛÀ» ´Þ¾ÆÁÖ±æ ¹Ù¶õ´Ù. ±×·¯¸é ÃÖ´ëÇÑ °øºÎ¸¦ ÇØ¼­¶óµµ ´äº¯À» ÇØÁÖµµ·Ï ÇϰڴÙ.

4 °ü·Ã¹®¼­

EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.