본문 바로가기

분류 전체보기31

파이썬으로 네트워크 패킷 스니핑 구현하기: 기초부터 실습까지 파이썬으로 간단한 네트워크 스니핑 구현하기네트워크 스니핑이라는 말을 들으면 뭔가 해커 영화 같은 게 떠오를 수도 있는데, 사실 파이썬으로 간단하게 시작할 수 있는 분야 중 하나다.이 글에서는 대충 이런 스니퍼를 만들어 보는 과정을 소개할 거다."아니, 이거 하면 안 되는 거 아니야?"라는 생각이 들 수도 있는데, 이 글의 핵심은 다음과 같다.어차피 말 안 하면 안 걸린다네트워크 스니핑 자체는 연구나 학습 목적으로 하면 괜찮다.문제는 회사 네트워크나 공공장소에서 남의 패킷을 몰래 들여다보는 건데,그런 짓은 당연히 하면 안 된다. 하지만 로컬 네트워크에서 연습용으로 하면 누가 뭐라 할 사람도 없고,내 컴퓨터에 내 프로그램 실행하는 건 내 마음이다. (근데 과도한 트래픽 생성하면 걸림)걸려도 처벌받는 수준이 .. 2024. 12. 21.
파이썬으로 PDF 데이터를 손쉽게 다루는 방법: 표 추출부터 CSV 변환까지 파이썬으로 PDF에서 표 추출 및 변환하는 법파이썬은 별걸 다 할 수 있는 언어지만, 정작 우리가 왜 쓸만한지 느끼는 순간은 딱 이런 데서 온다. PDF를 만지작거려야 할 일이 생길 때 말이다. 대부분 PDF는 "파일 형태의 감옥"이라 불릴 만큼, 뭘 뽑아내기가 쉽지 않다. 그나마 사람이 읽는 건 괜찮아도, 컴퓨터가 읽으라고 하면 땀이 삐질삐질 난다.하지만 파이썬을 쓸 줄 안다면 얘기가 조금 달라진다. 여러 라이브러리들이 지원해주는 덕에, "무슨 PDF에서 뭘 뽑아내라!"는 상사의 말도 겁먹을 필요가 없다. 물론 이 글의 핵심은 뭘 뽑아내고 어쩌고 하는 정보는 아니고, 어차피 파이썬으로 가능하다는 자신감을 불어넣어 주려는 거다.PDF에서 데이터를 뽑는 이유는 단순하다. 회사에서 자료 정리하라고 준 PDF.. 2024. 12. 20.
크롬 드라이버 특정 버전 다운 받는법, 모든 버전 보는법(chromedriver.exe 특정 버전 다운받기) chromedriver 특정 버전 찾아서 설치하는게 매우 귀찮습니다 https://googlechromelabs.github.io/chrome-for-testing/known-good-versions.json 위 링크는 구글이 큐레이팅한 좋은 버전 크롬들 모음이구요. chromedriver.exe 특정 버전 찾아서 다운받는 방법 (초간단 ㄹㅇ) ''' 아래처럼 원하는 버전 입력하고 json 들어가면 다운받을 수 있는 리스트가 쫙 나옵니다 ..'''https://googlechromelabs.github.io/chrome-for-testing/내가.원하는.버전.여기.json  이거면 requests 모듈로 다운받기도 쉬움외쳐 ! ㄹㅇ 갓 구글 2024. 12. 16.
코딩 튜토리얼, 예제 지옥으로부터 탈출하자 튜토리얼만 물고 늘어지는 당신, 답답하지 않나?인터넷에 넘쳐나는 튜토리얼, 처음엔 그게 전부인 것처럼 보일 거다. 하지만 조금만 들여다보면 알게 될 거다. 튜토리얼은 결국 누군가가 깔아둔 ‘노선도’일 뿐, 거기서 한 치도 벗어나지 못하면 그냥 턱걸이 수준에 머무는 거다. 다들 모범 답안만 찾아 헤매다가 결국 똑같은 결과만 내놓는다. 그게 재미있나? 차라리 작게라도 내 손으로 만들어보고, 실수하고 부딪치면서 어떻게든 헤쳐나가는 그 과정이 진짜다. 문제를 직접 정의하고 해결해보려는 시도가 없이, 이리저리 주어진 길만 따라가면 결국 어디로 가는지 모르게 된다. 이게 뭐, 앞만 보고 뛰는 러닝머신 위의 햄스터랑 뭐가 다르겠나.1. 튜토리얼, 전부 끊으란 소린 아니다. 하지만…무조건 ‘튜토리얼 금지!’ 이런 극단.. 2024. 12. 15.
앞으로 키워드 뭐 쓸지 기록해놓자 지금 만들고 있는건 '문서 요약  프로그램' 개발 강의. 글 요약 프로그램, 문서 요약 프로그램으로 많이 들어올거니까 월천무기.com 게시판 만들어서 "칼럼" 게시판으로 만들어서 글 포스팅 해놓자. 여기 파코대는 파이썬 기본 문법 관련된 글들? 외주 개발하면서 프로그램 판매하면서 느낀것들 기록하면 되겠고 사이트 / 월천무기1. 문서 요약 프로그램 (이게 더 메인 키워드네)2. 글 요약 프로그램  끝없이 성장하고, 창의적인 아이디어를 내놓아야한다 2024. 12. 13.
[2강/완성코드] 문서 요약 프로그램 개발강의 Python GUI 프로그램 개발 2강 완성 코드import sys, osfrom PySide6.QtWidgets import QWidget,QApplicationfrom PySide6.QtWidgets import ( QApplication, QWidget, QVBoxLayout, QHBoxLayout, QSpacerItem, QSizePolicy, QPushButton, QLineEdit, QComboBox, QTextEdit, QLabel, QSlider)from PySide6.QtGui import QIconfrom PySide6.QtCore import Qt# StylesCOPY_BUTTON_STYLE = """ QPushButton { background-color: #4CAF50; color: w.. 2024. 12. 11.