목록自習/Network (13)
학사 나부랭이
HTTP Protocol OSI 7 Layer 중 7계층에 위치한 HTTP를 이용해 웹에서 정보를 주고받기 위해 개발된 프로토콜이에요. 최근에는 HTTP/3.0이 UDP에서 구현된 QUIC(Quick UDP Internet Connection) 프로토콜 기반으로 논의되고 있어요. URI&URL URI(Uniform Resource Identifier)는 서비스 애플리케이션에서 리소스를 식별하는 식별자이고 URL(Uniform Resource Locator)은 리소스의 위치를 식별하는 URI의 하위 개념인데 요즘은 혼용하는 경우가 많아요. ://:@:/;?# Scheme은 애플리케이션에 접속할 때, 어느 서비스나 프로토콜을 이용할 건지 나타내요. 웹 브라우저에서는 일반적으로 http 또는 https를 이용..
인터넷에서 거미줄처럼 연결되어 서로의 정보를 공유하는 컴퓨터 공간인데, 웹은 HTML으로 작성된 페이지를 웹 브라우저 엔진을 통해 해석하며 이용해요. 웹 페이지는 HTML, JS, CSS 언어를 통해 3가지 요소로 우리에게 표시되어요. 웹 브라우저 웹 서버 WAS DB 파이어폭스 오페라 엣지 NGINX Apache IIS NodeJS JSP PHP Django MySQL MariaDB PostgreSQL MongoDB CouchDB GraphQL 웹 브라우저 웹 서버에서 응답받아 사용자에게 HTML 문서를 출력해주는 응용 프로그램이에요. HTML, JS, CSS 언어를 해석할 줄 알아야 하며, 이들을 어떻게 해석하느냐에 따라 같은 소스 코드의 페이지가 다르게 보일 수도 있어요. IE의 경우, 업데이트가 ..
이전에 본 것처럼 패킷은 전송 도중 유실되거나 오차가 있을 수 있는데, 이는 당연히 네트워크의 신뢰성에 문제가 생길 수 있죠. 여기서, TCP는 이러한 패킷 전달에서 신뢰성을 보장하기 위해 고안된 프로토콜이에요. 통신 전에 항상 세션을 성립시키며, 패킷을 전송한 후, 패킷을 받은 측에서 패킷이 잘 도착했다고 알리죠. 그러니 속도가 상대적으로 느려요. 그에 비해 라이브 방송, 게임과 같은 약간 내용이 깨지는 정도는 감수하더라도 실시간 통신이 중요한 때가 있겠죠? 이렇게 속도가 정확도보다 중요한 경우 UDP를 사용해요. TCP UDP 연결형 서비스 비연결형 서비스 高 신뢰성 低 신뢰성 低 속도 高 속도 수신 여부 확인 수신 여부 확인 X 전송 순서 보장 전송 순서 보장 X TCP 헤더 위는 TCP 헤더 구조..
ICMP Echo Request를 이용해 IP 범위를 쓸고 지나가며 존재하는 호스트를 찾아내는 것을 Ping Sweep Scan이라고 해요. from pythonping import ping from time import time def icmp_scan(): for i in range(40, 50, 1): ip_address = "***.***.***" ip_address += "." + str(i) print(f"Ping target -> {ip_address}") ping(ip_address, timeout=1, count=1, verbose=True) if __name__ == "__main__": begin = time() icmp_scan() end = time() print(f"걸린 시간: ..
ICMP 3계층에서 동작하며, 네트워크 통신의 테스트나 오류 메시지 응답을 전송할 때 사용돼요. 통신 상태를 확인할 때 사용하는 Ping, Tracert 명령어도 ICMP를 사용하죠. ICMP 헤더 구조 Type: ICMP 패킷의 종류를 나타내요. Code: Type에 대한 상세 항목이에요. Checksum: 오류를 검출하는 필드예요. Other message specific information: ICMP 헤더의 추가 메시지 필드예요. ICMP 헤더는 Type과 Code에 따라 내용이 바뀌죠. 다음은 ICMP 프로토콜의 Type과 Code의 주요 필드에 대한 설명이에요. Type Code 설명 0 0 Echo Reply, Echo Request (Type 8)에 대한 응답 3 Destination Un..
IP 용량이 큰 파일을 서버에서 내려받을 때, 파일은 패킷 단위로 쪼개져 전송되며, 도착지 호스트 기기에서 CPU가 재조립해요. IP 프로토콜은 패킷의 분할과 재조합에서 사용되며 출발지와 목적지의 IP와 라우터 설정을 포함해요. IP 헤더 구조 그림에서 한 칸은 1bit인데 네트워크 정보를 나타내는 단위에는 4가지가 있어요. 1bit = 0|1 1byte = 8bits 4bits = 1nibble 1word = 4bytes IP 헤더의 각 항목은 다음과 같아요. Version: IPv4나 IPv6를 나타내요. IHL (IP Header Length): IP 헤더의 길이를 워드 단위로 나타내요. TOS (Type Of Service): 서비스에서 우선순위를 지원하도록 라우터에게 요구해요. Total Len..
방화벽으로 막을 수 있는 공격도 있지만 막을 수 없는 공격도 있어요. 보통의 방화벽은 IP 주소와 포트 번호만 보고 판단하기에 속여서 접근 가능하고 응용 프로그램 수준의 공격과 새로운 패턴의 공격에 대한 적응력이 낮고 실시간 대응을 할 수 없는 단점도 있어요. 하지만 지금부터 서술할 IDS나 IPS는 주소와 포트 번호뿐만 아니라 내부의 데이터까지 보기에 막을 수 있는 범위가 증가하죠. 요약하자면 IPS는 예방 및 사전 조치를 취하는 시스템이고 IDS는 탐지 및 사후 조치를 취하는 시스템이에요. Intrusion Detection System - 침입 탐지 시스템 허가받지 않은 접근이나 크래킹 시도를 하는 등의 악의적인 패킷을 실시간으로 감시하며 시스템 또는 네트워크 관리자에게 알려주고 대응을 하도록 해주..
Firewall 각 호스트들은 내부 네트워크를 ISP에 연결해 공중 인터넷에 접속하기 위한 라우터(=게이트웨이)를 가져요. 방화벽은 네트워크 사이(푸라치나 집 네트워크 동방 네트워크, 학교 네트워크 인터넷)를 분리하여 넘나드는(出入りする) 패킷을 네트워크 관리자가 미리 정한 규칙에 기반해 차단하거나 보내는(필터링하는) 소프트웨어예요. 네트워크에서 보안을 높이기 위한 1차적인 방법이죠. 방화벽의 기능 1. 접근 제어 정책에 따라 필터링하기 위한 검사 입증된 패킷이 아니면 모두 차단하는데 과도한 트래픽으로 과부화된 방화벽은 이후의 패킷을 모두 차단 - DoS 공격과 같은 결과 초래 2. 로깅 및 추적 필터링된 패킷에 대한 정보를 로그 파일에 기록 의심스러운 이벤트 발생 시 네트워크 관리자가 자세한 정보를 추..