LINUX GAZETTE
...¸®´ª½º¸¦ Á» ´õ Àç¹ÌÀÖ°Ô!
TCPdump¿Í Tethereal°ú ÇÔ²² TCP/IP ŽÇè
By Vinayak Hegde

Çѱ۹ø¿ª ÀüÁ¤È£

ÀÌ ±ÛÀº Çѱ۹ø¿ªÆÇÀÔ´Ï´Ù. ¿ø¹®Àº ¿©±â¿¡¼­ º¼ ¼ö ÀÖ½À´Ï´Ù.

°¡Àå ªÀº TCP/IP ¼Ò°³

TCP/IP´Â ÄÄÇ»ÅÍÅë½Å¿¡ »ç½Ç»ó Ç¥ÁØ ÇÁ·ÎÅäÄÝÀÌ µÇ¾ú´Ù. IP´Â (Internet Protocol) ³×Æ®¿÷Ãþ(ÁÖ¼Ò¿Í ¶ó¿ìµù) ±â´ÉÀ» Á¦°øÇϰí, TCP´Â (Transmission Control Protocol) Åë½ÅÇÏ´Â ¾çÂÊ ³¡»çÀÌ¿¡ (°¡»óÀÇ) ¿¬°áÀ» ¸¸µç´Ù. TCP/IP¿¡´Â À̿ܿ¡µµ ICMP (Internet Control Message Protocol), IGMP (Internet Group management protocol), UDP (User Datagram Protocol) °°Àº ¿©·¯ À¯¿ëÇÑ ÇÁ·ÎÅäÄݵéÀÌ ÀÖ´Ù. ¿À´Ã³¯ °ÅÀÇ ´ëºÎºÐÀÇ ³×Æ®¿÷ÀÌ TCP/IP¸¦ »ç¿ëÇÑ´Ù. ¿À´Ã³¯ ¸¹Àº ÇÁ·Î±×·¥µéÀÌ ³×Æ®¿÷ ±â´ÉÀ» Æ÷ÇÔÇϱ⶧¹®¿¡, ÇÁ·Î±×·¡¸Ó¶ó¸é ÃÖ¼ÒÇÑÀÇ TCP/IP Áö½ÄÀ» °¡Áú Çʿ䰡 ÀÖ´Ù.

ÄÄÇ»Å͵éÀº ¼­·Î ÆÐŶ(packet)À» ±³È¯ÇÏ¿© TCP/IP Åë½ÅÀ» ÇÑ´Ù. IP ¼öÁØ¿¡¼­ ÆÐŶÀ» PDU (Protocol Data Unit)¶ó°í ÇÑ´Ù. TCP ¼öÁØ¿¡¼­ PDU¸¦ ¼¼±×¸ÕÆ®(segment)¶ó°í Çϰí, (ÀÌ´õ³Ý(Ethernet) µî) µ¥ÀÌÅ͸µÅ©(data-link)Ãþ¿¡¼­´Â PDU¸¦ Ç÷¹ÀÓ(frame)À̶ó°í ÇÑ´Ù. ±×·¯³ª ÀϹÝÀûÀ¸·Î ÆÐŶÀ̶õ ¿ë¾î´Â TCP/IPÃþ°£¿¡, ¶Ç µÎ ÄÄÇ»ÅͰ£¿¡ ±³È¯µÇ´Â ÀÚ·á ´ÜÀ§¸¦ ÁöĪÇÑ´Ù.

ÀÌ´õ³Ý Ç÷¹ÀÓÀº ´ÙÀ½°ú °°´Ù:

	+------------------------------------------------------------------+	
	|	  |		|		|		|	   |	
	|  ÀÌ´õ³Ý  |     IP  	|     TCP	|  Æ÷ÇÔÇÏ´Â    	|  ÀÌ´õ³Ý   |	
	|  Çì´õ    |     Çì´õ   	|     Çì´õ   	|    ÀÚ·á  	|  ¸»´Ü     |	
	|         |		|		|		|  (FCS)   |	
	+------------------------------------------------------------------+	
		  <- 20 ¹ÙÀÌÆ® -> <- 40 ¹ÙÀÌÆ® ->					
					
	  	  <----------  ÃÖ´ë ±æÀÌ = 1500 ¹ÙÀÌÆ®  ---------->
	
			FCS´Â Frame Check Sequence¸¦ ¶æÇÑ´Ù.
	

TCPdump¿Í Tethereal

TCPdump´Â ³×Æ®¿÷ÀåÄ¡¸¦ Åë°úÇÏ´Â ÆÐŶÀ» °¡·Îä¼­ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÖ´Â µµ±¸´Ù. ÇÁ·Î±×·¡¸Ó°¡ ³×Æ®¿÷ ÇÁ·Î±×·¥À» ¼Õº¼¶§ »ç¿ëÇÏ´Â ÀÛ°í ¸Å¿ì À¯¿ëÇÑ µµ±¸´Ù. ÀÌ µµ±¸°¡ ³×Æ®¿÷ÀåÄ¡°¡ ¹ÞÀº ¸ðµç ÆÐŶÀ» Àâ±â¶§¹®¿¡ ºÒ¹ýÀûÀÎ ¿ëµµ¿¡µµ »ç¿ëµÉ ¼ö ÀÖ´Ù.

º¸Åë ÁÖ¼Ò°¡ ÇØ´ç ³×Æ®¿÷ÀåÄ¡¸¦ ÁöĪÇÏ´Â ÆÐŶ¸¸ÀÌ TCP/IP ÇÁ·ÎÅäÄÝ »óÀ§Ãþ¿¡ ¿Ã¶ó°£´Ù. ±× ÀåÄ¡¿¡ ÇØ´çÇÏÁö¾Ê´Â ÆÐŶµéÀº ¹«½ÃÇÑ´Ù. ±×·¯³ª Promiscuous ¸ðµå´Â ±× ÀåÄ¡°¡ ¹ÞÁö¾ÊÀ» ÆÐŶ±îÁö Àâ¾Æ¼­ ÇÁ·ÎÅäÄÝ »óÀ§ÃþÀ¸·Î º¸³½´Ù. TCPdump´Â ³×Æ®¿÷ÀåÄ¡¸¦ promiscuous ¸ðµå·Î µ¿ÀÛÇÑ´Ù.

TCPdump´Â ÀÚÀ¯·Ó°Ô °ø°³µÈ (ÆÐŶ Àâ´Â ¶óÀ̺귯¸®) libpcapÀ» »ç¿ëÇÑ´Ù. libpcap ¶óÀ̺귯¸®´Â ´Ù¿ëµµ·Î, BSD ÆÐŶ ÇÊÅÍ, SVR4 Data-link Provider Interface (DLPI), ¸®´ª½º SOCK_PACKET ÀÎÅÍÆäÀ̽º¿Í µ¿ÀÛÇÒ ¼ö ÀÖ´Ù. ÀαâÀÖ´Â ³×Æ®¿÷ ºÐ¼®µµ±¸ etherealÀÇ ¸í·ÉÇà ¹öÀüÀÎ Tetherealµµ ÆÐŶ Àâ´Â ¶óÀ̺귯¸® pcapÀ» »ç¿ëÇÑ´Ù. TetherealÀº ³×Æ®¿÷ ÅëÇàÀ» ºÐ¼®Çϰí, TCPdump¿Í ´Þ¸® ÆÐŶÀ» ÇØ¼®ÇÏ´Â ±â´ÉÀÌ ÀÖ´Â °­·ÂÇÑ µµ±¸ÀÌ´Ù. ÆÐŶÀ» ºÐ¼®ÇÏ´Â GUI µµ±¸ÀÎ EtherealÀº ¸Å¿ì ÁÁÀº µµ±¸·Î, °èÃþÀûÀÎ ¹æ½ÄÀ¸·Î ÆÐŶÀÇ ¿©·¯ Ç÷¡±×¿Í ¿É¼ÇÀ» º¸¿©ÁØ´Ù. etherealÀÇ °¡Àå ÁÁÀº ±â´ÉÀº µÎ ÄÄÇ»ÅͰ£ Åë½ÅÀÇ ¿©·¯ Á¶°¢À» ºÙ¿©¼­ Åë½ÅÁß¿¡ ±³È¯ÇÑ Àüü ASCII ³»¿ëÀ» º¸¿©ÁÖ´Â Á¡ÀÌ´Ù.

TCP¿Í IP ÆÐŶ Çü½Ä

RFC 791 ¿¡¼­ °¡Á®¿Â ASCII Ç¥Çö

    0                   1                   2                   3   
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 	    
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+	
   |Version|  IHL  |Type of Service|          Total Length         |	
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+	
   |         Identification        |Flags|      Fragment Offset    |	
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+	
   |  Time to Live |    Protocol   |         Header Checksum       |	
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+	
   |                       Source Address                          |	
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+	
   |                    Destination Address                        |	
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+	
   |                    Options                    |    Padding    |	
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+	
									
			IP Çì´õ Çü½Ä        				

RFC 793 ¿¡¼­ °¡Á®¿Â ASCII Ç¥Çö

    0                   1                   2                   3   	
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1	 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      
   |          Source Port          |       Destination Port        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Sequence Number                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Acknowledgment Number                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Data |           |U|A|P|R|S|F|                               |
   | Offset| Reserved  |R|C|S|S|Y|I|            Window             |
   |       |           |G|K|H|T|N|N|                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |         Urgent Pointer        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Options                    |    Padding    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             data                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            TCP Çì´õ Çü½Ä         

TCPdump¿Í TetherealÀ» »ç¿ëÇÏ¿© ÆÐŶÀ» Àâ´Â ¿¹

TCPdump´Â ³×Æ®¿÷¿¡ ¿¬°áµÈ ¾î¶² ÀÎÅÍÆäÀ̽º¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ½Ã½ºÅÛ¿¡ ¿¬°áµÈ ÀÎÅÍÆäÀ̽º ¸ñ·ÏÀ» º¸·Á¸é ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÑ´Ù

#ifconfig -a				

±×·¯¸é loopback ÀÎÅÍÆäÀ̽º¸¦ Æ÷ÇÔÇÏ¿© ½Ã½ºÅÛ¿¡ ¿¬°áµÈ ¸ðµç ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º ¸ñ·ÏÀ» Ãâ·ÂÇÑ´Ù. ÀüÈ­¼±À¸·Î ³×Æ®¿÷¿¡ ¿¬°áÇß´Ù¸é, TCPdump¿¡ ppp0 ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© ÇÁ·Î±×·¥À» Å×½ºÆ®ÇÏ°í µð¹ö±ëÇÒ ¼ö ÀÖ´Ù.

¿¹Á¦ #1
´ÙÀ½Àº ÀüÈ­¼±À» (PPP) »ç¿ëÇÏ¿© ÆÐŶÀ» Àâ´Â (ÆÄÀÏ tcpdumpppp·Î) ¿¹ÀÌ´Ù. -vvv ¿É¼ÇÀº tcpdumpÀÇ Ãâ·ÂÀ» ¸Å¿ì ÀÚ¼¼ÇÏ°Ô ¸¸µç´Ù. ÀÚ¼¼ÇÔÀ» Á¶ÀýÇÏ´Â ´Ù¸¥ ¿É¼Ç¿¡´Â -v ¿Í -vv °¡ ÀÖ´Ù.

#tcpdump -vvv > tcpdumpppp		
tcpdump: listening on ppp0		

CTRL-C¸¦ ´©¸£¸é ÆÐŶÀ» ±×¸¸ Àâ´Â´Ù.

15:57:58.181078 207.219.33.101.http > 203.94.236.47.33003: P 1:1399(1398) ack 736 win 31856  (DF) [tos 0x10]  (ttl 38, id 28827, len 1450)

À§ÀÇ ÆÐŶ Ãâ·Â¿¡¼­ ´ÙÀ½°ú °°Àº Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù

¿¹Á¦ #2
´ÙÀ½Àº (eth0·Î ÁöĪÇÏ´Â ÀÎÅÍÆäÀ̽º) NIC¿¡¼­ ÀâÀº ÆÐŶ Ãâ·ÂÀÌ´Ù

#tcpdump -a -i eth0		


06:21:11.414863 > pca03.nt.co.in.ssh > pcc03.mum.nt.co.in.4944: P 252143283:252143331(48) ack 2638534821 win 62780 (DF) [tos 0x10] 

			  E^P ^@ X ....  @^@  @^F .. N .... ....
			 .... .... ^@^V ^S P ^O^G  f.. .. D ....
			  P^X .. < .. t ^@^@  k +  Y^Q .... .. (
			  ^..  )^G  c 3 ^\ v  t.. ..^G ^J.. .. t
			  9.. .. -  F.. ....  6..  /.. ....  9..
			  [.. ....  G.. .. d
(-a) °¡´ÉÇϸé IP·Î µµ¸ÞÀθíÀ» ã°í, ¸íÈ®ÇÏ°Ô eth0 ÀÎÅÍÆäÀ̽º¿¡¼­ ÆÐŶÀ» Àâ´Â´Ù°í Áö½ÃÇß´Ù. (-i) ¿É¼ÇÀ» ÁÖÁö¾ÊÀ¸¸é TCPdump ½º½º·Î ÀÎÅÍÆäÀ̽º¸¦ ã¾Æ¼­ ¸ðµç ÀÎÅÍÆäÀ̽º¿¡¼­ ÆÐŶÀ» Àâ´Â´Ù. À§ÀÇ ÆÐŶ Ãâ·Â¿¡¼­ ¾òÀ» ¼ö ÀÖ´Â Á¤º¸´Â ´ÙÀ½°ú °°´Ù:-

¿¹Á¦ #3

´ÙÀ½Àº SYN (¿¬°á¿äû) ÆÐŶÀÇ Ãâ·ÂÀÌ´Ù ÀÌ ÆÐŶÀº ÀÌ´õ³Ý¿¡¼­ Àâ¾Ò´Ù.

15:57:56.074928 203.94.236.47.33003 > 216.239.33.101.http: S [tcp sum ok] 937694521:937694521(0) win 5840  (DF) (ttl 64, id 54537, len 60)

À§¿¡¼­ ´ÙÀ½°ú °°Àº Á¤º¸¸¦ ¾Ë ¼ö ÀÖ´Ù:-

¿¹Á¦ #4
tetherealÀ» »ç¿ëÇÏ¿© ÀâÀº ÆÐŶ Ãâ·ÂÀÌ´Ù

#tethereal -i lo		


26  19.624878 localhost.localdomain -> localhost.localdomain TCP 33283 > http [FIN, ACK] Seq=877643253 Ack=882239950 Win=37296 Len=0

tetherealÀÇ Ãâ·ÂÀº TCPdump¿Í ºñ½ÁÇÏ´Ù. ÀÌ °æ¿ì´Â (¿¬°áÀ» ´ÝÀ¸·Á´Â) FIN,ACK ÆÐŶÀÌ´Ù. TetherealÀ» ÇÁ·ÐÆ®¾Øµå ethereal°ú °°ÀÌ »ç¿ëÇÏ¸é ³×Æ®¿÷ ÀÌ»óÀ» ¹ß°ßÇϴµ¥ ¸Å¿ì À¯¿ëÇÏ´Ù.

¸¶Ä¡´Â ¸»

TCPdump´Â ¸Å¿ì ÁÁÀº µµ±¸Áö¸¸ TCP/IP ÇÁ·ÎÅäÄݸ¸À» ó¸®ÇÑ´Ù. ÀÌ µµ±¸´Â ÀÌ ÀÛ¾÷À» ¸Å¿ì Àß ÇÑ´Ù. EtherealÀº ¸Å¿ì ±â´ÉÀÌ ¸¹À¸¸ç ¿©·¯ ÇÁ·ÎÅäÄÝÀ» ÀÌÇØÇÒ ¼ö ÀÖ´Ù. ¶Ç, etherealÀÇ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º´Â Àß ¼³°èµÇ¾î, Ãʺ¸ÀÚµµ ÀâÀº ÆÐŶ°ú ÆÐŶ¿¡ µç Á¤º¸¸¦ ÀÌÇØÇÒ ¼ö ÀÖ´Ù. ÁÁÀº ÀÎÅÍÆäÀ̽º·Î ´õ Áñ°Ì°Ô ¹è¿ï ¼ö ÀÖ´Ù.

Âü°íÀÚ·á

 

[BIO] ³» ÀλýÀº ¸®´ª½º¸¦ ¸¸³ª°í ´Þ¶óÁ³´Ù. °©ÀÚ±â ÄÄÇ»ÅͰ¡ Èï¹Ì·Î¿öÁ³°í, ¼Ò½ºÄڵ带 ½±°Ô ¾òÀ» ¼ö Àֱ⶧¹®¿¡ ¸®´ª½º¿¡¼­ ¸¹Àº ÀϵéÀ» ½ÃµµÇغ¼ ¼ö ÀÖ¾ú´Ù. ³ª´Â ³×Æ®¿÷, ÀÓº£µðµå ½Ã½ºÅÛ, ÇÁ·Î±×·¡¹Ö¾ð¾î¿¡ °ü½ÉÀÌ ¸Å¿ì ¸¹´Ù. ³ª´Â ÇöÀç Aparna Web services¿¡¼­ Çб³³ª ±â¾÷¿¡¼­ ¿ø°Ý ºÎÆ® ½ºÅ×À̼Ç(Thin Clients)À¸·Î ¸®´ª½º¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ´Â ÀÏÀ» Çϰí ÀÖ´Ù.


Copyright © 2003, Vinayak Hegde. Copying license http://www.linuxgazette.com/copying.html
Published in Issue 86 of Linux Gazette, January 2003