Information Security Lab

Research on penetration testing and information security

KH 정보교육원 국비지원 과정/Summary of study contents

25-6-30(월) LAN 환경 네트워크 / 리눅스(중요 디렉터리 및 기초 명령어)

information-security-lab 2025. 6. 30. 20:09
목차

Ⅰ. 네트워크 - LAN 환경
      1. CSMA/CD
      2. 콜리전 도메인(Collision Domain)
      3. 브로드캐스트 도메인(Broadcast Domain)
      4. Bridge 동작 과정

Ⅱ. 리눅스 주요 하위 디렉터리들과 기초 명령어
      1. 리눅스 주요 하위 디렉터리
      2. 리눅스 기초 명령어

 


 

Ⅰ. 네트워크 - LAN 환경

1. CSMA/CD

가. IEEE 802.3은 1-persistent CSMA/CD 방식의 LAN 환경에 관해 규정한 표준안

 

 

나. Ethernet은 원래 IEEE 802.3 표준안을 실제로 구현한 제품이나, 현재는 더 일반화된 용어로 사용

 

 

다. 신호 감지 기능(CS, Carrier Sense)

 

- 전송 선로에 흐르는 신호를 감시하는 기능으로, 선로의 전달 지연이 성능에 많은 영향을 줌

 

- 1-persistent CSMA

● 가장 간단한 형태로, 전송 채널이 사용 중인지 확인하고 채널을 사용 중이라고 판단하면 유휴 상태가 될 때까지 대기

● 임의의 순간에 채널이 유휴 상태로 변경되면 확률 1의 조건으로 프레임을 무조건 전송

● 둘 이상의 호스트에서 동시에 전송 채널을 유휴 상태로 판단하면 프레임 전송 과정에서 충돌이 발생할 수 있음

 

- Non-persistent CSMA

● 채널이 사용 중이라고 판단하면 더는 채널의 유휴 상태를 확인하지 않으며, 대신 임의의 시간 동안 기다린 후에 다시 채널 감지를 시작

● 1-persistent CSMA 방식보다 충돌 발생 확률을 줄일 수 있음

 

- p-persistent CSMA

● 슬롯 채널 방식에서 많이 사용되며, 채널이 유휴 상태면 p의 확률로 프레임을 전송하고, 사용 중이면 다음 슬롯을 기다린 후 앞의 과정을 반복함

 

 

라. 충돌 감지 기능(CD, Collision Detection)

 

- 충돌이 발생하면 해당 프레임의 내용이 깨지고, 각 호스트에서 전송한 프레임의 내용이 변형되므로 프레임을 더 전송하는 것은 의미 없음

 

- 충돌 감지 기능을 사용하여 충돌을 감지하면 진행 중인 프레임의 전송을 중지

 

- 트랜시버(Transceiver)

● 호스트를 전송 케이블에 연결하기 위한 송ㆍ수신 장치로, 전송 선로의 신호를 감지하는 기능과 함께 충돌 현상을 감지하는 기능도 제공

● 트랜시버는 충돌이 발생했음을 알려줌으로써 무의미한 프레임 전송을 억제할 수 있도록 해줌

 

 

 

2. 콜리전 도메인(Collision Domain)

가. 정의

 

- 네트워크 상에서 동시에 데이터를 전송할 때 충돌(Collision)이 발생할 수 있는 영역을 의미

 

 

나. 특징

 

- 콜리전 도메인의 크기가 클수록 충돌 발생 확률이 높아짐

 

 

다. 네트워크 장비별 콜리전 도메인

 

- Hub(L1 장비)

● 허브에 연결된 모든 장치가 하나의 콜리전 도메인에 속함

● 허브는 단순히 전기 신호를 증폭하여 모든 포트로 전달하기 때문에, 한 포트에서 전송이 시작되면 다른 모든 포트에서는 전송할 수 없음

 

- Switch(L2 장비)

● 스위치는 MAC 주소 테이블을 학습하여 목적지 포트로만 데이터를 전달하므로 각 포트가 독립적인 콜리전 도메인을 가짐

 

- Bridge(L2 장비)

● 스위치와 유사하게 콜리전 도메인을 나눔

 

 

 

3. 브로드캐스트 도메인(Broadcast Domain)

가. 브로드캐스트 스톰(Broadcast Storm)

 

- 브로드캐스트 트래픽이 많아지면 네트워크 성능이 저하될 수 있는데, 이를 브로드캐스트 스톰이라고 함  

 

 

나. 브로드캐스트 도메인 특징

 

- 브로드캐스트 도메인을 나누는 것은 불필요한 트래픽을 줄이고 네트워크 성능을 향상

 

- 라우터(Router), VLAN은 브로드캐스트 도메인을 나누는 네트워크 장비

 

 

 

4. Bridge 동작 과정

가. Learning : 출발지의 MAC 주소를 학습

 

 

나. Flooding : 목적지가 어디있는지 모르면 프레임이 들어온 포트를 제외한 모든 포트로 프레임을 전송

 

 

다. Forwarding : 특정 포트로 프레임을 전송

 

 

라. Filtering : 프레임이 다른 포트로 못 가게 막음(브리지를 못 건너가게 막음)

 

 

마. Aging : 학습한 MAC 주소를 기억하는 제한 시간이 존재

 

 

### 참고 ###

- 라우터 : 네트워크 주소가 다른 다수의 네트워크를 연결해주는 장치

 

 

### 중요 ###

- Ethernet의 성능

● 일정 수준 이상으로 node가 증가하면 각 node가 사용 가능한 대역폭은 줄어듦

● node가 일정 수준을 넘어가면 네트워크의 가용성이 심각하게 저하됨

그림 Ⅰ-4-1

 

 


 

 

Ⅱ. 리눅스 주요 하위 디렉터리들과 기초 명령어

1. 리눅스 주요 하위 디렉터리

가. /bin

 

- 역할 : 시스템 부팅 및 복구에 필요한 핵심 사용자 명령어(실행 파일)들이 저장됨

 

- 특징 : ls, cp, mv, mkdir, rm, cat 등과 같이 기본적인 명령어들이 여기에 위치하며, 이 디렉터리의 파일들은 단일 사용자 모드에서도 접근 가능해야 함

 

 

나. /sbin

 

- 역할 : 시스템 관리자(루트 사용자)가 사용하는 핵심 시스템 관리 명령어(실행 파일)들이 저장됨

 

- 특징 : fdisk, ifconfig, mount, fsck, reboot, init 등과 같이 시스템 설정, 유지 보수, 복구 등에 필요한 명령어들이 포함되며, 이 디렉터리의 파일들도 단일 사용자 모드에서 접근 가능해야 함

 

 

다. /etc

 

- 역할 : 시스템 전체에 적용되는 설정 파일들이 저장됨

 

- 텍스트 기반의 설정 파일들이 대부분이며, passwd, fstab, hosts, resolv.conf, crontab, apache2, ssh 등과 같이 사용자 계정, 파일 시스템 마운트 정보, 네트워크 설정, 서비스 설정 등이 여기에 있음

 

 

라. /dev

 

- 역할 : 하드웨어 장치 파일들이 저장되며, 물리적인 H/W 장치를 나타내는 특수 파일들임

 

- tty (터미널), sda (첫 번째 SATA 디스크), null (널 장치), zero (0 장치) 등이 있으며, 이 파일들은 실제 장치에 접근하기 위한 인터페이스 역할을 함

 

 

마. /proc

 

- 역할 : 현재 실행 중인 프로세스 정보 및 커널 정보를 나타내는 가상 파일 시스템

 

- 특징 : 실제 디스크에 저장된 파일이 아니라, 메모리에서 동적으로 생성되는 정보입니다. cpuinfo (CPU 정보), meminfo (메모리 정보), net (네트워크 정보), 각 프로세스 ID(PID)별 디렉터리 등이 있음

 

 

바. /sys

 

- 역할 : 시스템의 하드웨어 및 커널 관련 정보를 나타내는 가상 파일 시스템

 

- 특징 : /proc과 유사하게 메모리에서 동적으로 생성되며, 주로 하드웨어 장치와 드라이버, 커널 모듈 등에 대한 인터페이스를 제공하고, udev와 같은 시스템 도구에서 장치 정보를 얻거나 제어하는 데 사용됨

 

 

사. /var

 

- 역할 : 시스템 운영 중에 내용이 자주 변경되거나 커지는 데이터들이 저장

 

- 특징 : 로그 파일 (/var/log), 스풀 파일 (/var/spool), 임시 파일 (/var/tmp), 웹 서버 데이터 (/var/www/html), 데이터베이스 파일 (/var/lib/mysql) 등이 포함됨

 

 

아. /tmp

 

- 역할 : 임시 파일들이 저장됨

 

- 특징 : 시스템이 재부팅될 때, 또는 일정 시간마다 자동으로 내용이 삭제될 수 있음

 

 

자. /usr

 

- 역할 : 대부분의 사용자 프로그램 및 라이브러리, 문서 등이 저장되는 매우 큰 디렉터리

 

- 특징 : 시스템 작동에 필수적이지는 않지만, 일반적인 사용자 환경에서 필요한 모든 파일들을 포함

● /usr/bin: 대부분의 사용자 실행 파일  

● /usr/sbin: 대부분의 시스템 관리 실행 파일

● /usr/lib: 라이브러리 파일

● /usr/local: 시스템 관리자가 로컬에서 컴파일하거나 설치한 소프트웨어

● /usr/share: 아키텍처 비종속적인 데이터 (예: 문서, 맨 페이지)

● /usr/src: 커널 소스 코드

● /usr/include: C/C++ 헤더 파일

 

 

차. /opt

 

- 역할 : 시스템에 추가적으로 설치되는 대용량 소프트웨어 패키지들이 저장

 

- 특징 : 주로 상용 소프트웨어나 서드파티 애플리케이션이 자체적으로 관리하는 파일들을 이곳에 설치하며, 각 소프트웨어는 보통 서브 디렉터리 형태로 설치됨

 

 

카. /home

 

- 역할 : 일반 사용자 홈 디렉터리

 

 

타. /root

 

- 역할 : 루트 사용자의 홈 디렉터리로, 보안상, 일반 사용자는 접근 권한이 제한됨

 

 

하. /boot

 

- 역할 : 시스템 부팅에 필요한 파일들이 저장됨

 

- 특징 : 리눅스 커널 이미지, 부트 로더(GRUB 또는 LILO) 설정 파일 및 관련 파일(vmlinuz, initrd.img, grub) 등이 포함됨

 

 

거. /lib

- 역할 : /bin 및 /sbin 디렉터리에 있는 실행 파일들이 사용하는 핵심 공유 라이브러리들이 저장됨

 

- 특징 : 시스템 부팅 시 필수적인 라이브러리들을 포함(최신 시스템에서는 /usr/lib으로 통합되거나 심볼릭 링크되는 경우가 많음)

 

 

너. /mnt

 

- 역할 : CD/DVD-ROM, USB 드라이브, 네트워크 파일 시스템(NFS) 등 임시로 마운트되는 파일 시스템을 위한 임시 마운트 포인트  

 

- 특징 : 일반적으로 비어 있으며, 사용자가 수동으로 외부 저장 장치를 연결할 때 사용

 

 

더. /media

 

- 역할 : 착탈식 미디어(Removable media)를 자동으로 마운트하기 위한 포인트

 

- 특징 : CD-ROM, USB 플래시 드라이브, 외장 하드디스크 등이 시스템에 연결될 때 자동으로 /media/<사용자이름>/<장치명>과 같은 경로로 마운트됨

 

 

러. /srv

 

- 역할 : 시스템이 제공하는 서비스와 관련된 데이터가 저장됨

 

- 특징 : 웹 서버 데이터, FTP 서버 데이터 등 특정 서비스가 제공하는 데이터가 여기에 저장될 수 있습니다. (ex : /srv/www, /srv/ftp)

 

 

 

2. 리눅스 기초 명령어

가. mkdir

[ 옵션 ]

● -p : 필요하다면 생성하고자 하는 상위 디렉터리까지 생성
● --version : 버전 정보 출력

 

 

나. tree

[ 옵션 ]

● -d : 디렉터리만 출력

 

 

다. ls

[ 옵션 ]

● -a : 숨김 파일까지 출력
● -l : 파일에 대한 정보를 자세히 출력
● -R : 하위 디렉터리 내용까지 출력
● -h : 휴먼 리더블하게 출력
● -k : KB 단위로 파일 크기 출력
● -h : 파일의 inode 번호 같이 출력

 

 

 

끝.