포렌식과 개발의 잡동사니
데몬 이론 / 간단한 telnet 서버 구축 본문
원격 서비스: 물리적으로 떨어진 컴퓨터를 로컬 컴퓨터처럼 이용. 네트워크 연결을 통해 공유 컴퓨터의 자원 이용 가능.
- CLI 환경 접근
- GUI 환경 접근(원격 데스크톱, 원격 지원)
Daemon: 시스템 관련 작업을 수행하는 백그라운드 프로세스 통칭. 부팅 단계부터 지정된 데몬 동작.(리눅스에서 대표적 쓰는 데몬: chronyd(d가 붙은 프로그램은 대부분 데몬)(상시 동작하면서 시간을 외부와 맞춰주는 프로그램) 많이 동작하면 시간 느려짐. 필요에 의해 키고 끄는 게 좋음.
standalone: 데몬이 독립적으로 혼자 동작. 상시 켜져있어야 함.(서비스를 받고 제공하는 프로그램이기 때문에 standby 상태여야 함. 자주 사용되는 웹, 메일 서버, 혹은 특별한 경우에만 쓰이는 프로그램 등에 사용.
슈퍼 데몬 방식: 데몬은 평상시 꺼져있고 관리하는 슈퍼 데몬만 깨어 있다가 요청이 들어오면 대신 받아서 해당 데몬을 깨워서 서비스 제공하는 방식. 자주 사용하지 않는 서비스에 용이함. 요즘은 하드웨어 성능이 워낙 좋아져서 굳이 쓰지 않음.
inetd: 대표적 슈퍼 데몬. 업그레이드 되고 xinetd가 됨. 요즘은 운영 체제 자체가 systemd로 총괄해서 사용해서 두 개 모두 사용하지 않음.
systemd: 슈퍼 데몬은 아닌데 운영체제가 데몬들을 관리하기 위해 나온 프로그램. 슈퍼 데몬 역할도 같이 수행. → 제어 프로그램: systemctl
기본 systemctl 명령어 구조=systemctl 동작 방식 서비스명 서비스 데몬 시작: systemctl start 서비스명(ex: systemctl start NetworkManager) 서비스 데몬 종료: systemctl stop 서비스명(ex: systemctl stop NetworkManager) 서비스 데몬 재시작: systemctl restart 서비스명(ex: systemctl restart NetworkManager) 현재 동작중인 설정 다시 불러오기: systemctl reload 서비스명(잘 안되는 경우도 있음)
특정 서비스 데몬의 상태 확인(시작 여부, PID, 현재 상태, 시작 프로그램 여부 등) : system status 서비스명


껐다 킨 후 로그데이터 확인

systemctl enable > 시작 프로그램으로 동작 설정

원격 프로그램 → telnet, SSH
간단한 서버 구축 실습
192.168.50.100 → 서버
192.168.50.50 → 클라이언트
1. 서버 설정(192.168.50.100)
서버용 프로그램 다운로드

슈퍼 데몬 형태로 실행 및 동작 상태 확인

현재 열려있고 연결된 포트와 네트워크 상태 보기: netstat -antup(옵션 5개 한 번에)

2. 클라이언트 설정(192.168.50.50)
통신이 잘 되는지 확인

telnet 설치

서버 ip로 접속 후 로그인하고 ifconfig 하면 서버의 ip로 뜬다.

접속을 끊고 싶다면 exit
