kh교육

(20250908047)데이터베이스, 와이어샤크

boangod 2025. 9. 8. 17:47

데이터 베이스

그냥 데이터 베이스는 가비지다.

데이터가 정돈되어 있는가가 가장 중요함.

 

 

Database

• DBMS : Database Management System

‐ Database를 구현하고 사용 가능하도록 작업 환경을 제공하는 소프트웨어

‐ 계층형 데이터베이스, 망형 데이터베이스, 관계형 데이터베이스

• RDBMS : Relational Database Management System → 관계형 데이터베이스

‐ RDB(관계형 데이터베이스)를 관리하는 소프트웨어

‐ Oracle, SQL Server, MySQL, DB2 ……

‐ 관계형 데이터베이스 ≒ 정보(사회활동부산물)

 

관계형 데이터베이스를 사용하는 이유 → 회사에서 사용하는 서류는 관계형 데이터베이스에 최적화되어 있기 때문

ㄴ 서식이 있어야지 관계형 데이터베이스가 된다.

ㄴ 서식이 없으면 다른 db에 넣는다.

 

 

RDB(Relational Database )

• 테이블로구성

‐ 열과 행으로 구성(column, row)

 

인스턴스 → 행(하나의 대상에 대한 정보.)

RDB는 인스턴스를 하나의 데이터라고 인식함.

테이블 → 인스턴스가 모인 것.

컬럼은 인스턴스의 속성을 나타냄.

데이터베이스 관리는 컬럼에 있다.

 

SQL(Structured Query Language)

사용하는 언어

사용자와 RDBMS랑 사용하는 언어

 

 

• DML(Data Manipulation Language)

‐ SELECT ‐ INSERT, UPDATE, DELETE → insert주로 사용.

 

• DDL(Data Definition Language) → 테이블 관리, 생성 제거 할 때 사용

‐ CREATE, ALTER, DROP

‐ RENAME

 

• DCL(Data Control Language)

‐ GRANT, REVOKE

 

• TCL(Transaction Control Language) 

‐ COMMIT, ROLLB

 

 

  • 영어와 매우 유사한 언어
  • ‐ 단어의 구성과 순서가 고정
  • ‐ 자연어에 가까움(쉬움) • 비절차적 언어
  • ‐ 조건문(?), 순환문 없음
  • .‐ 프로그래밍이 어려움 • 표준안이 제공된다.

    ㄴ 컴퓨터가 실행하는 순서와는 다르다.

 

 

프로젝션(Projection) → 특정 데이터의 컬럼만 보기(모든 행을 본다.)

선택(Selection) → 내가 원하는 행만 본다.

조인(Join)→ 여러 테이블을 묶어서 보기.

 

 

SELECT문의 구조

SELECT * | [DISTINCT] 컬럼|수식 [AS 별명], ...... FROM 테이블명;

ㄴ 별명 중요.

  • SELECT 절에는 출력대상을 기술한다.
    ‐ * 단독으로만 쓰인다.
    ‐ 컬럼, 수식
  • FROM 절에는 테이블명을 기술한다.
    ‐ SELECT절과 FROM절은 생략할 수 없다.

 

특별한 SQL문

• 모든 테이블을 검색한다.

SELECT * FROM tab;

‐현재유저가 소유한 테이블목록을 확인한다.

‐ 유저, 스키마는 동일한 의미이다.

• 테이블 구조를 검색한다.

 

DESC 테이블;

  • 테이블이 어떤 컬럼으로 구성되어 있는지 확인한다.

 

SQL 문의구조

  • SQL 문은 다양한 유연성을 가진 비절차적 언어이다. C언어나 자바등과는 달리 다양한 순환 구조와 조건구문을 갖지는 않지만 자연어에 꽤 가까운 언어임으로 입 문시에 배우고 구사하는 것 이쉽다.

‐ SQL 문은 반드시 ';'으로 끝난다. → 반드시 결과가 나온다.(메시지 안 나오면 문제 생긴 거.)

‐ SQL 문은 대소문자를 구별하지 않는다. → 데이터는 구별하지만 문장은 구분 안 함.

‐ SQL 문은 여러 줄에 기술 가능하다. 

      . 들여 쓰기 가능하다.

‐ SQL 문은 반드시 결과(출력)가 존재한다.

 

테이블 구조와 내용검색

• 사원(emp) 테이블의 구조와 내용을 검색한다.

SQL> DESC emp; SQL> SELECT * FROM emp;

 

• 사원의 사 번과 이름을 검색한다.

SQL> SELECT eno, ename 2 FROM emp;

‐ 지문에 맞는 SELECT문을 검색한다.

‐ 지문을 해석하기 위해서는 테이블의 구조를 반드시 기억해야 한다.

  • 두 문장 다 실행 속도는 똑같다.

 

올바른 데이터검색

SQL> SELECT ename, job FROM emp;

SQL> SELECT eno, ename, job FROM emp;

밑에 명령어처럼 데이터를 추출해야 한다.

ㄴ 독립적으로 구분되는 걸 추출해야 함.

 

• SQL문뿐 아니라 검색 결과도 문제가 없어야 한다.

‐ 검색결과는 질의의 의미가 충족 돼야 한다.

‐ 검색결과는 구분이 돼야 한다. -무결성

 

테이블은 2차원배열과다르다.

 

 

 

 


 

와이어 샤크

 

일단 서버 3대를 만든다.

window = 192.168.11.7

linux = 192.168.11.17

kali linux = 192.168.11.36

 

https://www.wireshark.org/#downloadLink -> 여기서 다운로드.(사실 여기서 npcap다운로드가 될 것입니다.)

https://www.winpcap.org/ -> winpcap, Npcap다운로드

 

 

 

Windows용을 설치 시에 WinPcap을 같이 설치한다.

• Winpcap는 NIC를 프러미스큐어스 모드(Promiscuous mode) 모드로 작동시킨다.

• Windows 계열의 OS는 OS레벨에서 프러미스큐어스 모드를 지원하지 않는다.

 

 

 

와이어샤크 = 캡처받은 패킷을 화면에 뿌려주는 역할을 하는 애.

npcap, winpcap = 실제 패킷을 캡처받는 놈.

디바이스 파일 통제 = winpcap, npcap

 

프러미스큐어스 모드로 바꾸면 목적지로 안되어있는 패킷도 받는다. → 유닉스에서만 지원함.

 

 

실행시키면 이런 화면이 뜨는데 불필요한 인터페이스가 있으니까 숨길 것입니다.

 

ctr + k를 눌러서 -> 인터페이스 관리를 눌러 표시할 인터페이스를 지정할 수 있습니다.

 

 

 

 

패킷 확인을 하면 

 

 

 

 ctr + m으로 마킹을 할 수 있다. 검은색으로 표시된 것이 마킹한 것.

 

 

 

 

지정한 패킷 내보내기를 통해서 내가 지정한 패킷만을 저장할 수도 있다.

다른 곳에서도 사용할 거면 pcap로 저장하는 것이 좋다.

 

 

 

캡처 필터

 

주소

- host #.#.#.#                    : host 192.168.11.12

- src host #.#.#.#              : src host 192.168.11.13

- dst host #.#.#.#              :dst host 192.168.11.14

- net #.#.#.#/#                   : net 192.168.11.0/24

- src net #.#.#.#/#             : src net 192.168.11.0/24

- dst net #.#.#.#/#             :dst net 192.168.11.0/24

- ether host #:#:#:#:#:#     : ether host aa:bb:cc:dd:ee:ff 

- ether src #:#:#:#:#:#       : ether src aa:bb:cc:dd:ee:ff

- ether dat #:#:#:#:#:#       : ether dst aa:bb:cc:dd:ee:ff

 

ether로는 거의 사용하지 않는다. 통신할 때 외부로 나가면 라우터 것의 mac주소로 바뀌기 때문이다.

 

 

포트

- port ##           : port 80

- src port ##     : src port 80

- dst port ##     : dst port 21

- tcp port ##     : tcp port 53

- udp port ##    : udp port 53

- port 대신 portrange 설정 가능, ## 대신 ##-##으로 표기

 

프로토콜

• tcp, udp, icmp, icmp6, ipx, ip, ip6, arp, rarp 등

 

다중 필터

• and, or

ㄴ and를 사용 많이 함.

 

 

디스플레이필터

 

 

 

빨간색 동그라미 표시를 누르면 된다.

 

 

연산자

• ==, === : 같다.

•!=,!== : 다르다.

• <, >, <=, >=

 

• is present : 해당 필드가 패킷에 존재하는지 확인

  • ip.src: 출발지 IP가 있는 패킷 (IPv4 패킷에만 존재)
  • tcp.options.mss is present : TCP MSS 옵션이 포함된 패킷만
  • http.host: HTTP Host 헤더가 존재하는 패킷만
  • icmp: ICMP 프로토콜이 포함된 패킷만 (ping 등) • contains: 포함 (특정 문자열 포함)

• in:리스트 내 포함

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'kh교육' 카테고리의 다른 글

(20250910049) 데이터베이스 , 패킷, 해킹 툴  (0) 2025.09.10
(20250909048)데이터베이스, 패킷 이해  (0) 2025.09.09
(20250905046) kali리눅스  (0) 2025.09.05
(20250903046)image  (0) 2025.09.03
(20250902046)data와 volume  (0) 2025.09.02