IP
ARP(Address Resolution Protocol)
ARP (Address Resolution Protocol) 정의 논리적 주소(IP Address)를 기반으로 물리적 주소(MAC Address)를 알아오는 프로토콜이다. ARP는 Layer 2계층 이더넷 환경에서 목적지 IP주소에 대한 MAC주소 변환 동작을 담당한다. 단 목적지 MAC주소 정보가 없다면, ARP주소 변환이 불가능하기 때문에 데이터를 전송할 수 없다. 쉽게 말해 IP -> MAC, MAC -> IP 이렇게 바꿔주는 역할을 한다는 뜻이다. 상대방은 MAC 주소가 없는 패킷을 받으면 2계층 (Datalink-Layer)에서 폐기해버린다. 때문에 상대방의 MAC주소를 알아야 프레임이 만들어져서 통신을 할 수 있게 된다. ※ IP -> MAC으로 변환 할 때를 ARP라고 하고, MAC -> I..
단방향통신(서버),TCP/IP 프로그래밍
구축과정이 이렇게 된다고 처음 포스팅때 소개하였습니다. 하나하나씩 짚어보면서 어떠한 역할들을 하며, 메소드의 기본형을 알아보겠습니다. [서버 구축 순서] WSAStartup() ▼ socket() ▼ bind() ▼ listen() ▼ accept() ▼ [send, recv] ▼ closesocket() ▼ WSACleanup() 1. 윈속 초기화 WSAStartup()메소드 int WSAStartup( _In_ WORD wVersionRequested, _Out_ LPWSADATA lpWSAData ); 참조 : http://msdn.microsoft.com/en-us/library/windows/desktop/ms742213(v=vs.85).aspx MSDN설명에 보면 _In_ 과 _O..
서버(server) 클라이언트(client) 단방향 통신, TCP/IP 프로그래밍
이번 포스팅에서는 TCP/IP 프로그래밍을 통해서 서버와 클라이언트 간의 단방향 통신(클라이언트 -> 서버)을 구현해 보겠습니다. 먼저 결과 화면을 먼저 살펴보자면, 위 사진처럼 클라이언트에서 "Hello"라고 메세지를 보내게되면 서버 측에서 "Hello"라는 메세지를 받는 형식입니다. 구축 과정은 이렇습니다. [서버] WSAStartup()▼socket()▼bind()▼listen()▼accept()▼[send, recv]▼closesocket()▼WSACleanup() [클라이언트] WSAStartup()▼socket()▼connect()▼[send, recv]▼closesocket()▼WSACleanup() 이 순서로 구축해 나가게 됩니다. 이 각 과정을 일상생활에서 전화를 통해 상..
TCP/IP 소켓 프로그래밍 책 추천
TCP/IP 소켓 프로그래밍 책을 추천하고자 한다. 리눅스와 윈도우 기반에서의 소켓 프로그래밍을 함께 설명하며, 초보자에게 적절한 설명과 예제를 통해서 소켓 프로그래밍에 대한 재미를 안겨주고자 한 책이다. 2003년도에 출간된 의 개정판. 초판과 마찬가지로 리눅스와 윈도우 기반에서의 소켓 프로그래밍을 함께 설명하며, 초보자에게 적절한 설명과 예제를 통해서 소켓 프로그래밍에 대한 재미를 더하고 있다. 우선 초판과 달라진 점은 설명의 포인트와 분량이다. 간단히 설명해도 되는 내용은 보다 간단하고 명료하게 설명하였으며, 자세한 설명이 요구되는 경우에는 설명의 분량을 늘려가면서까지 확실한 이해를 돕고 있다. 또한 시대의 흐름에 맞게 epoll에 대한 내용이 하나의 Chapter로 추가되었다. 특히 윈도우 영역의..
ARP Spoofing
ARP Spoofing (속임수) 먼저 PC는 상대방 ip만 알고 MAC주소를 모를 때, ARP패킷을 주고받아 MAC주소를 알아오게 된다.이때, PC의 ARP Cache Table에 기록이 되게 되어 갱신하게 되는데,ARP Cache Table이 갱신 될 때는 1. 요청 받은 PC에 ARP Request를 받았을 때.2. 요청한 PC에 ARP Reply를 받았을 때. 이 두가지 경우에 ARP Cache Table이 갱신하게 된다.이 ARP의 특징을 이용해서 ARP Spoofing 공격이 진행된다. ARP Spoofing은 MAC주소를 이용한 공격이기 때문에 내부네트워크에서 진행되어 진다. ARP Spoofing이란 ? - arp의 특징을 이용해서 MAC주소를 속이는 방법.- ARP Cache Table을..
통신과정 (ping, arp를 이용하여 통신하는 과정)
통신과정(PING, ARP를 이용하여 통신하는 과정) 일단 과정은 이렇다. xp가 설치된 PC와 BT5가 설치된 PC가 있다. (어떠한 운영체제 장비든 2개의 장비만 있으면 된다.) 장비 사이에 어떠한 정보도 있지 않고 ping통신을 한다고 하였을때 어떻게 ping통신이 가능하게 되는지 알아본다. 이 포스팅을 접하기 전에 먼저 Encapsulation과정과, Decapsulation과정을 먼저 숙지하고, OSI 7 Layer(OSI 7계층)에 대해서 먼저 공부하길 바란다. 1. xp -> BT5(backtrack5) (icmp request) xp가 BT5에 ip외엔 아무것도 모르는 상태에서 ping을 보낸다고 하자. icmp(4계층) echo request data[abcdef...] ip(3계층) s..
아이피 클래스(IP Class)에 대하여...
ip class에 대해 알아보자... 컴퓨터를 하면서 "어떻게 내 ip는 이렇게 할당받았을까?" 라는 생각을 해보았는가?또, "우리집 ip도 192.168.0.xxx인데.. 친구집 ip도 똑같네?" 라는 궁금증을 가져봤는가? 먼저, 전세계는 인터넷으로 이루어져있다.그러면서 각각의 통신장비에는 통신에 이용할 주소라는 것이 필요했고, 이 주소를 IP라고 한다. 그렇다면, 전세계의 모든 통신장비들의 IP는 어떻게 할당되고, 어떻게 관리될까? IP는 총 4Byte(32bit)로 이루어져있으며, 8bit씩 나누어서 구분하고 '옥텟'이라고 부른다. 그렇기 때문에 각 옥텟마다 2^8 = 256개의 숫자로 표현가능하다.(0.0.0.0 ~ 255.255.255.255)ex) 00010100 . 10100011 . 100..