[Python] Scapy 를 이용한 ICMP, UDP 테스트
By 지훈현서 | 2019년 5월 20일 |
파이썬은 C와 같이 초당 수만, 수십만 개 이상의 패킷을 충분히 처리할 수 있을 정도로빠르지 않으므로 일반적으로 패킷 관련 작업을 하기에는 적합하지 않을 수 있습니다. 하지만 아주 간단하게 패킷을 만들어 진단을 한다던지 테스트를 진행할 때는파이썬의 scapy 만한 것이 없습니다. 테스트 환경은 Ubuntu Server 16.04 LTS 또는 18.04 에서 진행하였습니다.(모하비 맥에서도 같이 테스트 하는데 이상없이 잘 동작합니다) 설치는 간단히 $ pip install scapy 로 설치가 가능했는데경우에 따라 오류가 발생하면, $ pip install --pre scapy 로 설치하면 잘 되었습니다. 일반적으로 1024 포트 이후의 well-known 포트를 다루지 않는다면,root
[Python] PyCharm에서 PEP8 맞추기
By 지훈현서 | 2016년 12월 19일 |
![[Python] PyCharm에서 PEP8 맞추기](https://img.zoomtrend.com/2016/12/19/a0105618_5857b1a7b5da5.png)
이제 파이썬을 사용한지 거의 9년이 되어 갑니다.그동안 파이썬의 PEP8 규칙을 거의 따르지 않고 있다가최근 프로젝트 부터는 따르려고 노력하고 있습니다. 역시 코딩 가이드는 딱딱하더라도 따르면 좋은 것이 많더군요.다음은 PyCharm 2016.3 에서 PEP8을 따르되, 필요한 일정 Warning은 억제하는 방법을 살펴보고잘 규약을 맞출 수 있는 방법을 간단하게 살펴봅니다. 일단 PyCharm IDE로 작성을 하다보면 편집기의 오른쪽 위에 누런 네모 상자도 보이고, 중간 중간 위와 같이 뭔가가 보입니다.암튼 오른편 위에 녹색 체크가 되어 있지 않으면 뭔가 코드 Inspection에서 문제가 있는 것입니다. 위에 것은 거의 디폴트 입니다. PEP8이 선택되어 있습니다. 우측 상단에 마우스를 가져다 놓으
[macos] Sierra에서 각 폴더에 .DS_Store 파일이 안 생기도록 수정
By 지훈현서 | 2017년 8월 15일 |
![[macos] Sierra에서 각 폴더에 .DS_Store 파일이 안 생기도록 수정](https://img.zoomtrend.com/2017/08/15/a0105618_59927236a7b10.png)
맥을 한 십년간 잘 사용하고 있는데 언제부터인가 각종 폴더에 .DS_Store 라는 히든 파일이 생성됩니다. 이 파일의 역할이 무엇일지 궁금했는데 위키피디어 내용에서 찾아보니,윈도우의 Disktop.ini 파일 (또는 .Thumbs.db ?) 등과 유사하게 아이콘이나Spotlight의 검색을 위한 메타 정보가 들어가 있는 것이라 하더군요. 그런데 저는 $HOME/work 폴더를 docker 또는 VM과 공유하여 git도 사용하고 기타 등등의 역할을하다보니 이 .DS_Store 가 여간 골칫거리처럼 등장하는 것이었습니다. 이것을 어떻게 없앨 수 있을까 하고 찾아보았더니,누군가가 엘카피탄에서 적용한 블로그를 찾았습니다. macos인 시에라(Sierra)에서도 잘 적용되는가 해 보았는데,잘 되는 것 같
[Python] cgitb로 자세한 오류를 찍어 봅니다
By 지훈현서 | 2017년 1월 27일 |
파이썬을 주 언어로 사용한지 십년이 다 되어 가는데도 아직도 제대로 모르고 있는부분이 많다는 생각입니다. 그것도 표준 라이브러리를 말이지요. 암튼 간단히 다음의 프로그램을 봅니다.(PyMOTW 의 cgitb 내용을 참조했습니다.) def func1(arg1): local_var = arg1 * 2 return func2(local_var) def func2(arg2): local_var = arg2 + 2 return func3(local_var) def func3(arg3): local_var = arg2 / 2 return local_var func1(1) 라는 파이썬 프로그램을 돌리면, $ python cgitb_basic_traceback.py Trace