ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. 1 ¼Ò°³
À̹ø ±ÛÀº µµ¸ÞÀÎÁÖ¼Ò ±×¸®°í Á¡ Ç¥±â ¹æ½ÄÁÖ¼Ò (xxx.xxx.xxx.xxx), 32 bit ÁÖ¼Ò°£ÀÇ º¯È¯ÀÌ ¾î¶»°Ô ÀÌ·ç¾îÁö´ÂÁö¿¡ ´ëÇÑ ³»¿ëÀ» ´ã°í ÀÖ´Ù.
À̵鿡 ´ëÇÑ ÀÌÇØ´Â ÀÎÅÍ³Ý °ü·Ã ¾îÇø®ÄÉÀ̼ÇÀ» Á¦ÀÛÇϴµ¥ ¸¹Àº µµ¿òÀ» ÁÙ°ÍÀÌ´Ù. 2 2Áø ÀÎÅÍ³Ý ÁÖ¼Ò
IPv4¿¡¼ ÀÎÅÍ³Ý ÁÖ¼ÒÀÇ Å©±â´Â 4byte Å©±â¸¦ °¡Áö¸ç, int Çü ¼ýÀڷΠǥ½ÃµÈ´Ù. À̸¦Å׸é 219810019 ÀÌ·± ½ÄÀÌ´Ù. ÀÌ °ªÀº ¶ó¿ìÅÍ¿Í °°Àº ÄÄÇ»Åͱâ±â°¡ Àбâ´Â ½±Áö¸¸ Àΰ£ÀÌ ÀÌ¿ëÇϱâ´Â Èûµé´Ù. ±×·¡¼ µµ¸ÞÀÎ ÁÖ¼Ò¸¦ ¸ÊÇÎÇØ¼ »ç¿ëÇÑ´Ù.
1019811872 ´ë½Å¿¡ www.joinc.co.krÀ» »ç¿ëÇÏ´Â ½ÄÀÌ´Ù. µµ¸ÞÀÎ ÁÖ¼Ò´Â ±â¾ï°ú »ç¿ëÀÌ ½±±â ¶§¹®¿¡ ÀÎÅÍ³Ý »ç¿ëÀÚ ¾ÖÇø®ÄÉÀ̼ÇÀº µµ¸ÞÀÎ ÁÖ¼Ò¸¦ Ȱ¿ëÇÑ´Ù. 3 ÀÎÅÍ³Ý µµ¸ÞÀÎ ÁÖ¼Ò¿¡ ´ëÇØ¼
firefox, ftp, ssh µî ÇÁ·Î±×·¥µéÀÌ µµ¸ÞÀÎ ÁÖ¼Ò¸¦ ÀÌ¿ëÇØ¼ ¿ø°Ý ÄÄÇ»ÅÍ¿¡ ¿¬°áÇÑ´Ù. ÇÏÁö¸¸ ÀÌ µµ¸ÞÀÎ ÁÖ¼Ò´Â Àΰ£À» À§Çؼ °³¹ßµÈ »ó¡ü°è·Î ÄÄÇ»ÅÍ´Â µµ¸ÞÀÎ ÁÖ¼Ò¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù. ±×·¯¹Ç·Î À̵é ÀÎÅÍ³Ý Å¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥Àº ÀÔ·Â ¹ÞÀº µµ¸ÞÀÎ ÁÖ¼Ò¸¦ ÀÎÅÍ³Ý ÁÖ¼Ò·Î º¯È¯ÇØÁà¾ßÇÑ´Ù.
DNS´Â Á·ÀâÇÑ ½Ã½ºÅÛÀ¸·Î ÀÚ¼¼ÇÑ ³»¿ëÀº Powered by DNS ¹®¼¸¦ Âü°íÇϱ⠹ٶõ´Ù.
ÀÌ ¹®¼¿¡¼´Â ÇÁ·Î±×·¡¸ÓÀÇ ÀÔÀå¿¡¼ À§ÀÇ °úÁ¤ÀÌ ¾î¶»°Ô ÀÌ·ç¾îÁö´ÂÁö¸¸ È®ÀÎÇØ º¼°ÍÀÌ´Ù. 3.1 µµ¸ÞÀÎ ÁÖ¼Ò¸¦ ÀÎÅÍ³Ý ÁÖ¼Ò·Î º¯È¯
µµ¸ÞÀÎ ÁÖ¼Ò¿¡ ´ëÇÑ ÀÎÅͳÝÁÖ¼ÒÀÇ º¯È¯Àº 2°¡Áö ¹æ¹ýÀ» µû¸¥´Ù. Áï /etc/resolv.conf ¸¦ ÀÌ¿ëÇØ¼ ¿ÜºÎ µµ¸ÞÀÎÁÖ¼Ò¿¡ ´ëÇÑ ÀÎÅͳÝÁÖ¼Ò¸¦ °¡Á®¿À´Â °Í°ú, /etc/hosts ¸¦ ÀÌ¿ëÇØ¼ ÀÎÅͳÝÁÖ¼Ò¸¦ °¡Á®¿À´Â °ÍÀÌ´Ù. ¾ö¹ÐÈ÷ ¸»ÇÏÀÚ¸é 2°¡Áö ¹æ¹ýÀÌ ÀÖ´Â°Ô ¾Æ´Ï°í, ¿ì¼± /etc/hosts ÀÇ È£½ºÆ® Á¤º¸¸¦ ÂüÁ¶ÇÏ°í ¾øÀ»°æ¿ì /etc/resolv.conf ¸¦ ÂüÁ¶ÇÏ´Â ¼ø¼¸¦ µû¸¥´Ù.
À̹øÀå¿¡¼´Â ÀÌ ¼ø¼¿¡ µû¸¥ ÀÎÅͳÝÁÖ¼Ò¸¦ °¡Á®¿À´Â ¹æ¹ý¿¡ ´ëÇÑ ¼³¸íÀ» ÇÒ°ÍÀÌ´Ù. 3.2 resolv.conf ÂüÁ¶
¾îÇø®ÄÉÀ̼ǿ¡¼ µµ¸ÞÀÎ ÁÖ¼Ò¸¦ ¹Þ¾Ò´Ù¸é ÀÌ µµ¸ÞÀÎÁÖ¼Ò¿¡ ´ëÀÀÇÏ´Â ÀÎÅͳÝÁÖ¼Ò¸¦ ¾ò¾î¿Í¾ß ÇÑ´Ù. ÀÌ ÀÛ¾÷Àº ¼ÒÄÏ ÇÔ¼öÀÎ gethostbynameÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. #include <netdb.h> struct hostent *gethostbyname(const char *name);À§ ÇÔ¼ö¸¦ ½ÇÇàÇϸé ÁÖ¼Ò ¸ñ·ÏÀ» ´ã°í ÀÖ´Â hostent ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅ͸¦ µ¹·Á ÁØ´Ù. ÀÌ ±¸Á¶Ã¼´Â ´ÙÀ½°ú °°Àº Á¤º¸µéÀ» °¡Áö°í ÀÖÀ¸¸ç, ÀÌ Á¤º¸µéÀ» ÀÌ¿ëÇØ¼ ÁÖ¾îÁø µµ¸ÞÀÎ ÁÖ¼Ò name ÀÇ ÀÎÅͳÝÁÖ¼Ò ¸ñ·ÏÀ» ¾ò¾î¿Ã¼ö ÀÖ´Ù. struct hostent
{
char *h_name; /* È£½ºÆ®ÀÇ °ø½Ä À̸§ */
char **h_aliases; /* º°Äª ¸®½ºÆ® */
int h_addrtype; /* È£½ºÆ® ÁÖ¼Ò Å¸ÀÔ */
int h_length; /* ÁÖ¼ÒÀÇ ±æÀÌ */
char **h_addr_list; /* ÁÖ¼Ò ¸®½ºÆ® */
}
DNS´Â ¼¹ö/Ŭ¶óÀÌ¾ðÆ® ¸ðµ¨À» µû¸£¹Ç·Î, µµ¸ÞÀÎ º¯È¯ ¼ºñ½º¸¦ ¿äûÇÒ ¼¹öÀÇ Á¤º¸¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù. ¸®´ª½º ¿î¿µÃ¼Á¦´Â /etc/resolv.conf¿¡ DNS ¼¹öÀÇ ¸ñ·ÏÀ» ÀúÀåÇÑ´Ù. gethostbyname ÇÔ¼ö¸¦ È£ÃâÇϸé, resolv.conf¿¡ µî·ÏµÈ ¼¹ö¿¡ ¿äûÀ» ÇÑ´Ù. ´ÙÀ½Àº reslov.confÀÇ ³»¿ëÀÌ´Ù. search localhost nameserver 211.62.36.242 nameserver 164.124.101.2
¸¸¾à¿¡ ÀÎÅÍ³Ý»ó¿¡ µî·ÏµÇÁö ¾ÊÀº µµ¸ÞÀÎÀ̸§¿¡ ´ëÇÑ Á¤º¸¸¦ ¿äûÇÒ°æ¿ì NULLÀ» µ¹·ÁÁØ´Ù. ÇϳªÀÇ µµ¸ÞÀÎ À̸§Àº µÎ°³ ÀÌ»óÀÇ ÀÎÅÍ³Ý ÁÖ¼Ò¿¡ ´ëÀÀÇÒ ¼ö Àֱ⠶§¹®¿¡ h_addr_list´Â ¸ñ·ÏÀ» charÀÇ 2Â÷¿ø ¹è¿ ±¸Á¶¸¦ °¡Áø´Ù.
´ÙÀ½Àº gethostbyname() À» ÀÌ¿ëÇØ¼ ÀÎÅÍ³Ý ÁÖ¼Ò¸¦ ¾ò¾î¿À´Â °£´ÜÇÑ ¿¹Á¦ ÇÁ·Î±×·¥ÀÌ´Ù.
gethostbyname.c #include <netdb.h> #include <sys/socket.h> #include <arpa/inet.h> #include <netinet/in.h> int main(int argc, char **argv) { struct hostent *myent; struct in_addr myen; long int *add; myent = gethostbyname(argv[1]); if (myent == NULL) { perror("ERROR : "); exit(0); } printf("%s\n", myent->h_name); while(*myent->h_addr_list != NULL) { add = (long int *)*myent->h_addr_list; myen.s_addr = *add; printf("%s\n", inet_ntoa(myen)); myent->h_addr_list++; } } [root@localhost test]# ./gethostbyname www.joinc.co.kr www.joinc.co.kr 211.234.96.147 [root@localhost test]# ./gethostbyname www.yahoo.com www.yahoo.akadns.net 66.218.71.83 66.218.71.84 66.218.71.86 66.218.71.87 66.218.71.89 66.218.71.80 66.218.71.81 3.3 /etc/hosts ÂüÁ¶
¾Õ¼ ¾ð±ÞÇßµíÀÌ gethostbyname() À» È£ÃâÇÒ°æ¿ì ¿ì¼±ÀûÀ¸·Î /etc/hosts ÀÇ È£½ºÆ® Á¤º¸¸¦ ã°Ô µÇ°í Á¤º¸°¡ ¾øÀ»°æ¿ì /etc/reslov.conf ¸¦ ÂüÁ¶ÇÏ°Ô µÈ´Ù. ´ÙÀ½Àº Å×½ºÆ®¸¦ À§ÇÑ /etc/hosts Á¤º¸ÀÌ´Ù. 192.168.1.102 gateway 192.168.1.103 test.web.co.kr [root@coco test]# ./gethostbyname gateway gateway 192.168.1.102 [root@coco test]# ./gethostbyname test.web.co.kr test.web.co.kr 192.168.1.103
/etc/hosts´Â Áö¿ª ³×Æ®¿öÅ©¿¡¼ »ç¿ëÇÒ µµ¸ÞÀÎ ½Ã½ºÅÛÀ» ¸¸µé±â À§Çؼ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾à 100´ë Á¤µµÀÇ °Ë»öÀ» À§ÇÑ ½Ã½ºÅÛÀ¸·Î ±¸¼ºµÈ ³»ºÎ ³×Æ®¿öÅ©°¡ ÀÖ´Ù°í °¡Á¤ÇØ º¸ÀÚ. À̵éÀ» ¾î¶»°Ô °ü¸®ÇÒ °ÍÀΰ¡ ? Á¡Ç¥±â ¹æ½Ä ÀÎÅÍ³Ý ÁÖ¼Ò·Î ? ±×°Ç ³Ê¹« ¹ø°Å·Ó´Ù. ¾ËÆÄºªÀ» ÀÌ¿ëÇÑ µµ¸ÞÀÎ À̸§À» »ç¿ëÇÏ´Â°Ô ³ªÀ» °ÍÀÌ´Ù. ÀÌ µµ¸ÞÀÎ À̸§Àº ´ÜÁö ³»ºÎ¿¡¼¸¸ »ç¿ëÇÒ °ÍÀ̹ǷΠ³»ºÎ È£½ºÆ®µé °£¿¡ /etc/hosts Á¤º¸¸¸ µ¿±âÈ ½ÃŰ¸é µÈ´Ù. ´ë·« ´ÙÀ½°ú °°Àº ±¸¼ºÀÌ °¡´ÉÇÒ °ÍÀÌ´Ù. # °Ë»öÀ» À§ÇÑ ÄÄÇ»ÅÍ ½Ã½ºÅÛ 192.168.0.2 search1.mycorp.co.kr 192.168.0.3 search2.mycorp.co.kr 192.168.0.4 search3.mycorp.co.kr ... # »öÀÎÀ» À§ÇÑ ÄÄÇ»ÅÍ ½Ã½ºÅÛ 192.168.0.51 indexer1.mycorp.co.kr 192.168.0.52 indexer2.mycorp.co.kr 192.168.0.53 indexer3.mycorp.co.kr°ü¸®ÇϱⰡ ÈξÀ ¿ëÀÌÇØ Á³´Ù. 3.4 ÀÎÅÍ³Ý ÁÖ¼Ò¸¦ ÀÌÁø µ¥ÀÌÅÍ·Î º¯È¯
¶§¶§·Î ¿ì¸®´Â Á¡Ç¥±â ÀÎÅÍ³Ý ÁÖ¼Ò¸¦ ÀÌÁø ÀÎÅÍ³Ý ÁÖ¼Ò·Î º¯È¯ÇØ¾ßµÉ ¶§°¡ ÀÖ´Ù.
ÀÌ º¯È¯ ÀÛÀ¾Àº ¼ÒÄÏ ÇÔ¼ö inet_addr¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> unsigned long int inet_addr(const char *cp);ÀÌ ÇÔ¼ö´Â ¸Å°³ º¯¼ö·Î ³Ñ¾î¿Â Á¡ Ç¥±â ¹æ½Ä ÀÎÅÍ³Ý ÁÖ¼Ò¸¦ ÀÎÅͳݹÙÀÌÆ® ¼ø¼¸¦ µû¸£´Â 32bit ÀÌÁø µ¥ÀÌŸ ÇüÅ·Πº¯È¯ ÇÑ´Ù.
´ÙÀ½Àº °£´ÜÇÑ ¿¹Á¦ÀÌ´Ù. #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h< #include <unistd.h> int main(int argc, char **argv) { unsigned long int bin_addr; int dot_addr[4]; bin_addr = inet_addr(argv[1]); printf("%u\n", bin_addr); }
ÇÁ·Î±×·¥À» Å×½ºÆ®ÇØ º¸¾Ò´Ù. [root@localhost test]# ./inet_addr 192.168.100.130 2187634880
À̰ÍÀ» ÀÌÁøÄÚµå·Î º¯°æÇÏ¸é ¾Æ·¡¿Í °°ÀÌ °è»êÇÒ ¼ö ÀÖ´Ù. 10000010 01100100 10101000 11000000
130 100 168 192
3.5 ÀÌÁø µ¥ÀÌŸ¸¦ ÀÎÅͳÝÁÖ¼Ò·Î º¯È¯
¾îÇø®ÄÉÀÌ¼Ç Ãø¿¡¼ µµ¸ÞÀÎÁÖ¼Ò¸¦ ÀÎÅͳÝÁÖ¼Ò·Î ÀÎÅÍ³Ý ÁÖ¼Ò¸¦ ´Ù½Ã ÀÌÁø µ¥ÀÌŸ·Î º¯°æÇß´Ù¸é ÀÌÁ¦ µ¥ÀÌŸ¸¦ ÀÎÅͳÝÀ» ÅëÇØ¼ ¸ñÀûÁö±îÁö º¸³»±â À§ÇÑ ¸ðµç Áغñ°¡ ¿Ï·áµÈ ¼ÀÀÌ´Ù.
ÀÌÁ¦ À̵¥ÀÌŸ´Â °ÔÀÌÆ® ¿þÀ̸¦ °ÅÄ¡°í ¶ó¿ìÅ͸¦ °ÅÄ¡¸é¼ ÃÖÁ¾¸ñÀûÁö¸¦ ÇâÇÏ¿© Àü¼ÛµÉ°ÍÀÌ°í ¸ñÀûÁö ÀÎÅͳÝÁÖ¼Ò°¡ ÀÎÅͳݿ¡ ¹°·ÁÀִ ȣ½ºÆ®¶ó¸é È£½ºÆ®±îÁö º¸³»¾îÁú °ÍÀ̰í, À̰ÍÀº ´Ù½Ã ÇØ´ç Æ÷Æ®¿¡ ´ë±âÇϰí ÀÖ´Â ¼¹ö ¾îÇø®ÄÉÀ̼ÇÀ¸·Î º¸³»¾îÁú °ÍÀÌ´Ù.
ÀÌÁ¦ µ¥ÀÌŸ¸¦ ¹ÞÀº ¼¹ö ¾îÇø®ÄÉÀÌ¼Ç Ãø¿¡¼´Â ÀÌ µ¥ÀÌŸ°¡ ¾î´À ÀÎÅÍ³Ý ÁּҷκÎÅÍ µµÂøÇß´ÂÁö ¾Ë¾Æ¾ß ÇÒ°ÍÀÌ´Ù(º¸ÅëÀÇ °æ¿ì ±»ÀÌ ¾ËÇÊ¿ä ¾ø±äÇÏÁö¸¸ ¿©·¯°¡Áö ÀÌÀ¯·Î - À̸¦Å×¸é µð¹ö±ë À̶óµçÁö ÀÎÅÍ³Ý µ¥ÀÌŸ Åë°è¸¦ À§Çؼ - »ó´ë¹æÀÇ ÀÎÅͳÝÁÖ¼ÒÁ¤º¸¸¦ °¡Á®¿Í¾ß ÇÑ´Ù.) ÀÌ·²°æ¿ì ÀÌÁøµ¥ÀÌŸ¸¦ ´Ù½Ã ÀÎÅͳÝÁÖ¼Ò·Î º¯°æÇØ¾ß Çϴµ¥ À̶§ »ç¿ëÇÏ´Â ÇÔ¼ö°¡ inet_ntoa(3) ÀÌ´Ù. #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> char *inet_ntoa(struct in_addr in);
´ÙÀ½Àº inet_ntoaÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ Á¡Ç¥±â ¹æ½Ä ÀÎÅÍ³Ý ÁÖ¼Ò¸¦ °¡Á®¿À´Â ¿¹Á¦´Ù.
#include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int main(int argc, char **argv) { char *addr; struct in_addr in; unsigned long int bin_addr; bin_addr = inet_addr(argv[1]); in.s_addr = bin_addr; printf("%u\n", in.s_addr); addr = inet_ntoa(in); printf("address is %s\n", addr); } 3.6 °á·Ð
µµ¸ÞÀÎÀ̸§ º¯È¯ °úÁ¤À» ±×¸²À¸·Î ¹¦»çÇß´Ù. ½ÇÁ¦ ÀÎÅÍ³Ý ÁÖ¼Ò´Â ÀÌÁø ÀÎÅÍ³Ý ÁÖ¼Ò°¡ »ç¿ëµÇ°ÚÁö¸¸, ½¬¿î ¹¦»ç¸¦ À§Çؼ Á¡Ç¥±â ¹æ½Ä ÀÎÅÍ³Ý ÁÖ¼Ò¸¦ »ç¿ëÇß´Ù.
![]() |
|
|||
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|