Computer Science%/Network

네트워크 공부

ch4rli3kop 2018. 7. 15. 01:56
반응형
#page 85

대상파일 : gen-googlemaps.pcap
파일 개요 : www.google.com에 대한 간단한 웹 브라우징 세션. 클라이언트는 DNS 서버의 하드웨어 주소를 얻기위해 ARP request를 보낸 후, www.google.com의 ip 주소를 찾기위해 DNS 서버에 request를 전송한다. 성공적인 response를 받은 후 클라이언트는 서버의 80번 포트로 TCP connection을 생성하고, GET으로 메인페이지를 요청한다. 


ARP 부분. 위 두 패킷을 통해, DNS 서버의 하드웨어 주소를 얻는다. 아래 그림과 같이,
클라이언트의 경우, ip 주소가 192.168.0.106, 하드웨어 주소(MAC 주소)가 AsustekC_b0:30:23 이고,
DNS 서버는 ip 주소가 192.168.0.1, 하드웨어 주소가 D-Link_cc:a3:ea 이다.




3번 패킷에서 클라이언트는 maps.google.com의 ip 주소를 얻기 위해 DNS Query를 Arp를 통해 알아낸 DNS 서버에게 보낸다.


위 그림과 같이 4번 패킷은 DNS 서버가 클라이언트에게 클라이언트가 요청한 maps.google.com의 실제 이름(CNAME)이 maps.l.google.com이라는 것을 나타내고, 복수개의 ip 주소를 제공한다. 이후의 패킷들을 봤을 때, 첫 번째 주소인 74.125.19.147로 계속 통신하는 것을 알 수 있다.



5번 패킷부터 7번 패킷까지 이제 클라이언트는 maps.google.com에 대한 TCP connection을 맺기위한 3-way handshake 과정이다. 
5번 패킷을 보면, 클라이언트는 패킷이 라우터를 거쳐 maps.google.com(maps.l.google.com)으로 전달되게 하기위해서, 이더넷 헤더에서는 destination을 라우터의 MAC 주소, ip 헤더에서는 destination을 maps.google.com의 ip 주소인 74.125.19.147으로 설정한다. Flag를 보면 이 패킷이 SYN, SYN-ACK, ACK 과정에서 SYN 부분에 해당하는 영역인 것을 알 수 있다.


마찬가지로 FLAGs영역을 통해 6번 패킷은 SYN-ACK이고 7번 패킷은 ACK라는 것을 알 수 있다. Port 3012는 클라이언트가 연결을 위해 동적 소스 포트 번호로 사용한 것이다.


이제 클라이언트-서버 간의 TCP connection이 완료되어 established 되었다. 


이제 위의 그림처럼 8번 패킷에서 클라이언트는 서버에게 HTTP 프로토콜을 사용하여 메인 페이지를 요청한다.(GET / HTTP/1.1)


9번 패킷에서 서버는 클라이언트가 8번 패킷에서 보낸 메인 페이지 요청에 대한 수신으로 ACK(확인응답)을 전송한다.


10번 패킷부터 서버는 클라이언트에 메인 페이지 전송을 시작한다.




반응형

'Computer Science% > Network' 카테고리의 다른 글

sniff and spoof whth C  (0) 2020.05.09
Scapy Example  (0) 2020.05.09
가상 사설 네트워크 망 만들기 (feat. vm router 만들기)  (1) 2018.07.12
WPA2 무선랜 해킹  (6) 2018.05.24
PCAPNG 파일  (0) 2017.10.30