전체 글 445

[Python] glob - 디렉토리내 있는 파일을 리스트로 리턴

C:\Python에서 모든 파일을 모두 찾기 import glob for i in glob.glob(r'C:\Python\*'): print(i) C:\Python에서 python으로 시작하는 파일 찾기 import glob for i in glob.glob(r'C:\Python\python*'): print(i) C:\Python에서 .exe로 끝나는 파일 찾기 import glob for i in glob.glob(r'C:\Python\*.exe'): print(i) C:\Python에서 한 단계 아래 하위 디렉토리에서 .py로 끝나는 파일 찾기 import glob for i in glob.glob('C:\Python\*\*.py'): print(i) C:\Python\Scripts에서 한 단계 아..

[Python] 윈도우 netstat 명령어를 활용하여 아웃바운드 IP와 포트 추출

파이썬을 이용한 윈도우의 netstat -n 명령어를 이용하여 아웃바운드IP와 포트 그리고 빈도수를 출력 * netstat : 모든 연결과 수신 대기 포트를 표시 * option : -n 주소와 포트 번호를 숫자 형식으로 표시 netstat -n 명령어의 출력을 지정된 파일에 적재. (sample 초당 100번. 많으면 많을 수록 더 많은 데이터가 수집) import os import time cnt = 0 while cnt > 경로') # netstat -n 지정된 경로 파일적재 cnt += 1 time.sleep(1) 자신의 IP와 127.0.0.1을 제외한 IP와 포트 그리고 빈도 수를 출력 import collections import re i..

[Python] sort, reverse와 sorted, reversed 정렬 차이

sort : 리스트 자료형의 함수. 리스트 요소를 정렬 lst = [ i for i in [5,4,3,2,1]] lst.sort() print(lst) ------------------------------ [1, 2, 3, 4, 5] reverse : 리스트 자료형의 함수. 리스트 요소를 역순으로 정렬 lst = [ i for i in range(5)] lst.reverse() print(lst) ------------------------------ [4, 3, 2, 1, 0] sorted : iterator의 요소를 정렬하여 리턴 하지만 원본은 변경하지 않는다. (파이썬 내장함수) lst = [ i for i in [5,4,3,2,1]] print(list(sorted(lst))) # sorted ..

[Python] Counters를 이용한 IIS 웹 로그 IP주소 빈도 수 추출

xxx.xxx.xxx.xxx IP 패턴을 가장 많은 10개 추출 IIS로그 1.3G를 샘플로 실행해 보았다. 정규식을 이용하여 원하는 데이터를 출력 import collections import re from datetime import datetime def timecheck(): return datetime.today().strftime('%X') print(timecheck()) words = re.findall(r'\d{,3}[.]+\d{,3}[.]+\d{,3}[.]+\d{,3}[.]',open(파일, errors='replace').read().lower()) print(collections.Counter(words).most_common(10)) print(timecheck()) -------..

[Python] collections - Counter 객체

collections : 파이썬의 표준 라이브러리 dict, tuple, list, set을 대체제공하는 컨테이너 데이터타입 Counter 객체 : 해시 가능 객체를 계산하기위한 dict 서브 클래스. 편리하고 빠른 성능을 제공 리스트의 단어들의 갯수 import collections cnt = collections.Counter() for word in ['A', 'B', 'C', 'C', 'D', 'D']: cnt[word] += 1 print(cnt) ---------------------------------------------- Counter({'C': 2, 'D': 2, 'B': 1, 'A': 1}) 특정 파일에서 가장 많이 사용하는 단어. (정규식 사용) import collections ..