본문 바로가기

여러가지/구축 & 설치

(40)
[정리] OSI 7계층 ● 클라이언트/서버브라우저, 클라이언트(네이버) 서버서버, 클라이언트 서버=> 요청/응답 시 데이터 주고 받음 ● OSI 7계층(1) 물리 - 비트: 랜선(전기 신호) - -> 랜카드(0/1로 변환)전기 신호의 경우 기준선으로 0/1로 변환하는데, 이때 의도한 것과 다르게 변환되는 경우도 있다.따라서 패리티 비트(검증)를 통해 마지막에 검증한다. (2) 데이터 링크| 목적지 | 출발지 | 유형(IPv4, IPv6) | 네트워크 데이터(목적지 IP, 출발지 IP, 전송계층데이터) | 트레일러 | - 프레임(목적지, 출발지) - MAC 주소Q. 목적지 MAC 주소는 어떻게 아는가?A. 옆사람(스위치 or 허브)한테 물어본다.ex) 스위치 or 허브 - - > 라우터 A - - > 라우터 B ...(여러 ..
[설치] Wireshark Step 1. 설치# yum -y install wireshark# yum -y install wireshark-gnome Step 2. 실행# wireshark &
[실습] Nginx 웹 서버 구축 ngnix 웹 서버를 구축하기 위해서 아래의 레파지토리를 사용할 필요는 없다. 내가 그랬을 뿐. 호호. 1) 레파지토리 추가# cd /etc/yum.repos.d/# vi nginx.repo-----------------[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/7/$basearch/gpgcheck=0enabled=1-----------------2) 설치# yum install -y nginx[참고] nginx 설치 안될 때 https://uyijune15.tistory.com/113 [ERROR] No package nginx available.# yum install nginx 와 같이 무엇인가 설치하고..
[명령어] tcpdump (네트워크 트러블 슈팅 도구) # tcpdump: 네트워크 패킷 수집 및 분석즉, 네트워크 패킷의 흐름 전반적으로 볼 수 있음하지만, 해석하기 어려움 ● 옵션-nn: 프로토콜과 포트 번호 숫자 그대로 표현-vvv: 자세한 출력 결과-A: 패킷 내용 함께 출력(+) HTTP의 경우 암호화 되지 않아 패킷 내용 확인 가능 주로, -nn -vvv -A 함께 사용 ● 트러블 슈팅 목적지/ 포트 존재# tcpdump -nn -vvv -A port 80=> TCP 3/4-way Handshake 과정 확인 가능함 # tcpdump -nn -i ens33 port 80=> 특정 목적지, 특정 포트 필터링 가능 # tcpdump -nn  -A -i ens33 port 80 Q. 좀 더 편하게 분석할 순 없을까?tcpd..
[명령어] netstat # netstat: 네트워크 연결 정보 확인즉, 커넥션의 상태와 종단 간 IP 정보 등 서버의 네트워크 연결 정보 출력 ● 출력 결과상단 - 네트워크 소켓하단 - unix 소켓 Q. 어떻게 해석할까?# netstat -napo | grep -i est=> Local 주소/포트와 Foreign주소/포트가 연결되어 있음=> 연결의 PID는 OOO이며 OOO라는 이름의 프로세스 사용중임  ● 소켓 상태TCP 3-way Handshake: 연결TCP 4-way Handshake: 연결 끊기 Q. 가장 자주 보게 될 상태는?ㄱ. Listen: 통신이 이루어 지기 위해서는 누군가 소켓으로 듣고 있어야 함ㄴ. Establishedㄷ. Timewait [실습] nginxㄱ) nginx 설치 및 확인(nginx serv..
[명령어] top # top: 프로세스의 상태와 CPU, 메모리 사용률 등 확인 ● 확인 가능 목록- load average- Tasks: 프로세스 갯수- %Cpu(s): 전체 CPU 사용률- 시스템 설치되어 있는 메모리 정보 및 SWAP- 동작 프로세스... ● Hot Key 사용법ㄱ. 1: Cpu(s)가 각각의 Cpu로 변환이를 통해, Cpu 불균형 사용률 확인 ㄴ. d: 인터벌 변경, 기본 3초 (사용 예시) 1 > d > 1 : 개별 Cpu 1초 단위 출력  ● top 명령어 통해 알 수 있는 것 1) cpu 사용량us, sy,ni,id,wa,hi,si,st us: user, 프로세스의 일반적인 CPU 사용량wa: waiting, I/O 작업 대기 시 CPU 사용량 us가 높다?CPU를 많이 쓰고 있음따라서, 더 ..
[명령어] df # df: 1) 디스크 사용량/여유 공간 및 2) inode 공간 확인 1) 디스크 사용량/여유 공간# df -h // -h : 사람이 해석하기 좋은 출력결과로 만들어주는 옵션 Q. 파일 시스템 100%된다면?Disk FULL 상태로명령어 동작 안하거나, 최악의 경우 ssh 접속 불가함따라서 모니터링 반드시 해야함 ● 디렉터리 별 사용량 측정# du -sh ./*: 루트 디렉터리 하단의 모든 디렉터리 출력 Q. 파일 지웠는데 용량이 안늘어난다? 사용량 그대로다?해당 파일 누군가 참조하고 있는 것즉, 참조 프로세스 존재따라서 참조 프로세스 삭제하면 파일 핸들이 반환되고 실제로 파일 삭제 ● 파일 핸들# lsof: 파일 핸들 확인 명령어# lsof | grep testex) PID 2917 프로세스가 tes..
[명령어] free # free: 시스템의 메모리 사용 현황/정보 출력 # free -m// -m: 메가바이트(MB) 단위 출력  Q. free vs available ㄱ. free: 어느 누구도 사용하고 있지 않은 메모리 ㄴ. available: 애플리케이션에 실질적으로 할당 가능한 메모리즉, 사용하고 있더라도 할당 가능한 메모리 포함  Q. 왜 이런 차이가 발생할까? ● buff vs cache ㄱ. buff: 블록 디바이스가 가지고 있는 블록 자체의 캐시 ㄴ. cache: I/O 성능 향상을 위해 사용하는 페이지 캐시 'I/O 성능 향상' 방법: 한번 읽었던 파일은 페이지 캐시에 저장함으로써 블록 디바이스가 아닌 메모리에서 파일 내용 가져옴 즉, buff/cache가 높다면  I/O가 많이 일어나는 상황이므로 더 많은..