PYTHON

    [Python] Raw소켓으로 Ping 보내기 (ICMP 스캐너)

    Ping 좀 보내본 사람이라면 아마 ICMP 패킷에 대해 알고 있을 것이다. ICMP 프로토콜의 구조는 다음과 같은데, 핵심은 Type과 Code 로 내가 수행할 행동을 정의 하는 것이다. nmap 에서는 이런 프로토콜들의 다이어그램을 제공한다. 여기서 내가 Type:8, Code:0 으로 ICMP 메세지를 보내면, 이걸 받은 상대는 Type:0, Code:0 으로 응답을 해주게 되고, 이것이 Ping 명령의 실체인 것이다. 덧붙여 tracert 명령같은 경로 추적 기능은 IP헤더의 TTL을 일부러 작게 설정해 경로상에 놓인 장비들이 TTL을 보고 패킷을 드롭 시킬때 ICMP의 TTL Exceed 메세지를 보내는 매커니즘을 이용하게 된다. (Type:11, Code:0) 긴 말 않고 한번 코드를 살펴보자..

    VSCode - Python 리눅스 원격 개발 환경

    VSCode 로 리눅스에 SSH로 붙어서 파이썬을 사용하고 싶다. 그럼 당연히 파이썬과 SSH 확장이 있어야한다. 그냥 install 누르면 vscode가 열리면서 설치 페이지가 뜬다. 귀찮은건 질색이다. https://marketplace.visualstudio.com/items?itemName=ms-python.python Python - Visual Studio Marketplace Extension for Visual Studio Code - IntelliSense (Pylance), Linting, Debugging (multi-threaded, remote), Jupyter Notebooks, code formatting, refactoring, unit tests, and more. mark..