Information Security Lab

Research on penetration testing and information security

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

25-7-2(수) 네트워크 L3 ~ L4 / 리눅스 기초 명령어

information-security-lab 2025. 7. 4. 04:06
목차

Ⅰ. NAT
      1. NAT 개념
      2. NAT 특징

Ⅱ. 프로토콜
      1. ICMP
      2. ARP

Ⅲ. 전송 계층
      1. 전송 서비스 및 프로토콜
      2. UDP

Ⅳ. 리눅스 기초 명령어
      1. cp
      2. mv
      3. 심볼릭(소프트) 링크 / 하드 링크
      4. head / tail
      5. truncate

 


 

Ⅰ. NAT

1. NAT 개념

가. NAT, PAT, Masquerading으로 불리던 여러 기술이 NAT라고 쓰임

 

 

나. 공인 IP 부족 현상을 해결하기 위해 사용된 기술

 

- 공인 IP 주소와 사설 IP 주소를 바꿔주는 기술

 

 

 

2. NAT 특징

가. 사설 IP와 공인 IP는 1:1, 1:N, 모두 가능하나 IP 부족 현상으로 인해 최근 1:1 구현은 쓰이지 않음

 

 

나. 리눅스 및 유닉스에서 masquerading이란 명칭으로 방화벽 프로그램에 의해 제공

 

 

다. 기능을 제공하는 단독형 장비를 공유기라 함

 

 

라. NAT는 원래 IP 부족을 해결하기 위한 장비이나 부가적으로 외부 침입에 대해 근본적인 접근을 허용하지 않음으로써 현재는 방화벽의 일부로 인정됨

 

 


 

 

Ⅱ. 프로토콜

1. ICMP

가. 인터넷 제어 메시지

 

 

나. 네트워크 관리 및 오류 보고를 위해 사용되며 IP의 비신뢰성, 비연결성의 단점을 보완하고자 사용되는 IP supported 프로토콜임

 

 

다. 특정 프로그램에 의해 호출되었을 때만 동작하며 Message 형식으로 정보를 알림

 

 

라. 다양한 질의와 응답이 있으나 이를 통한 가용성을 훼손하는 공격이 빈번하므로 현재는 대부분 방화벽 수준에서 드롭됨

 

 

마. ICMP를 이용한 경로 확인 명령어

 

- ping

 

- tracert

● 리눅스에서는 traceroute를 사용함

 

 

 

2. ARP

가. 특징

 

- 질의 : Broadcast

 

- 응답 : Unicast

 

 


 

 

Ⅲ. 전송 계층

1. 전송 서비스 및 프로토콜

가. 서로 다른 host간에 작동하는 app process 간에 논리적인 통신을 제공

 

 

나. 전송 계층 프로토콜은 end system에서 작동함

 

- 송신측 : app message를 segment로 변환하여 네트워크 계층에 전달함

 

- 수신측 : 네트워크 계층으로부터 전달받은 segment에서 message를 추출하여 응용 계층에 전달

 

 

다. 네트워크 계층 / 전송 계층

 

- 네트워크 계층 : host 간에 logical communication을 제공

 

- 전송 계층 : process 간에 logical communication을 제공

● 네트워크 계층이 제공하지 못 하는 신뢰성 있는 전송을 제공 가능

● 그러나 네트워크 계층의 제약을 받는 경우도 존재

└ 지연이나 대역폭에 대한 보장 불가

 

 

 

2. UDP

가. 사용 이유

 

- 연결 설정이 없음

● 예비 동작 없이 전송하므로, 설정에 따른 어떠한 지연도 없음

 

- 연결 상태가 없음

● 연결 상태 유지를 위한 변수가 없으므로 TCP보다 많은 app를 수용할 수 있음

 

- header가 작음

● 8 Byte(TCP 헤더 크기 : 20 Byte)

 

- 혼잡제어 기능을 수행하지 않음

● 네트워크의 혼잡도를 고려하지 않으므로 app가 요구하는 전송을 전송량 제한 없이 전송

 

 


 

 

Ⅳ. 리눅스 기초 명령어

1. cp

가. 옵션

-a // 원본의 속성 유지

-r // 하위 디렉터리나 파일 모두 복사

-f // 강제 실행

-p // 파일의 소유와 권단 등을 보존한 채 복사

-u // 새 파일 덮어쓰기 금지

 

 

 

2. mv

가. 옵션

-f  // 강제 실행

-b  // 파일이 덮어써질 경우 백업파일 생성

-d  // 디렉터리 삭제 

-i  // 삭제 전 삭제여부 확인

-v  // 백업파일 생성

 

 

 

3. 심볼릭(소프트) 링크 / 하드 링크

가. 심볼릭 링크

● 원본 파일 위치 정보를 가지는 단축 아이콘으로, 특정 파일을 가리키고 있는 파일

● 다른 파일 시스템에서도 링크가 가능

● 별도의 inode를 가지며 링크 파일이 가지고 있는 용량만큼 디스크의 공간을 차지

● 원본의 링크 카운트가 증가하지 않음

● 생성 명령

$ ln -s

 

 

나. 하드 링크

● 원본 파일과 동일한 inode를 가짐

● 원본이었던 파일이 삭제되더라도 동일한 inode를 가지고 있는 하드 링크 파일은 사용이 가능함

● 서로 다른 파일 시스템에서는 생성이 불가능하며 링크 카운트가 증가함

● 생성 명령

$ ln

 

 

 

4. head / tail

가. 옵션

-n [ 라인 수 지정 ] // 지정한 라인만큼 출력

-c [ 크기(Byte) 지정 ] // 지정한 크기만큼 출력

-f // tail에서만 사용하며, 실시간 추가되는 내용도 출력함. 주로 log 정보 확인 시 사용

 

 

 

5. truncate

가. 개념

 

- 파일의 크기를 임의로 변경

 

- 파일의 내용을 삭제할 때 주로 쓰임

 

- 옵션

-s [ 파일 크기(Byte 단위) 지정 ]
● 단위 지정 가능 : K(KB), M(MB), G(GB)
● 크기 증감 가능 : + / -

-c // 파일이 존재할 경우만 실행

-r [ 파일 명 ] // 제공한 파일의 크기를 기준으로 설정

 

 

 

끝.