목록네트워크 (10)
안 쓰던 블로그
1. pwntools 기능 공부 및 정리 - pwntool의 사용법 및 다양한 기능 정리 https://foxtrotin.tistory.com/289?category=890138 pwntools 기본 사용법 pwntools pwntools는 CTF 프레임워크이자 익스플로잇을 쉽게 짤 수 있게 해주는 라이브러리이다 공식 깃허브: github.com/Gallopsled/pwntools 공식 문서: docs.pwntools.com/en/stable/# 설치 apt-get update apt.. foxtrotin.tistory.com 2. pwntool을 이용한 간단한 문제풀이 덧셈 foxtrotin.tistory.com/290?category=890138 pwntool을 이용한 문제 풀이 pwntool 기본 ..
클라우드 서비스 모델 Cloud Service Model 1. Infrastructure as a Service (IaaS) 기업과 스타트업의 서비스 구축을 위한 네트워크 장비, 저장장치(스토리지), 서버를 빌려주는 클라우드 서비스. 사용한 만큼 비용을 지불한다 = 컴퓨터 대여 필요한 즉시 인프라를 임대받을 수 있어 즉시 개발을 진행한 후 서비스를 개시할 수 있고, 사용자의 유입량에 맞춰 인프라를 유동적으로 확장하거나 줄일 수 있으며, 인프라 관리 인력을 최소화한 후 이들을 모두 서비스 개발에 투입할 수 있어 매우 경제적이다. 예) Amazon Elastic Compute Cloud(EC2), Amazon S3 사용자의 고민: 인프라 관리 비용 및 복잡도, 과대/과소 컴퓨팅 자원 해결책: 클라우드 서비스..
console.cloud.google.com/ Google Cloud Platform 하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요. accounts.google.com 링크 들어가서 프로젝트 생성 없으면 만든다 메뉴-Compute Engine-VM 인스턴스 선택 만약 크레딧이 없으면 무료 평가판을 등록하고 온다 로딩 기다렸다가 VM인스턴스 만들기 이름, 리전, 머신 유형 선택 부딩 디스크를 우분투 선택 방화벽 HTTP 트래픽 허용 만들기 여기의 외부 IP를 복사해 둔다 puttygen를 켜서 개인키를 생성한다 www.puttygen.com/#Download_PuTTYgen_on_Windows PuTTYgen Download Download P..
이전 글 헤더들 정보: foxtrotin.tistory.com/324 ARP 패킷 만들고 전송하기: foxtrotin.tistory.com/323 RP 스니핑 프로그램 ARP reader: foxtrotin.tistory.com/325 pcap 함수 pcap_findalldevs(&alldevs, errbuf) 네트워크 이더넷들을 찾는 함수 alldevs에 찾은 이더넷 정보 저장하며, 에러 시 errbuf에 에러를 저장한다 pcap_freealldevs(alldevs) 해당 네트워크를 제외한 다른 네트워크를 해제하기 위한 함수 pcap_open_live(name, 65536, 1, 1000, errbuf) 실제 네트워크 이더넷의 패킷을 캡처 하는 함수 name: 장치이름 65536: 패킷의 길이 1: 모..
이전 글 헤더들 정보: foxtrotin.tistory.com/324 ARP 패킷 만들고 전송하기: foxtrotin.tistory.com/323 pcap 함수 pcap_findalldevs(&alldevs, errbuf) 네트워크 이더넷들을 찾는 함수 alldevs에 찾은 이더넷 정보 저장하며, 에러 시 errbuf에 에러를 저장한다 pcap_freealldevs(alldevs) 해당 네트워크를 제외한 다른 네트워크를 해제하기 위한 함수 pcap_open_live(name, 65536, 1, 1000, errbuf) 실제 네트워크 이더넷의 패킷을 캡처 하는 함수 name: 장치이름 65536: 패킷의 길이 1: 모든 패킷을 잡을 수 있는 promisc모드로 설정 1000: 패킷을 읽는 시간 errbuf..
ARP 헤더 구조 ARP 패킷 만드는 과정 1. 헤더 구조에 맞춰서 구조체를 만들어 주고, 각 값을 채운다 2. 소켓을 열고 보낸다 3. 와이어 샤크에서 ARP 패킷으로 잘 잡히는지 확인한다 코드 #include #include #include #include #include #include #include #include //htons: 엔디안 변경 struct eth_hdr{ //이더넷 헤더 unsigned char h_dest[6]; //이더넷 목적지 주소 6바이트 unsigned char h_source[6]; //이더넷 출발지 주소 6바이트 unsigned short h_type; //다음 패킷 타입 정보 2바이트 } __attribute__((packed)); struct arp_hdr{ //..
TCP 연결 설정 과정은 3-way handshake TCP 연결 해제 과정은 4-way handshake이다 3-way handshake 1단계 두 시스템이 통신을 하기 전에 클라이언트는 포트가 닫힌 Closed 상태이다 서버는 해당 포트로 항상 서비스를 제공할 수 있는 Listen 상태이다 2단계 클라이언트가 처음 통신을 하려면 임의의 포트 번호가 클라이언트 프로그램에 할당되고, 클라이언트는 서버에 연결하고 싶다는 의사 표시로 SYN Sent 상태가 된다 3단계 클라이언트의 연결 요청을 받은 서버는 SYN Received 상태가 되고, 클라이언트에 연결을 해도 좋다는 의미로 SYN + ACK 패킷을 보낸다 4단계 클라이언트는 연결 요청에 대한 서버의 응답을 확인했다는 표시로 ACK 패킷을 서버로 보낸..