본문 바로가기
정보보안

정보보안6 4차시

by IT매니절 2024. 9. 8.

칼리리눅스

( 사전에 python 가상환경 모듈 깔아둘것. sudo apt install python3.11-venv )

python -m venv 이름

으로 가상환경 만들고

source 이름/bin/activate

으로 가상환경 실행

가상환경 내부에서

python -m pip install --upgrade pip
pip install 패키지명

pip 업그레이드 후에 pip로 필요한 패키지 설치

 

윈도우

python -m venv mysite

으로 venv 모듈을 이용하여 mysite 라는 이름의 가상환경 만듬
cd mysite\Scripts
activate

가상환경 실행

 

 

pip install requests

칼리리눅스에 requests 설치

 

requests

공식사이트 : https://requests.readthedocs.io/en/latest/

HTTP 요청을 보내기 위한 라이브러리

JSON 데이터 처리, 인증, 세션 유지, 웹 크롤링, 공격 코드 작성시 등등 사용

소켓socket 모듈 사용

 

# iptables -A FORWARD -j NFQUEUE -m comment --comment SNORT
# snort -A console -q -u snort -g  snort -c /etc/snort/snort.conf -Q

nids 클라이언트에 iptables 룰 추가, snort 켜놓고

lynx와 curl 이용해서 접속 가능 확인

 

requests를 이용해 데이터를 얻어올 수도 있다

 

파라미터를 담아서 전송하고 그 결과 출력

 

 

칼리에서 비주얼 스튜디오 열어서 가상환경 만들고 실행

(root 사용자에서는 비주얼 스튜디오 사용 불가)

 

 

가상환경이 선택된 상태

자동으로 만들경우

터미널은 source .venv/bin/activate 로 가상환경을 별도로 선택해주어야 함

 

실행화면

디버깅 시작 F5

디버깅 없이 실행 Ctrl+F5

 

아래로 파이썬 기본학습

 

파이썬 주석

1) #

2) '''
3) """

 

파이썬 키워드 확인

>>> import keyword
>>> print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

 

출력형식

1) print(studentName1, student_name2)
2) print('%s %s' %(studentName1, student_name2))
3) print('{} {}'.format(studentName1, student_name2))
4) print(f'{studentName1} {student_name2}')  

 

변수명 규칙
파이썬 예약어, 특수문자 사용 불가
숫자로 시작할 수 없고 대소문자를 구분한다

 

자료형
1) 정수 int
2) 실수 float
3) 문자열 str
4) 불리언 bool
5) 리스트 list [1,2]                 순서O 반복O 중복O 변경O
6) 튜플 tuple (1,2)                 순서O 반복O 중복O 변경X
7) 딕셔너리 dict {'a':'1','b':2}  순서X 반복O 중복△ 변경O    ←키 중복 불가, 값 중복 가능
8) 셋 set {1,2}                        순서X 반복O 중복X 변경O

type(값)으로 확인 가능

 

반복문

1) 리스트

  1-1) for 변수 in 리스트:

      print(변수)

  1-2) for 인덱스, 변수 in 리스트:
     print(인덱스, 변수)

2) 튜플

for 변수 in 튜플:

      print(변수)

3) 딕셔너리

for 키, 값 in 딕셔너리.items():
     print(키, 값)

4) 셋

for 변수 in 셋:
      print(변수)

 

 

멤버쉽 연산자
a in b
a not in b
b에는 반복할 수 있는 iterable이 와야한다

 

제어문
1) if문, 중첩 if문
if 조건:
  코드
elif 조건:
  코드
else:
  코드
2) match-case문 (3.10 버전부터 사용가능)
match 변수:
 case 값:
  코드
3) while문

while 조건:

  코드

else: (생략가능)

  코드
4) for문

  1-1)  for 변수 in (리스트, 튜플, 딕셔너리, 셋, 문자열, 함수 등):

             코드

          else: (생략가능)

             코드

  1-2)  range 함수활용

           for i in range(숫자):

             리스트[i]

5) break문 (if문, match-case문, while문, for문 내부에서 사용)

실행된 코드를 완전히 빠져나간다 (다음 순서 실행x)
6) continue문 (if문, match-case문, while문, for문 내부에서 사용)

실행된 코드를 빠져나가 다음 순서를 실행한다

 

변수.isdigit() : 숫자면 true 아니면 false

 

 

'정보보안' 카테고리의 다른 글

정보보안6 6차시  (0) 2024.09.22
정보보안6 5차시  (0) 2024.09.21
정보보안6 3차시  (0) 2024.09.07
정보보안6 2차시  (0) 2024.09.01
정보보안6 1차시  (0) 2024.08.31