일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 한라산 등산시간
- 보안솔루션 엔지니어
- 내부망 구축
- ACK 스캔
- arp poisoning
- 한라산 등산 준비물
- 비로봉 코스
- 포트스캐닝
- 내부/외부 구축
- 보안관제 전문기업
- 등린이
- 한라산 등산코스 시간
- HTTP
- TCP open 스캔
- Cloud Computer
- 보안관제
- ARP스푸핑
- 스텔스스캔
- 제주도 한라산코스
- 라우터 구축
- 와이어샤크 패킷분석
- TCP syn스캔
- 정보보호 전문기업
- 패킷분석
- wireshark
- 와이어샤크
- 정보보안담당자
- arp 포이즈닝
- 등산
- 외부망 구축
- Today
- Total
보안이 하고싶은 joseph
와이어샤크를 이용해 HTTP 프로토콜 분석하기 본문
먼저 HTTP의 의미와 특징을 모르시는분은 아래 링크에있는 내용을 보고 해당 내용을 보시는게 이해하기 쉬울 것같습니다
https://securitymanjoseph94.tistory.com/9
HTTP프로토콜 특징에 이어 오늘은 와이어샤크를 이용한 HTTP패킷 분석입니다.
분석하기전에 먼저 헤더에 대해 알아보죠.
HTTP 프로토콜은 응답/요청메시지 두가지가 있습니다.
● HTTP 요청메시지 구조
- 요청라인 : 버전 정보를 담고있는 행으로 (요청메소드 / 요청URI / HTTP버전) 로 이뤄져 있습니다
- 요청헤더 : 여러 헤더들로 구성되며 각각 정보는 개행(공백)으로 구분됩니다. (헤더명 : 헤더값<개행> ........헤더명 : 헤더값<개행>)
- 공백라인 : 헤더의 끝을 의미하는 개행입니다.
(이를 악용한 공격은 Slow HTTP Header Dos 공격입니다)- 본문 : 직접적인 데이터가 담겨있는 곳입니다
● HTTP 응답메시지 구조
- 상태라인 : 요청메시지와 마찬가지로 버전 정보를 담고있는 행입니다 (HTTP버전 / 상태코드 /응답구문)으로 이뤄져 있습니다.
- 응답헤더 : 여러 헤더들로 구성되며 각 정보는 개행으로 구분됩니다
- 빈 라인 : 헤더의 끝을 의미하는 개행입니다
- 본문 : 서버에서 클라이언트로 전송된 데이터가 담겨져 있는 곳입니다.
자 그럼 이제 본격적으로 와이어샤크를 통해 분석을 해보도록 하겠습니다~
google.com 사이트에 접속하는 패킷을 떠왔습니다 한눈에 보이도록 필터를 걸었습니다
전체적으로 보면 NO. 16,28,29 라인은 클라이언트 와 서버 간에 3wayhandshake가 정상적으로 맺음이 확인됩니다
No 30라인은 192.168.0.10(클라이언트)가 172.217.24.196(서버)에게 HTTP 요청 메시지를 보냅니다.
No 32라인은 30라인에 대한 메시지 응답이 온것입니다.
No 31라인은 서버가 클라이언트의 GET 요청에 대한 응답으로 보낸 ACK 입니다.
No 33라인은 31라인에 대한 클라이언트의 응답 패킷입니다.
TCP Stream으로 보면 한눈에 쉽게 볼수있습니다
빨간색글씨는 클라이언트가 서버에게요청
파란색 글씨는 서버가 클라이언트에게 응답한 메시지입니다.
이제 하나씩 클릭하여 자세히 보도록 하겠습니다.
No.30라인의 클라이언트에서 서버로의 HTTP요청 메시지이며 몇가지 중요항목만 알아보도록 하겠습니다.
메소드는 GET방식이며 HTTP버전은 1.1임을 알 수 있습니다.
User-Agent 는 요청 클라이언트의 어플리케이션 OS정보입니다.
Host 는 요청한 서버의 도메인 명 / 호스트명 포트정보가 담겨있습니다.
Connection 라인 밑에 \r\n은 개행을 나타내며 헤더의 끝을 의미합니다
Full request URI 이부분부터는 메시지 바디부로 실직적인 데이터가 들어있습니다
No. 32라인의 서버로부터 온 요청응답 메시지이며 몇가지 중요항목만 보도록 하겠습니다.
HTTP 버전과(1.1) / 상태코드(302) 를 나타냅니다.
※ HTTP 상태코드 - 1xx : 정보 / 2xx : 성공 / 3xx : 재지정 / 4xx : 클라이언트 오류 / 5xx : 서버오류
여기선 3xx (재지정) 중 Found(요청 자원의 위치가 임시적으로 변경) 을 나타내고 있으며
Location 라인에선 변경된 URL로 가라고 주소를 새로 알려줍니다.
응답헤더의 주요 정보는 Content-Type 와 Lenght 이며 각각 메시지 데이터형식과 크기를 나타냅니다
여기선 231Byte의 크기와 text html과 문자형식은 UTF-8방식을 나타냅니다
나머지는
\r\n(개행) 과 메시지바디로 나뉘어져있습니다.
HTTP프로토콜은 복잡합니다.. 기본적으로 알아야할 지식이있어야하며 여기선 거기까지 깊게 설명하진 않았습니다.
ex) 메시지 요청방식 (GET / POST / HEAD) , 상태코드 등등...
★☆피드백은 언제나 환영입니다☆★
'패킷분석' 카테고리의 다른 글
와이어샤크를 이용한 포트스캐닝 공격패킷 분석(open스캔,half-open 스캔) (0) | 2020.08.28 |
---|---|
와이어샤크를 이용한 포트스캐닝 공격패킷 분석(FIN,NULL,X-mas스캔) (0) | 2020.08.26 |
와이어샤크를 이용한 ICMP 패킷분석 (0) | 2020.08.21 |
와이어샤크를 이용해 IP패킷 분석하기 (0) | 2020.07.31 |
와이어샤크를 이용해 ARP프로토콜 분석하기 (5) | 2020.07.30 |