본문 바로가기

Python

(14)
Ubuntu 에서 Python 버전 올리기 (2.7.6 -> 2.7.11) $ sudo apt-get install build-essential checkinstall $ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev $ cd /usr/src $ wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz $ tar xzf Python-2.7.10.tgz$ cd Python-2.7.10 $ sudo ./configure $ sudo make altinstall
클래스 다중상속 및 @classmethod 출처 : http://egloos.zum.com/mcchae/v/11031012코딩할때 쉽게 찾아보려고 퍼왔습니다 C++, C#, Java 등등의 OO 언어 마다 클래스 상속 개념은 다 있지만,다중 상속은 되는 언어도 있고 안되는 언어도 있습니다.(C++은 다중상속은 안되고 friend 개념이 들어있는 것으로 기억하는데 사용한지 십년도 더 된거 같아 이제는 기억이 가물 가물 하네요) 암튼 파이썬에서도 다중 상속이 잘 됩니다. class A():def m(self, *args, **kwargs):print '%s.m(%s,%s)' % (self.__class__.__name__, args, kwargs)def mA(self, *args, **kwargs):print '%s.mA(%s,%s)' % (self..
특정 프로세스의 패킷만 캡쳐하기 Usage:python pid_pcap.py [PID] [INTERFACE] [FILE_NAME] tcpdump 와 짧은 파이썬 스크립트를 이용해 특정 프로세스의 패킷만 캡쳐하도록 했다.원래 디버깅용으로 짜려 만든거라 소스가 상당히 난잡하다. 중간고사 끝나고 strace 를 이용해 소켓 함수 후킹을 통해 raw string 을 뽑아내는 식으로도 만들어볼 예정이다. pid_pcap.py123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475# -*-coding:utf-8-*- import sys def get_p..
스택 with Linked List 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566#-*-coding:utf-8-*- class Node: def __init__(self,data): self.data=data self.next=None def init_node(data): node1=Node(data) tmp_ptr=node1 return tmp_ptr def print_node(str_ptr): tmp_ptr=str_ptr # os.system("cls") print "\n\n\n" while 1: print tmp_ptr.data if tmp_ptr.next ==..
게임서버 최종 소스 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816..
쓰레드를 이용한 다중 클라이언트 소켓 12345678910111213141516171819202122232425262728#-*-coding:utf-8-*-from socket import *from thread import *from threading import * def handler(clientsock,addr): while 1: data = clientsock.recv(BUFSIZ) if not data: clientsock.close() break print data#clientsock.send("echoed:.." + data) if __name__=="__main__": HOST = "192.168.0.31" PORT = 10101 BUFSIZ = 1024 ADDR = (HOST,PORT) serversock = socket(..
(Fail) 쓰레드를 이용한 소켓 123456789101112131415161718192021222324252627282930313233343536373839from socket import *from thread import *import time global thread_numthread_num=0 lock=allocate_lock() def accept_client(s,id_num): global thread_num lock.acquire() thread_num=thread_num+1 lock.release() while 1: print "Recv Wait!" print str(cnt) + "is alive!" get=conn.recv(1024) print get if get == "exit\n": s.close() lock.acq..
scapy 를 이용한 ARP 패킷 123456789101112131415161718192021222324from scapy.all import *import sysimport os if(len(sys.argv)