728x90

2024/11 17

[리눅스 | Linux] 파이프라인, 리다이렉션 적용 예제

ubuntu@civic-asp:~/colors$ vi colors.txtubuntu@civic-asp:~/colors$ cat colors.txt blueblackredredgreenbluegreenredredblue colors.txt를 생성한다.  ubuntu@civic-asp:~/colors$ favcolors.txtubuntu@civic-asp:~/colors$ lacolors.txt favcolors.txtubuntu@civic-asp:~/colors$ cat favcolors.txt 4 red 3 blue 2 green colors.txt에서 가장 많이 존재하는 색상의 개수와 이름을 상위 3개 추출하는 명령어를 수행한다.   단계적으로 파악하자.     1. c..

[리눅스 | Linux] 리다이렉션 파이프라인

# 리눅스 표준 스트림 동작 과정일반적으로 커맨드command로 실행되는 프로세스process는 표준 입력 스트림standard input stream ; stdin, 표준 출력 스트림standard output stream; stdout과 오류 출력 스트림standard error stream ; stderr을 가지고 있다.기본적으로 이 모든 스트림은 일반적인 문자열plain text로 콘솔console에 출력 하게 되어 있다.   # 리다이렉션표준 스트림의 흐름을 바꿔준다. == 실행된 프로세스의 스트림을 콘솔이 아닌 파일로 사용하고 싶을 경우 사용.기호방향의미>표준 출력명령의 결과를 파일로 저장; 기존 파일 덮어씀>>표준 출력(append)명령의 결과를 기존 파일에 추가표준 입력파일의 데이터를 명령..

[리눅스 | Linux] 리눅스 패키지 | 디렉토리 구조 | 마운트

# 리눅스 패키지; Linux Package시스템에서 소프트웨어를 실행하는데 필요한 파일들(실행 파일, 설정 파일, 라이브러리 등)이 담겨있는 설치 파일 묶음종류1.소스패키지 소스 코드가 들어있는 패키지컴파일 과정을 통해 바이너리 파일로 만들어야 실행 가능설치 시 컴파일 작업도 진행.-> 설치 시간 김, 작업 과정에서 오류 발생 가능원하는 대로 소프트웨어를 수정하여 사용 가능2.바이너리 패키지성공적으로 컴파일된 바이너리 파일이 들어있는 패키지이미 컴파일 되어있음-> 설치시간 짧고 오류발생 가능성 적음대부분의 리눅스 기본 설치 패키지문제점 : 내 컴퓨터 환경과 바이너리 패키지가 컴파일된 환경이 다를 경우 문제 발생 패키지 의존성소프트웨어 패키지가 실행되거나 설치되기 위해 다른 패키지나 라이브러리에 의존하는..

[네트워크] TCP Handshake | TIME-WAIT

# TCP 연결 수립 과정  연결 수립 /  연결 해제  시 : 상대방이 보낸 시퀀스 번호 +1 로 승인 번호를 계산하여 반환 0.initClient : CLOSEDclient_seq_num = 0Server : LISTENserver_seq_num = 100 1. client -> server / SYNClient : SYN-SENTseq_sum = 0Server : CLOSED 2. server -> client / SYN + ACKClient : SYN-SENTServer = SYN_RECIEVEDack_num = 1_seq_num +1 == 0+1 ==1seq_num = 100 3. client -> server / ACKClient : ESTABLISHEDack_num = 2_seq_num + ..

[네트워크] TCP 헤더

# TCP 헤더   크기 기본 : 20byte == 160 bitsOption field 미 사용최대 : 60byte == 480bitsOption field 전체 사용 # 구성 요소1. Source Port / Destination Port크기 : 2byte == 16bits출발지와 목적지를 나타내는 포트TCP헤더에는 IP주소를 나타내는 필드가 아니라 포트를 나타내는 필드가 존재.IP주소는 한 계층 밑에 있는 IP헤더에 담김  2. Sequence Number크기 : 4byte == 32bits전송하는 데이터의 순서최대 표현 순서 : 4,294,967,296-> 중복 염려 x수신자는 쪼개진 세그먼트의 순서를 파악하여 올바른 순서로 데이터를 재조립 할 수 있게 된다.적용최초 전송 시 seq num을 랜덤..

[네트워크] 프록시 | 로드밸런서

# 프록시 ; Proxy클라이언트와 서버 간의 통신을 중계하는 역할을 하는 서버나 소프트웨어.클라이언트는 서버에게 직접 요청을 보내지않고 프록시를 통해 요청을 보냄프록시는 해당 요청을 대신 서버에게 전달하여 응답을 받아 클라이언트에게 전송프록시 서버 : 프록시 기능을 수행하기 위해 사용되는 서버   # 포워드 프록시일반적으로 여겨지는 프록시주역할 : 웹서버 로드 감소 위치클라이언트 바로 뒤에 있다== 인터넷보다 프록시 서버를 먼저 호출한다.프록시 서버는 같은 내부망에 존재하는 클라이언트의 요청을 외부 네트워크(인터넷)로 중계-> 서버에게 클라이언트가 누군지 감추는 역할.  특징 및 역할1. 캐싱; 불필요한 로드 감소웹페이지나 이미지와 같이 자주 요청되는 컨텐츠를 캐싱클라이언트가 동일한 컨텐츠에 대해 다..

[네트워크] SSH

# SSH; Secure Shell원격 호스트에 접속하기 위해 사용되는 보안 프로토콜원격 서버나 컴퓨터에 안전하게 접속하고 명령을 실행하거나 파일을 전송하기 위해 사용포트번호 : 22 작동 원리사용자와 서버는 각각의 키를 보유하고 있으며 이 키를 이요해 연결 상대를 인증하고 안전하게 데이터를 주고 받음. # 비대칭 키 방식1. 서버 또는 사용자가 공개 키와 개인 키 두 가지로 이루어진 Key pair를 생성2. 서버는 공개키를 받아서 이 키로 만들어진 랜덤한 값을 생성하여 사용자에게 전달.사용자가 올바른 키페어를 가지고 있는지 시험3. 사용자는 키페어 시 함께 생성된 개인 키를 이용해 전달된 암호문을 해석.개인키는 공개키와 달리 어디에도 보여주면 안됨. 개인키 == 서버와 사용자 간의 사이를 증명하는 수..

[네트워크] HTTPS | SSL | TLS

# 암호화해독할 수 있는 키를 가진 당사자만 액세스 할 수 있는 방식으로 수학적 모델을 통해 정보 또는 데이터를 스크램블링하여 보호하는 프로세스.종류 대칭 키 암호화비대칭 키 암호화대칭 키 암호화암호화 및 복호화를 수행하는 키가 같다비대칭 키 암호화공개키(;public key)로 암호화, 개인키(;private key)로 복호화 수행암호화를 수행하는 키와 복호화를 수행하는 키가 다름ex) AWS EC2 pem키도메인이 유효한지 검증할 때 개인 키 사용비대칭 키 암호화 사용한 번 연결이 이루어지고 난 이후 대칭 키 암호화로 변경   # SSL / TLS서버, 애플리케이션, 사용자 및 시스템 간의 데이터를 암호화 하는 보안 통신 프로토콜네트워크를 통해 연결된 두 당사자를 인증하므로 데이터를 안전하게 교환 가..

[네트워크] HTTP | URI | 요청 응답

# URI 구조Scheme프로토콜 명시웹 : HTTP, HTTPS 도메인 ;Domain통신할 서버의 도메인 명 | IP주소 포트 ;Port통신을 위해 연결된 서버 호스트의 특정 프로세스에 접근하기 위해 필요한 번호 경로 ;Path리소스 경로계층적 구조/(슬래시) 뒤에 있는거 파라미터 ;Parameter==쿼리 스트링웹 서버로 보내는 keu-value 형태의 문자열 데이터? 뒤에 있는거&기호로 구분 -> 여러 개 존재 가능 Fragment == 해시태그(;Hashtag) == 앵커(;Ancher)메인 리소스 내에 존재하는 서브 리소스에 스크롤 없이 바로 접근 시 사용서버에 전송하는 정보 x # 요청&응답 1. 요청 메소드GET : 받을랭특정 리소스의 표시를 요청.데이터를 받기만 함POST : 로그인 할랭 ..

[네트워크] NAT; Network Address Translation

# NAT사설망 -> 공인망, 공인망 -> 사설망 통신 시 공인망/사설망 에서 사용하는 IP로 변환하는 것. 내부 망에서는 사설 IP 주소를 사용하여 통신을 하고, 외부망과의 통신시에는 NAT를 거쳐 공인 IP 주소로 자동 변환합니다.NAT 장비가 공인망의 웹서버에게 보내기 위해 사용자의 사설 아이피를 공인망에 맞닿아있는 자신의 인터페이스 아이피로 변환하여 웹서버에 전달. # 동작 과정  요청) 패킷 헤더에 출발지와 목적지의 주소 기록.출발지 : 본인의 사설망 IP주소요청) 기본 게이트웨이(공유기 등)에서는 외부로 나가는 패킷을 인식출발지의 IP주소를 게이트웨이 자신의 공인 IP주소로 변경. (SNAT)별도의 NAT테이블 보관  응답) 웹서버에서 수신한 데이터를 처리한 후, 응답하여 보내는 패킷에 출발지..

728x90