º»¹®/³»¿ë
[µ¥ÀÌÅÍ Åë½Å °úÁ¦]
Packet SnifferÀÇ ±¸Çö
1.¼Ò½ºÄÚµåºÐ¼®
ÀÌ ÇÁ·Î±×·¥Àº ·Î¼ÒÄÏÀ» ÀÌ¿ëÇÑ ½º´ÏÆÛ ÇÁ·Î±×·¥ ÀÌ´Ù. ·Î¼ÒÄÏÀÇ ¡°³×Æ®¿öÅ© °èÃþÀ¸·Î Àü¼ÛµÇ´Â ¸ðµç ÆÐŶÀ» º¼ ¼ö Àִ¡± Ư¼ºÀ» ÀÌ¿ëÇØ TCP ÇÁ·ÎÅäÄÝÀÇ ÆÐŶÀ» ÀÐÀº ÇÁ·Î±×·¥ÀÌ´Ù. ¾Æ·¡ ¼Ò½º¿¡´Â TCP ÆÐŶ¸¸ Àд °ÍÀ̹ǷΠIP Çì´õ¿Í TCP Çì´õ¸¸À» Ãâ·Â ÇßÁö¸¸, ICMP, IGMP, UDP ÆÐŶ µîµîµµ Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ packet.h ÀÇ Çì´õÆÄÀÏÀ» °íħÀ¸·Î½á IP Header¿Í TCP headerÀÇ ±âº» °ªµéÀ» ¹Ù²Ü ¼ö ÀÖ´Ù. ¿¹¸¦ µé¸é IP headerÀÇ versionÀ̳ª Çì´õ±æÀÌ µîÀ» »ç¿ëÀÚ°¡ ÀÓÀÇ´ë·Î ¹Ù²Ü ¼ö ÀÖ´Ù.
project1.c
#include [stdio.h]
#include [string.h]
#include [sys/socket.h]
#include [sys/ioctl.h]
#include [net/if.h]
#include [netinet/in.h]
#include [arpa/inet.h]
#include [unistd.h]
#include [stdlib.h]
#include [ctype.h]
#include packet.h
int main() {
int sock, ret, len;
ch-ar buffer[65535], *data;
struct sockaddr_in from;
struct in_addr ¡¦(»ý·«)