Download presentation
Presentation is loading. Please wait.
1
Network Security WireShark를 활용한 프로토콜 분석 II
2
CONTENT 1 HTTP 분석 2 DNS 분석 (글로 대체) 3 ARP 분석 (글로 대체) 4 ICMP 분석 (글로 대체)
3
1 HTTP 분석 1 HTTP(Hyper Text Transfer Protocol)란? 홈페이지 송수신을 위한 프로토콜
서버의 80번 포트로 확립된 소켓상에서 HTTP 요청과 응답을 교환함으로써 통신이 이루어짐 -> 이를 HTTP 요청 응답이라고 함 웹 브라우저로 요청을 보낼 시 “홈페이지를 가져와라”와 같은 명령을 메소드로 헤더에 추가해서 서버로 HTTP 요청 메시지를 송신 HTTP 요청 HTTP 응답 HTML문서 (text/html) 클라이언트 (웹 브라우저) 서버 (웹 서버) [그림 1] HTTP의 기본적인 통신 시퀀스
4
HTTP 특성 1 클라이언트는 가져오려는 HTML 파일이나 이미지를 지정하기 위해서 URI(Uniform Resource Identifier)를 이용 URI는 인터넷에서 가져오는 리소스를 지정하기 위한 표준 기술 형식 -> 프로토콜 : //호스트명:포트번호/파일경로(위치)?쿼리문자열 ex) URL에 :8080과 같이 포트번호를 별도로 지정하지 않을 경우, HTTP의 디폴트 TCP 80번 포트를 사용 (웹 주소에는 전부 있는 셈치고 생략되어있음) 웹 서버는 클라이언트로부터의 HTTP 요청 메시지를 수신하면 메소드에 따라 처리를 하고 그 결과를 나타낸 응답 코드를 추가한 HTTP 응답 메시지를 회신함
5
1 주요 HTTP 메소드 메소드명 설 명 OPTIONS 정보를 요구함 GET 정보를 가져옴 HEAD 정보의 헤더를 가져옴
POST 많은 데이터를 송신 PUT 서버로 파일을 업로드 DELETE 서버의 정보를 삭제 TRACE 요구 메시지를 그대로 송신 CONNECT 서버와 SSL 터널 등을 생성 [그림 2] HTTP 메소드
6
주요 HTTP 일반 및 요청 헤더 1 HTTP의 요청 메시지는 명령을 지정하는 메소드에 이어, 보다 상세하게 지정하기 위한 HTTP의 일반 헤더나 요청 헤더를 갖추고 있음 -> 어떤 문서를 가져올지 지정 가능 요청 헤더 설 명 Accept 클라이언트가 받아들일 수 있는 문서 형식의 리스트를 지정 User-Agent 요청을 한 웹 브라우저의 정보를 지정 Referer 직전에 참조(액세스)한 URI를 지정 Host 호스트명 및 포트 번호를 지정 Connection 접속 처리를 지정 Cookie 쿠키 정보를 설정 DNT 추적을 금지함 (Do Not Tracking) [그림 3] HTTP 요청 패킷에 포함되는 주요 헤더
7
1 주요 HTTP 응답 코드 상태 코드 메시지 설 명 정상 200 OK 클라이언트의 요청은 정상적으로 처리됨 리 다이렉트
304 Not Modified 요청된 문서는 변경되지 않음 클라이언트 에러 400 Bad Request 비정상적인 요청임 404 Not Found 요청된 URI가 서버상에 존재하지 않음 서버에러 500 Internal Sever Error 서버 내부에 문제가 발생함 503 Service Unavailable 서비스를 이용할 수 없음 [그림 4] HTTP 응답 코드
8
주요 HTTP 응답 코드 예시 1 [그림 5] HTTP 응답 코드 예시
9
주요 HTTP 응답 헤더 1 HTTP 응답 메시지도 요청 메시지와 마찬가지로, 상세한 정보를 추가하기 위해 [그림 6]과 같이 여러 개의 HTTP 일반 헤더 및 응답헤더를 갖추고 있음 응답 헤더 설 명 Set-Cookie 클라이언트의 웹 브라우저에 쿠키를 설정 Location 요청된 URI의 정확한 위치를 지정 Server 응답을 할 웹 서버의 정보를 지정 E Tag 웹 페이지를 식별하기 위한 고유의 정보를 지정 Connection 현재 접속 상태를 지정 Content-Type 웹 페이지의 형식을 지정 [그림 6] HTTP 응답 패킷에 포함되는 주요 헤더
10
HTTP 덤프 분석 1 [그림 7] WireShark 기본화면
11
HTTP 덤프 분석 1 [그림 8] Naver - JTBC 검색
12
HTTP 덤프 분석 1 [그림 9] JTBC
13
HTTP 덤프 분석 1 [그림 10] http 입력
14
HTTP 덤프 분석 1 [그림 11] HTTP
15
HTTP 덤프 분석 1 [그림 12] GET, HTTP 프레임 번호 출발지 목적지 프로토콜 개요 305 HTTP HTTP 요청 메시지 536 HTTP 응답 메시지 (정상응답) GET / HTTP/1.1 : GET 메소드를 이용하여 HTTP1.1 프로토콜로 웹 페이지(joins.jtbc.com) 를 가져오라는 명령 환경에 따라 홈페이지가 전부 적혀있는 경우, /r/n이 적혀있는 경우 등이 있음
16
HTTP 덤프 분석 1 [그림 13] HTTP 요청 메시지 상세 분석
17
1 HTTP 덤프 분석 [Expert Info (Chat/Sequence) : GET / HTTP/1.1\r\n]
Wireshark 전문가 기능에 추가된 필드 중요도는 Chat, HTTP의 시퀀스로 분류, GET / HTTP/1.1\r\n 메시지를 송신 중 Request Method : GET 홈페이지를 가져오라는 GET 메소드 Request URI : / 홈페이지의 위치에 대해 joins.jtbc.com이라는 웹페이지를 가져오라는 명령 무선 랜에서는 패킷 분석이 제대로 안될 수 있음 Request Version : HTTP/1.1 홈페이지를 가져올 때 HTTP 버전 1.1을 사용
18
1 HTTP 덤프 분석 Host 필드에 접속하는 호스트 Connection 필드 접속 상태 User-Agent
웹 브라우저의 종류
19
1 HTTP 덤프 분석 Accept 웹 브라우저가 받아들일 수 있는 필드 형식 Referer 페이지 호출 전 경로
Accept-Encoding 웹 브라우저가 지원하고 있는 인코딩 방식 Accept-Language 웹 브라우저가 받아들일 수 있는 언어 설정
20
1 HTTP 덤프 분석 Cookie 웹 브라우저가 웹 서버에 송신하는 쿠키 정보가 지정 Full Request URI
[그림 17] Cookie, Request Cookie 웹 브라우저가 웹 서버에 송신하는 쿠키 정보가 지정 Full Request URI 요청하는 주소 Response in frame 응답 받는 프레임
21
HTTP 덤프 분석 1 [그림 18] HTTP 응답 메시지
22
1 HTTP 덤프 분석 [Expert Info (Chat/Sequence) : HTTP/1.1 200 200\r\n]
Wireshark 전문가 기능에 추가된 필드 중요도는 Chat, HTTP의 시퀀스로 분류, HTTP/ OK\r\n 라는 정상 응답을 수신중 Request Version : HTTP/1.1 홈페이지를 가져올 때 HTTP 버전 1.1을 사용 Status Code : 200 응답 코드를 나타냄 (정상 200, 문서를 찾을 수 없을 경우 404 -> HTTP 응답코드 참고)
23
1 HTTP 덤프 분석 Date 웹 서버가 응답을 한 시각 Connection 필드 접속에 관한 설정
Time since request HTTP 요청 메시지로 부터 응답 시간을 지정 Request in frame 요청하는 프레임
24
1 HTTP 덤프 분석 Line-based text data HTML 형식 홈페이지의 메시지 본문 내용
[그림 21] Line-based text date Line-based text data HTML 형식 홈페이지의 메시지 본문 내용
25
1 HTTP 덤프 분석 헤더명 설 명 표시 필터식 Host 접속 대상 호스트명 및 포트번호를 기술 http.host
Server 웹 서버의 정보를 나타냄 http.server Cache-Control 웹 페이지의 캐시 정보를 지정 http.cache_control Content-Type 웹 페이지의 데이터 형식을 지정 http.content_type User-Agent 웹 브라우저의 정보를 나타냄 http.user_agent Referer 하이퍼링크를 사용해서 액세스한 경우에 직접 참조한 웹 페이지를 나타냄 http.referer Location 웹 페이지를 표시한 직후에 다시 다른 웹 페이지로 이동하도록 할 경우(이를 리다이렉트라 함) 새로운 웹페이지를 지정함 http.location Cookie 웹 브라우저가 저장하고 있는 캐시 값을 송신 http.cookie Set-Cookie 웹 서버가 웹 브라우저에 쿠키를 설정 http.set_cookie [그림 22] 덤프에 자주 등장 하는 HTTP 헤더
26
1
27
감사합니다!
Similar presentations