브래의 슬기로운 코딩 생활
네트워크 보안 6주차 정리 (리눅스 명령어) 본문
계정 환경 설정
로그인 정보
명령: passwd
• 현재 로그인한 계정의 비밀번호를 설정
기본 명령어들
- 경로 변경: cd [경로]
- 파일 생성: touch [파일명]
- 파일 복사: cp [원본] [대상]
- 파일 삭제: rm [파일명]
- 파일 이동: mv [원본] [대상]
파일 내용 보기 명령들
명령어: cat [파일명]
- 지정한 파일의 내용을 화면에 출력
명령어: more [파일명]
- 지정한 파일의 내용을 화면에 출력
- 화면 단위로 출력(페이지 넘김: 스페이스바키)
명령어: tail [-###] [파일명]
- 지정한 파일에 대하여 뒤에서 ###(숫자)의 행만큼 출력
명령어: head [-###] [파일명]
- 지정한 파일에 대하여 앞에서 ###(숫자)의 행만큼 출력
텍스트 파일 에디터
VI 에디터(editor)
리눅스/유닉스에서는 일반적으로 VI 에디터가 가장 많이 쓰임
Bill Joy에 의해 BSD 유닉스용으로 처음 개발
대부분의 유닉스계열의 운영체제는 VI가 설치되어 있음
• VI의 사용을 익히는 것을 강력히 추천
단, 사용법을 익히는데 다소 시간이 걸리는 문제가 있음
명령어: vi {파일명}
• 저장: “:w” (명령모드에서 실행)
• 끝내기: “:q” (명령모드에서 실행)\
GCC
컴파일
- 텍스트 또는 오브젝트 파일을 기계어로 변환
- 상용 UNIX에서는 gcc라는 명령어를 사용
- GNU기반의 UNIX(리눅스 포함)에서는 gcc를 사용
- 명령어: gcc [파일명.c…] {-o 생성파일} {-l라이브러리}
GCC 대표 옵션
프로세스 상태 보기
프로세스 상태 보기
명령어: ps
로컬호스트내 프로세스의 동작 상태를 출력하는 명령
옵션으로 UNIX(System V)방식과 BSD방식을 모두 지원
• UNIX방식은 바(‘-’)문구를 사용
• BSD방식은 바 없이 바로 파라미터를 사용
명령어: top
로컬호스트내 프로세스의 동작 상태를 주기적으로 갱신하여 출력
프로세스 죽이기
명령어: kill
특정 프로세스에게 신호를 전달
대상 프로세스는 소유권이 동일해야 함
• 단, 시스템관리자(root)는 타 소유권의 프로세스의 제어도 가능
전면/후면 프로세스
전면 프로세스(Foreground Process)
- GUI의 경우 운영체제 화면에서 맨 앞에 놓인 활성화 상태의 프로세스
- 현재 입력과 출력을 사용하는 프로세스
- 사용자와 상호작용이 가능 = 상호작용 프로세스
후면 프로세스(Background Process)
- 사용자와 상호작용이 없는 프로세스
- 사용자의 입력 없이 작동
- 일괄 작업 프로세스라고도 함
- 전면 프로세스 보다 우선순위가 낮음
관련 명령어:
• 단축키: [Ctrl + Z] : 정지
• 명령어: jobs : 동일 쉘내 작업들 출력
• 명령어: fg : 전면으로 전환(Run상태 활성)
• 명령어: bg : 후면으로 전환(Run상태 활성)
IP 주소
MAC 주소와 IP 주소의 연결
- 주소 결정 프로토콜
- ARP(Address Resolution Protocol)와 RARP(Reverse ARP)에 의해 서로 연결됨
- 운영체제는 주변 장치들의 IP와 MAC 주소를 내부적으로 테이블에 관리
- 동작 원리:
• ARP: IP가 #.#.#.#인 MAC 주소는 무엇이니?
• RARP: MAC주소 $$$$$$는 IP가 무엇이니?
주변 장치의 IP 와 MAC주소 확인
명령어: arp
할당된 IP 확인
- 이더넷 장치에 할당된 IP 주소를 확인
- 이더넷 장치에 다수의 IP 주소 할당도 가능
- 관련 명령:
• 명령어 1: ip address
• 명령어 2: ifconfig
라우팅 정보 보기
라우팅 테이블
운영체제는 목적지주소로 전송할 패킷에 대한 출구 정보를 테이블로 관리
아웃 패킷은 네트워크 주소에 따라 서로 다른 이더넷 장치로 설정할 수 있음
• 인터넷 상의 라우터는 다수의 이더넷을 탑재
관련 명령어: route
네트워크 점검
네트워크 이용 상태 확인
시스템내 네트워크에 대한 이용 상태(현황)을 파악할 수 있음
출력 정보:
• 네트워크 접속상태(-l: 서버, -t: TCP, -u: UDP, …)
• 라우팅 테이블(-r)
• 인터페이스 통계(-s)
• Masquerade(NAT) 접속(-M)
• 멀티케스트 맴버십(-g) 등
원격 호스트의 네트워크 접속 상태 확인
ICMP를 통해 네트워크의 상태를 확인
명령어: ping
명령어: traceroute
주소 검색
IP 탐색
주어진 도메인명을 이용하여 IP 주소를 조회하기 위한 명령어
• 네임서버에 접속하여 도메인명과 IP주소의 관계를 조회
명령어 1: nslookup
명령어 2: host
도메인 소유자 검색
도메인 소유자 검색
지정한 도메인명에 대하여 현재 등록된 소유자의 정보를 조회
명령어: whois
서버 타입
데몬
Daemon: 악마
서비스(Service)라고도 함
UNIX 계열의 운영체제시스템에서 활동중인 백그라운드 프로세스의 일종
주로 서버 프로세스를 지칭
• 주로 클라이언트의 접속 요청을 대기하고 무한대로 대기하고 있는 프로그램
타입
• Standalone
• Inetd
Standalone
시스템에 독자적으로 프로세스가 구동되어서 서비스를 제공하는 데몬
• 예 : 웹서버 (httpd), DB서버(mysqld), 센드메일서버(sendmail) 등
실행 및 종료는 대개 “service 데몬이름 start/stop/restart”로 사용
• 시스템 실행시 자동은 “systemctl enable 데몬이름”
Standalone 타입 데몬의 실행 스크립트는 주로 “/etc/init.d/” 디렉토리에 주로 존재
inetd
일명 “슈퍼데몬”이라고도 부름
• 데몬 자신이 독립적인 프로세스로 직접 서비스를 하지 않음
• 외부에서 특정 서비스를 요청할 경우에 자신에게 종속된 데몬을 구동
• inetd이 해당 데몬에게 서비스를 하도록 연결시켜줌
운영체제에 따라 inetd 또는 xinetd으로 제공
• 설정파일: /etc/inetd.conf
UNIX 명령 파라미터
System V 계열의 UNIX 옵션
단일문자 옵션 인식 : ‘-’ 활용(single dash)
• 값 필요 시 바로 다음 파라미터를 값으로 인식
• 하나의 ‘-’에 모든 문자 같이 활용이 가능(단, 값 필요 옵션 제외)
• 예1: ls -al -i
• 예2: gcc hello.c –o hello
단어단위의 옵션 인식: ‘--’ 활용(double dashes)
• 값 필요시 “=”를 사용
명령 파라미터 추출
파라미터 추출
함수: getopt()
• 옵션 및 설정 값 추출이 가능
• 단, 단일 문자(‘-’) 형태의 옵션만 처리
• 반복 호출하는 방식으로 이용됨
인자:
• argc : main() 함수의 argc값(명령어를 포함한 파라미터 개수)
• *argv[] : main() 함수의 *argv[]에 해당하는 값
• *optstring : 인식할 옵션들(문자열 형태로 지정)
결과값:
• 성공: 옵션 문자
• 실패: -1
'2-2 > 네트워크 보안' 카테고리의 다른 글
네트워크 보안 중간고사 힌트 정리 (2) | 2023.10.21 |
---|---|
네트워크 보안 7주차 정리 (UNIX 기본 함수) (0) | 2023.10.17 |
네트워크 보안 5주차 정리 (TCP/IP, DNS, ICMP) (0) | 2023.09.30 |
네트워크 보안 4주차 정리 (OSI 계층 모델) (0) | 2023.09.27 |
네트워크 보안 3주차 정리 - 3 (OSI 7 계층 - 데이터 링크 계층) (0) | 2023.09.19 |