본문 바로가기

Hacking/네트워크

네트워크_교육내용_2

데이터 링크 계층 - ARP

 

주소 결정 프로토콜( Address Resolution Protocol )로 네트워크 상에서 논리적인 주소 ( IP ) 주소를 물리적 네트워크 주소( MAC )로 대응( bind )시키기 위해 사용되는 프로토콜이다, 주로 목적지 mac 주소를 확인할 때 사용한다.

 

IP주소를 알아서 데이터를 보내려고 하는데 IP주소는 알지만 MA주소를 모르기 때문에 MAC주소를 알기 위해 신호를 보내는 프로토콜이다.

 

TCP/IP 3계층(네트워크 계층)의 IP Address를 2계층( 데이터링크 계층 ) 의 MAC address로 대응시킬 떄 사용하는 프로토콜이다.

 

논리주소 : 다중 네트워크와 간접적으로 연결된 장치간의 통신을 가능하게 해줌

 

 

ARP 테이블 정보 확인

arp -a

 

ARP Request

ARP Resoponse

 

데이터 링크 계층

 

패킷 분석

ARP, IP, TCP, HTTP

https://en.wikipedia.org/wiki/Address_Resolution_Protocol 패킷 분석표 ( 방법 )

wireshark 로 패킷 분석  ( 16진수 : 00~FF )

 

 

arp_resolution.pcap
0.00MB


패킷 분석표

https://ko.wikipedia.org/wiki/IPv4   IPV4 구성순서

 

IPv4 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. IPv4는 인터넷 프로토콜의 4번째 판이며, 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이다. 과거에 인터넷에서 사용되는 유일한 프로토콜이였으나 오늘날에는 IPv6이 대중화되었다. IETF RFC 791(1981년 9월)에 기술되어 있다. IPv4는 패킷 교환 네트워크 상에서 데이터를 교환하기 위한 프로토콜이다. 데이터가 정확하게 전달될 것을 보장하지 않고, 중복된 패킷을 전달하거나 패킷의 순서를 잘못 전달할 가능성도

ko.wikipedia.org

IPV4 주소체계 사용 ( 4byte ) 

11000000 101010000 00000000 00000001

 192       .       168    .      0      .     1

넷마스크가 255.255.0.0이라면?

 

000001010  .   00001010   .  00000001    .   00010110

    10          .      10          .       1          .        12

11111111    .   11111111   .  00000000   .   00000000

       네트워크                              호스트

CIDR ( Class Inter-Domain Routing ) 기법으로 표기

10 . 10 . 1 . 12/16

 

서브넷 마스크

 

서브넷 마스크는 할당할 수 있는 IP가 100개라고 가정하고 우리가 필요한게 20개라면 21~100까지 남은 IP를 같이 할당해줄 필요 없이 서브넷 마스크로 보내준다.

#쓰지 않는 IP를 서브넷에 할당한다.

서브넷마스크는 1과 0으로 이뤄져있고, 1이 연속으로 나와야한다.

 

TTL

패킷이 폐기되기 전에 패킷이 통과할 수 있는 라이터의 최대 개수나 경과될 수 있는 시간

패킷이 라우터를 통과할 떄마다 1씩 감소

 

송신지에서 자신의 TTL초기값을 전송하고 거쳐간 라우터의 갯수에 따라 TTL값을 빼고 목적지에서 확인을 받으면

 

 

Fragmentation

 

MTU 데이터의 크기를 비교해 필요한 만큼만큼 나눔

Header에서 총 길이 필드를 분할된 크기로 설정

마지막 패킷 외의 단편화 플래그를 1로 설정

 

flag에서 more fragments가 1이면 뒤에 

 

전송제어 프로토콜 TCP

종단점과 종단점 사이 신뢰성 있는 데이터 전달이 최대 목표

https://ko.wikipedia.org/wiki/%EC%A0%84%EC%86%A1_%EC%A0%9C%EC%96%B4_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C

 

전송 제어 프로토콜 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 전송 제어 프로토콜(Transmission Control Protocol, TCP, 문화어: 전송조종규약)은 인터넷 프로토콜 스위트(IP)의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로도 널리 불린다. TCP는 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러없이 교환할 수 있게 한다. TCP는 전송 계층에 위치한다. 네트워크의 정

ko.wikipedia.org

TCP패킷의 3 handshake진행 방식 

(연결 확립 )

 

[STEP 1]

A클라이언트는 B서버에 접속을 요청하는 SYN 패킷을 보낸다. 이때 A클라이언트는 SYN 을 보내고 SYN/ACK 응답을 기다리는SYN_SENT 상태가 되는 것이다.

 

[STEP 2] 

B서버는 SYN요청을 받고 A클라이언트에게 요청을 수락한다는 ACK 와 SYN flag 가 설정된 패킷을 발송하고 A가 다시 ACK으로 응답하기를 기다린다. 이때 B서버는 SYN_RECEIVED 상태가 된다.

 

[STEP 3]

A클라이언트는 B서버에게 ACK을 보내고 이후로부터는 연결이 이루어지고 데이터가 오가게 되는것이다. 이때의 B서버 상태가 ESTABLISHED 이다.

위와 같은 방식으로 통신하는것이 신뢰성 있는 연결을 맺어 준다는 TCP의 3 Way handshake 방식이다.



출처: https://mindnet.tistory.com/entry/네트워크-쉽게-이해하기-22편-TCP-3-WayHandshake-4-WayHandshake [Mind Net]

 

응용계층 - HTTP

 

- 하이퍼텍스트 전송 프로토콜 HTTP

'Hacking > 네트워크' 카테고리의 다른 글

교육 내용 4  (0) 2019.09.01
교육 내용 3  (0) 2019.08.31
packet [ 패킷 ]  (0) 2019.08.25
Protocol  (0) 2019.08.25
Network_Basic  (0) 2019.08.24