본문 바로가기

과제

Network 실습

For http-ethereal-trace-1,pcap 

1. Is the browser of a client computer running HTTP version 1.0 or 1.1? What version 

of HTTP is the server running? 

 

Client server 모두 version 1.1을 사용하고 있다. 

2. What is the IP address of the client computer? 

 

Client computer ip 192.168.1.102이다. 

(Server ip 128.119.245.12 이다.) 

3. What is the status code returned from the server to the client’s browser? ( for the 

first request and the second request) 

 

첫번째 request에 대한 status code 200 OK. 

두번째 request에 대한 status code 404 Not Found 이다. 

 

 

 

 

 

 

4. When was the HTML file that the client is retrieving last modified at the server? 

(for the first request) 

 

첫번째 request에 대한 수정일은 Tue, 23 Sep 2003 05:29:00 GMT 

5. How many bytes of content are being returned to the client browser for the first 

HTTP GET?  

 

73 bytes가 사용되었다. 

 

 

 

For http-ethereal-trace-2.pcap 

6. Now inspect the contents of the second HTTP GET request from the client browser 

to the server. Do you see an “IF-MODIFIED-SINCE:” line in the HTTP GET? If so, 

what information follows the “IF-MODIFIED-SINCE:” header? 

 

If-modified-since 헤더를 찾을 수 있었다. 헤더의 내용으로, 마지막으로 GET을 받았던 날짜 정보가 있음을 확인할 수 있다. 아래의 그림에서 첫번째 GET에 대한 response에서 찾을 수 있는 Last-Modified의 날짜와 IF-MODIFIED-SINCE의 날짜와 같은 것을 확인 할 수 있다. 

 

 

7. What is the HTTP status code and phrase returned from the server in response to 

this second HTTP GET? Did the server explicitly return the contents of the file? 

Explain. 

 

Status code 304 Not Modified가 return 되었다. 

1번째 GET response에서는 Content-Length  Last-Modified 정보를 확인할 수 있었지만, 두번째 GET에서는 이러한 정보들을 확인할 수 없었고, Line-based text data 또한 찾을 수 없었다. 이는 GET에서 요청한 정보가 이미 캐시에 저장된 파일이기 때문에 contents 파일을 return 하지 않았다. 

 

 

 

 

 

 

 

 

 

 

 

For DNS 

8. 첨부된 파일 Wireshark_DNS_Sept_15_2009.pdf 파일에서 

(A). nslookup 과 ipconfig 부분을 읽고, 그 부분에서 설명하고 있는 command 

들과 command의 동작을 요약해서 정리하라. 

nslookup 

  1. Nslookup [도메인명] 

두가지의 정보를 출력한다. 

(1) 정답을 제공한 DNS server  local DNS server의 이름과 ip 주소를 출력한다. 

(2) 다음으로 입력으로 준 주소의 host name  IP 주소를 출력한다. 

  1. nslookup –type=NS [도메인명] 

세가지의 정보를 출력한다. 

(1) 정답을 제공한 DNS server  local DNS server의 이름과 ip 주소를 출력한다. 

다음으로 해당 도멘인의 DNS server (2) Non-authoritative answer 

(3) Authoritative answer의 두가지 타입으로 출력한다.  

  1. nslookup [도메인명] [네임서버명] 

입력한 네임서버를 통해 도메인의 iP를 조회한다. 

두가지의 정보를 출력한다. 

(1) 정답을 제공한 DNS server  입력으로 준 네임서버의 이름과 ip 주소를 출력한다. 

(2) 다음으로 네임서버를 통해 받은 도메인 주소의 host name  IP 주소를 출력한다. 

 

 

 

 

 

 

 

ipconfig 

  1. ipconfig /all 

  • ipconfig 보다 더 자세한 정보들을 제공해줍니다. 

  • DNS 서버 주소, IP 주소, subnet Mask, Gateway 등의 정보를 제공한다. 

  1. ipconfig /displaydns 

  • DNS resolver의 캐시목록을 출력한다. 

  • 데이터의 이름,유형, TTL등의 정보를 제공한다. 

  1. ipconfig /flushdns 

  • DNS entries  clear하고 host file에서 entries르 다시 받아온다 

 

(B) Linux에서 nslookup 대신 요즘 주로 사용하는 명령어는 무엇이고, ipconfig 에 

준하는 명령어는 무엇인가? 

 

Linux에서 Nslookup dig, ipconfig ifconfig를 통하여 대체할 수 있다.  

 

 

 

 

 

 

 

 

 

 

 

 

9. 사용하는 컴퓨터에서 DNS cache를 clear 시키고, (어떤 명령을 사용하여야 하는가?) nslookup www.example.org 를 실행할 때, DNS에 관련된 패킷들을 wireshark으로 capture 한 다음, capture된 각각의 패킷에 대해서 설명하라. (무엇에 대한 query 혹은 response를 누가 누구에게 하고 있는가에 대해서.) (DNS 패킷만을 capture하기 위한 filter를 설정하는 방법을 설명하고 capture한 결과도 포함하라.) 

“ipconfig /flushdns 명령어를 통해 DNS cache를 clear 하였고 이를 ipconfig /displaydns를 통해 확인 하였다. 

 

Filter dns 사용하였 capture한 결과는 아래와 같다. 

 

 6개의 packet이 나왔고 3개의 query 3개의 response 각각 번갈아 가면서 진행되었음을 확인하였다. 

 

 

먼저 첫번째 DNS packet에 대한 query와 응답은 다음과 같이 이루어졌다. Query의 타입으로 PTR의 사용되었고 77.96.252.203에 대한 역방향 DNS 조회에 대한 query를 client DNS server에게 보다. 이에 대한 response DNS server client에게 도메인 네임인 light.handong.edu를 answer로 보내주었다. 

 

 

 

 

다음으로 client DNS server에게 A 타입 query 즉 도메인 주소(www.example.org)에 대한 IPv4를 요청하였고 local DNS server가 다른 DNS 서버에게 물어보면서 알아낸 IPv4 주소를 client에게 다시 응답해주고 있다.  DNS server query에 대한 answer www.example.org: type A, class IN, addr 93.184.216.34를 응답해주었다. 

 

다음으로 client DNS server에게 AAAA 타입 query 즉 도메인 주소(www.example.org)에 대한 IPv6를 요청하였고 local DNS server가 다른 DNS 서버에게 물어보면서 알아낸 IPv6 주소를 client에게 다시 응답해주고 있다.  DNS server query에 대한 answer www.example.org: type AAAA, class IN, addr 2606:2800:220:1:248:1893:25c8:1946  응답해주었다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10. 위에서 capture한 DNS 패킷에서 

A. Locate the DNS query and response messages. Are then sent over UDP or 

TCP? 

첫번째 패킷 query  

 

두번째 패킷 answer 

 

세번째 패킷 query  

 

네번째 패킷 answer 

 

다섯째 패킷 query  

 

여섯째 패킷 answer 

 

모든 query response UDP를 통해 이루어짐을 아래와 같은 방법으로 확인하였다. 

 

 

B. What is the destination port for the DNS query message? What is the source 

port of DNS response message? 

아래의 그림과 같이 port number 53임을 확인하였다. 

 

C. To what IP address is the DNS query message sent? 

모두 203.252.96.77로 보내졌으며 이 ip 주소는 local DNS server이다. 

 

D. Examine the DNS query message. What “Type” of DNS query is it? Does the 

query message contain any “answers”? (여러 가지 종류가 있다면 각각에 

대해서.) 

첫번째 query PTR type Standard query, 두번째 query A type Standard query, 세번째 query는 AAAA type Standard query를 보내고 있다. (각각의 type에 대한 설명은 9번 문제에서 자세히 설명함). 각각의 query에 대해서 Answer는 없음을 확인하였다. 

 

11. 현재 HTTP/3의 표준화가 진행되고 있다. HTTP/3와 관련된 protocol들은 어떤한 

것들이 있는가? (관련된 transport protocol부터 HTTP/3 까지 기술할 것. 적절한 

그림으로 표시할 것.) HTTP/3 의 특징을 설명하시오. 

HTTP/3와 관련된 protocol로는 UDP, QUIC, HTTP/3가 있다. 

 

HTTP/3의 가장 특징으로 TCP/IP 기반으로 만들어진 HTTP/1 HTTP/2과 달리 HTTP UDP 기반의 QUIC위에 올 입니다. 이를 HTTP-over-QUIC라고 합니다. QUIC TCP + TLS 기능을 하고 있으며 QUIC를 통해 여러가지 장점을 취하고 있다. QUIC 전송 속도 향상 (UDP 사용으로), 보안성 향상 (TLS 사용, Source Address Token), 향상된 멀티플렉싱 기능 향상, 향상된 오류정정 (전방 오류정정 기술 사용), OS의 변경과 무 업데이트 (UDP를 사용)의 장점을 가지고 있다.