Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ
  netstatÀÇ TCP ¿¬°á »óÅ ÀÇ¹Ì ÀÛ¼ºÀÏ : 2003/08/31 00:56
 
  • ±Û¾´ÀÌ : ÁÁÀºÁøÈ£ ( http://coffeenix.net/ )
  • Á¶È¸¼ö : 52757
     
    ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel, http://coffeenix.net/ )
    ÀÛ¼ºÀÏ : 2003.02.21
    ¼öÁ¤ÀÏ : 2003.08.30(Åä)

    netstatÀÇ State Çʵ忡 Ç¥½ÃµÇ´Â TCP »óÅÂÇ¥½Ã°¡ °®´Â Àǹ̸¦ ¾Ë¾Æº¾½Ã´Ù.
    RFC 793 ¹®¼­¿¡ ÀÖ´Â TCP ±âº» ¿¬°á, Á¾·á °úÁ¤À» º¸¸é ÀÌÇØ°¡ ´õ ºü¸¦ °Å¶ó »ý°¢ÇÑ´Ù.
      
    -----------------------------------------------------------
    # netstat -atn
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address          Foreign Address       State
    ... »ý·« ...
    tcp        0      0 0.0.0.0:25             0.0.0.0:*             LISTEN      <-- Æ÷Æ®°¡ ¿­·ÈÀ½
    tcp        0      0 192.168.123.10:32799   207.46.106.141:1863   ESTABLISHED <-- ¼­·Î ¿¬°áÁß
    tcp        0      0 192.168.123.10:32794   218.xxx.xx.xx:22      ESTABLISHED
    tcp        0      0 192.168.123.10:32802   207.46.108.46:1863    CLOSE_WAIT  <-- Á¾·á ´ë±âÁß
    tcp        0      0 192.168.123.10:33244   211.xxx.xx.x:80       ESTABLISHED
    ... »ý·« ...
    -----------------------------------------------------------
      
    1) TCP ¿¬°á°ü·Ã »óÅÂ
      
    * RFC 793¹®¼­¿¡ ³ª¿Â ±âº»ÀûÀÎ TCP ¿¬°á °úÁ¤

          TCP A                                                      TCP B

      1.  CLOSED                                                     LISTEN
      2.  SYN-SENT    --> < SEQ=100>< CTL=SYN>                   --> SYN-RECEIVED
      3.  ESTABLISHED <-- < SEQ=300>< ACK=101>< CTL=SYN,ACK>     <-- SYN-RECEIVED
      4.  ESTABLISHED --> < SEQ=101>< ACK=301>< CTL=ACK>         --> ESTABLISHED
      5.  ESTABLISHED --> < SEQ=101>< ACK=301>< CTL=ACK>< DATA>  --> ESTABLISHED

    LISTEN      : µ¥¸óÀÌ ¿äûÀ» ¹ßÀ» ¼ö ÀÖµµ·Ï ¿¬°á ¿ä±¸¸¦ ±â´Ù¸®´Â »óÅÂ
      Áï, Æ÷Æ®°¡ ¿­·ÁÀÖÀ½À» ÀǹÌ. http(80), mail(25), ftp(21), telnet(23) µî
      À§¿¡¼­ Æ÷Æ® 25(mail)ÀÌ ¸ÞÀÏÀ» ¹ÞÀ» ¼ö ÀÖµµ·Ï ¿­·Á ÀÖ´Â »óÅÂ
      À©µµ¿ìÁî¿¡¼­´Â LISTENINGÀ¸·Î Ç¥½Ã
    SYN_SENT    : ·ÎÄÿ¡¼­ ¿ø°ÝÀ¸·Î ¿¬°á ¿äû(SYN ½ÅÈ£¸¦ º¸³¿)À» ½ÃµµÇÑ »óÅÂ
    SYN_RECV    : ¿ø°ÝÀ¸·Î ºÎÅÍ ¿¬°á ¿äûÀ» ¹ÞÀº »óÅÂ
      ¿äûÀ» ¹Þ¾Æ SYN+ACK ½ÅÈ£·Î ÀÀ´äÀº ÇÑ »óÅÂÀÌÁö¸¸ ACK´Â ¹ÞÁö ¸øÇß´Ù.
      netstat·Î È®ÀÎÇÒ ¶§ SYN_RECV°¡ »ó´çÈ÷ ¸¹´Ù¸é TCP SYN Ç÷¯µù(Flooding) °ø°ÝÀÏ
      °¡´É¼ºÀÌ ÀÖ´Ù.
      À©µµ¿ìÁî¿Í ¼Ö¶ó¸®½º¿¡¼­´Â SYN_RECEIVEDÀ¸·Î, FreeBSD´Â SYN_RCVDÀ¸·Î Ç¥½Ã
    ESTABLISHED : ¼­·Î ¿¬°áÀÌ µÇ¾î ÀÖ´Â »óÅÂ
      À§¿¡¼­ 192.168.123.10ÀÇ Æ÷Æ® 32794°ú 218.xxx.xx.xxÀÇ Æ÷Æ® 22(ssh)ÀÌ ¼­·Î
      ¿¬°áµÇ¾î ÀÖ´Â »óÅÂ

    2) TCP Á¾·á°ü·Ã »óÅÂ

    * Á¤»óÀûÀÎ ¿¬°á Á¾·á °úÁ¤

          TCP A                                                   TCP B

      1.  ESTABLISHED                                             ESTABLISHED
      2.  (Close)
          FIN-WAIT-1  --> < SEQ=100>< ACK=300>< CTL=FIN,ACK>  --> CLOSE-WAIT
      3.  FIN-WAIT-2  <-- < SEQ=300>< ACK=101>< CTL=ACK>      <-- CLOSE-WAIT
      4.                                                         (Close)
          TIME-WAIT   <-- < SEQ=300>< ACK=101>< CTL=FIN,ACK>  <-- LAST-ACK
      5.  TIME-WAIT   --> < SEQ=101>< ACK=301>< CTL=ACK>      --> CLOSED
      6.  (2 MSL)
          CLOSED                                                      

    FIN_WAIT1   : ¼ÒÄÏÀÌ ´ÝÈ÷°í ¿¬°áÀÌ Á¾·áµÇ°í ÀÖ´Â »óÅÂ. ¿ø°ÝÀÇ ÀÀ´äÀº ¹ÞÀ» ¼ö ÀÖ´Ù.
      ¼Ö¶ó¸®½º¿¡¼­´Â FIN_WAIT_1·Î Ç¥½Ã
    FIN_WAIT2   : ·ÎÄÃÀÌ ¿ø°ÝÀ¸·Î ºÎÅÍ ¿¬°á Á¾·á ¿ä±¸¸¦ ±â´Ù¸®´Â »óÅÂ
      ¼Ö¶ó¸®½º¿¡¼­´Â FIN_WAIT_2·Î Ç¥½Ã
    CLOSE_WAIT  : ¿ø°ÝÀÇ ¿¬°á ¿äûÀ» ¹Þ°í ¿¬°áÀÌ Á¾·áµÇ±â¸¦ ±â´Ù¸®´Â »óÅÂ
      ¿ø°ÝÀ¸·Î ºÎÅÍ FIN+ACK ½ÅÈ£¸¦ ¹Þ°í ACK ½ÅÈ£¸¦ ¿ø°Ý¿¡ º¸³Â´Ù.
    TIME_WAIT   : ¿¬°áÀº Á¾·áµÇ¾úÀ¸³ª ¿ø°ÝÀÇ ¼ö½Å º¸ÀåÀ» À§ÇØ ±â´Ù¸®°í ÀÖ´Â »óÅÂ
      ÀÌ »óŸ¦ ƯÈ÷ ÀÚÁÖ º¸°ÔµÇ´Â Apache¿¡¼­ KeepAlive¸¦ OFF·Î ÇصР°æ¿ì,
      Tomcat ¼­¹ö¸¦ ¾²´Â °æ¿ì µî
    LAST_ACK    : ¿¬°áÀº Á¾·áµÇ¾ú°í ½ÂÀÎÀ» ±â´Ù¸®´Â »óÅÂ
    CLOSED      : ¿ÏÀüÈ÷ ¿¬°áÀÌ Á¾·áµÈ »óÅÂ

    ¡Ø À§ÀÇ FIN_WAIT1, FIN_WAIT2, CLOSE_WAIT 3°³ »óÅ´ ¿¬°á Á¾·á¸¦ À§ÇØ ¼­·Î°£¿¡
       ½ÅÈ£¸¦ ÁÖ°í¹Þ´Â °úÁ¤¿¡ ³ªÅ¸³ª´Â »óÅ·ΠÀÌÇØÇÏ¸é µÈ´Ù.
       Á¾·á ¿äûÀ» ÇÑ °÷¿¡¼­´Â FIN_WAIT1, FIN_WAIT2, TIME_WAIT »óÅ°¡
       Á¾·á ¿äûÀ» ¹Þ´Â °÷¿¡¼­´Â CLOSE_WAIT, LAST_ACK »óÅ°¡ Ç¥½ÃµÈ´Ù.

    3) ±âŸ

    CLOSING     : ¿¬°áÀº Á¾·áµÇ¾úÀ¸³ª Àü¼ÛµµÁß µ¥ÀÌŸ°¡ ºÐ½ÇµÈ »óÅÂ
    UNKNOWN     : ¼ÒÄÏÀÇ »óŸ¦ ¾Ë ¼ö ¾øÀ½

    ¼Ö¶ó¸®½ºÀÇ netstat ¸í·É¿¡¼­´Â ´ÙÀ½ 2°³ÀÇ »óŸ¦ ´õ Ç¥½ÃÇÑ´Ù.

    IDLE        : ¼ÒÄÏÀÌ ¿­·ÈÁö¸¸ binding µÇÁö ¾ÊÀº »óÅÂ
    BOUND       : listenÀ̳ª ¿¬°áÀ» À§ÇÑ Áغñ »óÅÂ

    ¡Ø Âü°í ¹®¼­  
    - netstat ¸ÇÆäÀÌÁö(linux, solaris)
    - RFC 793 ( http://www.ietf.org/rfc/rfc0793.txt )


    Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ / URL : http://coffeenix.net/board_view.php?bd_code=44