- 3계층 프로토콜
- IPv4 프로토콜이란 무엇인가?
네트워크를 찾아가는 프로토콜, 20바이트
IPv4 프로토콜의 구조 - VERSION -IP 프로토콜의 버전
- IHL -IP헤더의 길이, 일반적으로 2-바이트를 4로 나누어 표기
- TTL -TIME TO LIVE로서 네트워크 상의 패킷의 무한루프를 방지하기 위해 라우터 하나를 넘어갈 때 마다 1씩 감소
- 프로토콜 -빨리 분석할 수 있도록 상위 프로토콜이 무엇인지 알려줌
- 헤더 체크썸-해더의 오류를 알아내기 위한 값
- IDENTIFICATION- 조각화가 발생했을 때 각각의 조각들이 하나의 데이터였다라는 것을 구분하기 위한 ID값
- IP Flags -조각화가 발생했는지 안했는지, 조각화를 할 것인지 하지 않을 것인지 결정하는 값
-Fragment offset - 조각화가 발생했을 때 각각의 조각들의 시작위치를 나타내는 값
(offset은 어떠한 기준으로부터 얼마나 떨어져 있느냐를 의미)
- IP 헤더 캡쳐 실습
cmd에서 ping 8.8.8.8 명령어수행 해당 패킷 와이어샤크로 캡쳐 와이어샤크 필터 icmp 적용
- 패킷 조각화
MTU는 ip 헤더를 포함한다
-패킷 전송시 (MTU=1500 만큼 잘라서 전송한다)
- ICMP 프로토콜 통신을 확인하기 위해서 사용하는 프로토콜
- ICMP 프로토콜 구조 - 타입 : 대분류 0(정상적인 응답) : 정상 동작한것 3(목적지로 도착 불가능) : 전송이 안됬거나 ,도착은 했지만 응답X 8(요청) 11(시간초과) 5(리다이렉트, 라이팅 테이블 수정) - 코드 - 체크썸 : 해당 패킷의 오류를 확인하기 위한 값 - 나머지
빅데이터 인공지능 openstack ssl 해킹
- IP헤더와 ICMP 특징을 이용한 실습 (tracert 명령어)
cmd에서 tracert 168.126.63.1 실행
와이어샤크에서 icmp 필터로 확인
요청할 때 TTL 값을 1씩 증가시켜서 요청
TTL이 0이 되었을 때 해당 패킷을 처리한 라우터는 타입 11번의 icmp 패킷을 전송하여 본인이 해당 패킷을 버렸다고 알려준다.
보안상 알려주지 않는 시스템들도 존재(점점 늘어나는 추세)
- 4계층
포트주소를 이용해서 통신, 오류 제어(신뢰성 유무), 특정 프로그램과 프로그램의 통신(웹 브 라우저 and 웹 서버)
- 포트 주소
2바이트 0~65535
System Port : Well-Known Port, 0~1023 잘 알려진 주요 서비스를 제공하는 포트
FTP 20, 21 TCP
SSH 22
TELNET 23
SMTP 25
DNS 53 TCP, UDP
DHCP 67,68
TFTP 69 UDP
HTTP 80
HTTPS 443
User Port : Registered Port, 1024 ~ 49151 어느정도 주요한 서비스들이
등록되어있는 포트
MS의 원격 데스크탑 3389
DB 서버(mysql) 3306
Private Port : Dynamic port, 49152 ~ 65535 사용자들이 사용하는 포트
사용자 서버포트 80
netstat -ano : 네트워크 상태 및 프로토콜 통계를 표시하는 명령어
- 4계층 프로토콜
TCP : 연결 지향형, 신뢰성 있는 통신 가능, 비연결 지향형에 비해서 속도가 떨어진다.
연결 지향형 프로토콜, 신뢰성 있는 통신이 가능하게 해준다. 계속해서 물어보고
대답하는 과정을 통해서 신뢰성을 보장하고 서버와 클라이언트 사이의 통신을 동기화
- TCP 프로토콜 구조
- 출발지 포트
- 목적지 포트
- Seq 번호 - TCP 패킷의 순서 번호
- Ack 번호 -Seq 번호에 대한 응답 번호
- 오프셋 - 헤더의 길이, 최대 15, offset * 4 = 실제 헤더의 크기
- Reserved - 예약된 필드로써 사용하지 않는 곳
- TCP Flags - 현대 패킷의 종류를 표시
- URG - 긴급 BIT, 우선순위가 높은 데이터를 포함한 패킷
- ACK - 승인 BIT, 승인의 뜻을 포함한 패킷
-PSH - 밀어넣기 BIT, TOP Buffer가 일정 크기만큼 쌓여야 패킷을 추가 전송하는데 이를 생략하고 계속 데이터를 전송하게 함
-SYN - 동기화 BIT, Seq번호를 동기화하고 연결 수립을 요청한다는 패킷
- RST - 초기화 BIT, 데이터를 주고받는거에 문제가 발생했으니 서로의 연결을 초기화하겠다는 패킷
- FIN - 종료 BIT, 서버와 클라이언트가 연결을 종료하겠다는 패킷
- Checksum- 헤더의 오류를 확인하기 위한 값
- Urgent Pointer: 어디가 긴급 데이터인지를 가리키는 곳
- TCP PSH Flag와 TCP Buffer 설명
클라이언트 |
|
서버 |
고수 최신화 (TCP buffer(100byte)) |
-> |
|
|
<- |
고수 그림 1장 중에서 100byte |
|
<- |
고수(100byte) 잘 받았어? |
어 고마워 잘 받았어 다음꺼줘 TCP Buffer(150byte) |
-> |
|
|
<- |
고수 그림 1장 중에서 나머지 150byte |
- 클라이언트 서버 모델
-소프트웨어 아키텍처 모델
계층 모델
클라이언트 서버 모델
파이프 필터 모델
MVC 모델
- 클라이언트 서버 모델
서비스를 사용하는 클라이언트와 서비스를 제공하는 서버 간에 작업을 분리해주는 구조
- 서버의 특징
- 클라이언트가 서비스를 이용하기 때문에 일반적으로 좀 더 고사양을 요구.
- 클라이언트가 언제든지 서비스를 이용할 수 있도록 서버는 항상 작동해야 한다.
- 서버가 제공하려는 서비스의 포트를 항상 Listening 하고 있어야 한다.
- 서버는 포트를 항상 열어놔야 한다
- UDP : 비연결 지향형, 연결 지향형보다 속도가 빠르지만, 신뢰성이 떨어진다.
- TFTPD64 프로그램을 이용한 UDP 패킷 캡쳐 실습
서버 |
|
클라이언트 |
Server Interface 설정 |
|
TFTP client 탭 선택 |
(192.168.201.4) |
|
Host [서버의 IP] |
tftpd.exe가 있는 곳에 abc.txt 생성 |
|
Port 69 |
|
|
Local File [내 PC의 저장 위치] |
|
|
Remote File [서버가 공유한 파일 이름] |
|
Get 클릭! |
- UDP통신 - 서버컴퓨터 일때
- UDP통신 - 클라이언트컴퓨터 일때
- 네트웤 보안수업때 할예정
*tip : SYN Flooding, 포트스캔(TCP Connect Scan, Half Scan), TCP Session Hijacking
(DDos공격)
공감(♥) 과 댓글은 필자에게 큰 힘이 됩니다. 잠시 1초만 내주시면 안될까요? ~~ 로그인 없이도 가능합니당 |
'클라우드 아키텍처 설계 기초지식 > 01 네트워크 기초' 카테고리의 다른 글
네트워크기초 (4) -TFTP64를 이용 Seq(시퀀스)와 Ack(에크) 계산,HTTP,7계층,Falcon Proxy (1) | 2018.10.18 |
---|---|
네트워크기초(2) - 7계층 정리 (3계층~) (0) | 2018.10.17 |
네트워크 기초 (1) - 기초지식 및 7계층정리(2계층) (0) | 2018.10.17 |
댓글