5일차 금 : OSI 7계층 프로토콜 http ssl ssh dhcp FTP 등
OSI 7계층 프로토콜 FTP DHCP DNS HTTP SSL SNMP STMP SMB ...
DHCP : 네트워크 설정을 자동으로 해주는 프로토콜
DHCP 원리
네트워크 어딘가에는 DHCP 서버가 있는데, 보내는 패킷 2개 + 받아야 할 패킷 2개가 필요하다
1. DHCP Discover : 브로드캐스트로 요청
2. DHCP Offer : 유니캐스트로 응답함
3. DHCP Request
4. DHCP Ack : 2번과 유사
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
DNS
DNS.pcap 분석하기 예제
DNS요청을 하는 클라이언트 및 서버의 ip / port 는? 192.168.0.114 / 53
DNS는 4계층 프로토콜로 무엇을 사용하는가? UDP
DNS 요청한 주소들이 어떤 것들이 있는지 파악해보자
특별한 에러가 없는 경우 DNS 요청과 응답에 각각 몇 개의 패킷이 필요한지 확인하자
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
SSL : Secure Socket Layer
평문 통신을 암호화 해준다.
TLS : transport layer security
암호화의 이해
일방향 암호화 rc4, MD4, MD5, SHA256, SHA512, SHA1024, sha2048
평문 > 암호화 = 암호문
해시 : 복호화 할 수 없다.
패스워드 등 중요한 정보를 암호화 하는데 사용된다.
무결성 체크 등 에도 사용된다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
양방향 암호화
폄문 > 암호화 > 암호문 > 복호화 > 평문
키 : 암호화 , 복호화 할 때 사용하는 일정 길이의 문자열
대칭키 : 비밀키 , 세션키
평문을 키를 이용해서 암호화 하여 상대에게 '암호문, 키'를 보낸다.
상대는 받은 암호문을 키로 복호화하여 평문을 읽게 된다.
단점 : 키 전달 문제. ( 키를 어떻게 전달 할 것인가? )
DES , 3DES , AES
비대칭키 : 개인키 , 공개키
암호화에 사용하는 키와 복호화에 사용하는 키가 다르다.
개인키로 암호화 한 것은 공개키로 복호화가 가능하고,
공개키로 암호화 한 것은 개인키로 복호화가 가능하다
개인키는 본인만 알아야 하며, 공개키는 누구든지 가질 수 있다.
장점 : 키 전달 문제가 해결이 됨
단점 : 속도가 느림
RSA
상대방의 공개키로 암호문을 만들어 상대에게 보낸다. 상대는 본인의 개인키로 암호문을 복호화하여 평문을 읽는다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
SSL의 원리 >> 키 신뢰의 문제를 해결하기 위해 인증기관 이라는 개념을 가져옴.
인증기관이 인증해준 신뢰성있는 해당 사이트의 공개키를 '인증서(SSL)' 라고 한다.
G마켓에서 인증기관에게 우리 사이트의 인증서를 만들어 달라고 요청한다.
인증기관 에서는 G마켓의 공개키와 G마켓 사이트 정보를 받고, G마켓의 공개키에 인증기관의 개인키로 암호화하여 인증서를 발급해준다.
클라이언트는 G마켓에 접속을하면 G마켓의 인증서를 받게 되고, 클라이언트는 G마켓의 인증서를 인증기관의 공개키로 복호화 되는 것을 확인하고
신뢰할 수 있게 된다. ( 인증기관의 개인키로 암호화 했기 때문에, 인증기관의 공개키로 해독이 된다. )
클러이언트는 임의의 대칭키를 만들고 G마켓의 인증서 (공개키) 로 암호화 하여 G마켓에서도 신뢰를 얻고 사이트를 이용할 수 있다.
( G마켓 에서는 G마켓의 공개키로 암호화된 클라이언트의 대칭키를 G마켓의 개인키로 해독 할 수 있다. )
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
FTP : 파일 전송 프로토콜
지원되는 인증방식
1. 서버에 등록되어 있는 계정 인증
2. 익명계정
Active Mode ( 기본 )
서버와 클라이언트 간의 명령은 21번 포트로, 업로드, 다운로드는 20번 포트로
20번 포트에서 서버에서 클라이언트로 먼저 접속을 하는게 특징.
하지만 최근에는 클라이언트가 사설IP ( 공유기 ) 를 사용하는 추세라서 자주 사용되지는 않는다
Passive Mode
업로드와 다운로드를 할 때 20번 포트를 열지 않고 임의의 포트를 연다.
명령과 업로드 다운로드 모두 클라이언트에서 먼저 접속을 한다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
FTP.pcap 분석하기
1. SYN을 보내는 쪽이 클라이언트 ( 192.168.0.114 ) / 서버 ( 192.168.0.193 ) 3 hand shake 하는중
1번 우클릭 , Follow - TCP Stream TCP영역의 데이터만 보여준다.
빨간색 = 클라이언트가 서버로 보내는 값 ( 요청 ) / 파란색 = 서버가 클라이언트로 보내는 값 ( 응답 )
PASV = 패시브모드로 변경하겠다
맨 밑 패킷 우클릭 - Follow - TCP Stream
패시브 모드로 바꾸고 난 뒤 7254번 포트에 접속 중 !!
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
http
인터넷 웹 서비스의 핵심 프로토콜
요청, 응답 형식으로 동작함
http 응답코드
100~199 단순한 정보
200~299 클라이언트의 요청이 정상적으로 처리됨
300~399 다른 url로 재이동
400~499 클라이언트의 요청이 불완전하여 다른 정보가 필요함
500~599 서버의 오류로 클라이언트의 요청 수행 불가
http. cap 분석하기
4번 패킷( HTTP ) 우클릭 - Follow - TCP Stream
쿠키 - 클라이언트에 저장되어 서버에서 활용하는 상태 정보
http 메소드
get
post
option : 서버에서 사용 가능한 메소드 정보 리스트 요청
put : 서버의 파일 업로드
delete : 서버의 파일 삭제
일반적인 웹 사이트의 경우
단, api 서버의 경우는 용도가 다름
'더존 노션 필기 옮기기 > 네트워크' 카테고리의 다른 글
(네트워크) Linux 2일차 vi편집기, 특수문자, 환경변수 (0) | 2022.08.30 |
---|---|
(네트워크) Linux 1일차 CentOS 기초명령어 (0) | 2022.08.30 |
네트워크 4일차 IP, TCP, ARP, ICMP 헤더 구조 (0) | 2022.08.30 |
네트워크 3일차 IP주소 체계 (0) | 2022.08.30 |
네트워크 2일차 잘알려진 포트번호 등 (0) | 2022.08.30 |