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
-
Nslookup [도메인명]
두가지의 정보를 출력한다.
(1) 정답을 제공한 DNS server 즉 local DNS server의 이름과 ip 주소를 출력한다.
(2) 다음으로 입력으로 준 주소의 host name 과 IP 주소를 출력한다.
-
nslookup –type=NS [도메인명]
세가지의 정보를 출력한다.
(1) 정답을 제공한 DNS server 즉 local DNS server의 이름과 ip 주소를 출력한다.
다음으로 해당 도멘인의 DNS server를 (2) Non-authoritative answer과
(3) Authoritative answer의 두가지 타입으로 출력한다.
-
nslookup [도메인명] [네임서버명]
입력한 네임서버를 통해 도메인의 iP를 조회한다.
두가지의 정보를 출력한다.
(1) 정답을 제공한 DNS server 즉 입력으로 준 네임서버의 이름과 ip 주소를 출력한다.
(2) 다음으로 네임서버를 통해 받은 도메인 주소의 host name 과 IP 주소를 출력한다.
ipconfig
-
ipconfig /all
-
ipconfig 보다 더 자세한 정보들을 제공해줍니다.
-
DNS 서버 주소, IP 주소, subnet Mask, Gateway 등의 정보를 제공한다.
-
ipconfig /displaydns
-
DNS resolver의 캐시목록을 출력한다.
-
데이터의 이름,유형, TTL등의 정보를 제공한다.
-
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를 사용)의 장점을 가지고 있다.
'과제' 카테고리의 다른 글
Chapter 7. REGULARIZATION FOR DEEP LEARNING (0) | 2021.07.20 |
---|---|
Deep Learning Chapter Summary (Chapter 6 Deep Feedforward Networks) (0) | 2021.07.20 |
소프트웨어 추가 아이디어 3가지 제시 (0) | 2020.05.23 |
소프트웨어 개선안 3가지 (0) | 2020.05.23 |
Airbnb 소프트웨어 문제점 3가지 (0) | 2020.05.23 |