1617, 1/81 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   ÇØÅ·ÀßÇϰí½Í´Ù
   http://¾øÀ½
   hack.png (91.0 KB), Download : 20     [¿À¸¥ÂÊ ¹öư ´­·¯ ´Ù¿î ¹Þ±â]
   pcapÀ¸·Î ÆÐŶ ½º´ÏÆÛ ±¸ÇöÇϱâ

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=8600 [º¹»ç]



#include <pcap.h>
#include <stdio.h>

// Äݹé ÇÔ¼ö (ÆÐŶÀ» ĸÃÄÇÒ ¶§¸¶´Ù È£ÃâµÊ)
void packet_handler(u_char *user_data, const struct pcap_pkthdr *pkthdr, const u_char *packet)
{
        u_char c;
        int i, j;
        printf("Packet catured: \n");
        printf("Packet length: %d bytes\n", pkthdr->len);

        for(i = 0; i < pkthdr->len; i += 16)
        {
                // 16Áø¼ö ºÎºÐ Ãâ·Â
                for(j = 0; j < 16; j++)
                {
                        if(i + j < pkthdr->len)
                                printf("%02x ", packet[i + j]);
                        else
                                printf("   "); // ÆÐµù
                }
                
                printf("  ");

                // ¾Æ½ºÅ° ºÎºÐ Ãâ·Â
                for(j = 0; j < 16; j++)
                {
                        if(i + j < pkthdr->len)
                        {
                                c = packet[i + j];
                                if(c >= 32 && c <= 126)
                                        printf("%c", c);
                                else
                                        printf(".");
                        }
                }
                printf("\n");
        }
        printf("\n");
}

int main(void)
{
        pcap_t *handle;
        char errbuf[PCAP_ERRBUF_SIZE];
        char *dev;

        // ³×Æ®¿öÅ© ÀåÄ¡ ¾ò±â
        dev = pcap_lookupdev(errbuf);
        if(dev == NULL)
        {
                printf("Device not found: %s\n", errbuf);
                return -1;
        }

        // ÆÐŶ ĸÃÄ ½ÃÀÛ
        handle = pcap_open_live(dev, BUFSIZ, 1, 1000, errbuf);
        if(handle == NULL)
        {
                printf("Error opening device: %s\n", errbuf);
                return -1;
        }

        // ÆÐŶ ĸÃÄ ½ÃÀÛ, ÆÐŶÀ» Çϳª¾¿ ó¸®ÇÏ´Â Äݹé ÇÔ¼ö ÁöÁ¤
        if(pcap_loop(handle, 0, packet_handler, NULL) < 0)
        {
                printf("Error capturing packets: %s\n", pcap_geterr(handle));
                return -1;
        }

        pcap_close(handle);        // ĸÃÄ Á¾·á
        return 0;
}



libpcap-dev°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß »ç¿ëÇÒ ¼ö ÀÖ´Ù...
$sudo apt-get install libpcap-dev



ÄÄÆÄÀÏÇÒ ¶§ ÁÖÀÇÇÒ Á¡...
$gcc -o [ÆÄÀÏ] [¼Ò½ºÆÄÀÏ] -lpcap
¸Ç µÚ¿¡ -lpcapÀ» ºÙ¿©¾ß ÄÄÆÄÀÏ ¿¡·¯°¡ ¾È ¶ä...


  Hit : 1175     Date : 2025/04/20 08:53