> TCP 를 사용 하는 어플리케이션 - 우리가 사용하는 대부분 프로그램 - 게임, 카카오톡 , 웹 , 등등 =>기업에서 자체적으로 만든 프로토콜을 사용 - FTP , HTTP 1. FTP( File Transfer Protocol ) - 파일 서버( 웹 하드 사용하지 않아도 됨 ) - FTP Bounce Attack(scan) - bounce scan 이 좀 더 정확한 표현 - 현재는 통하지 않는 방식 - 테스트 불가 - 시험문제는 자주나옴 >> FTP 사용방법 1) FTP server 1> server 설치 -vsftpd, proftpd, .... #> yum -y install vsftpd 2>사용자 설정 - 사용자 - 리눅스 계정과 동일 - FTP 사용하려면 리눅스 계정이 반드시 있어야함 #> u..
1) 가짜 응답 받아오기 dns_spoofing 실행 #vi dns_spoofing.py from socket import* import struct import ip as _ip import udp as _udp import dns as _dns import eth as _eth def make_chksum(header): size=len(header) if (size %2) !=0 : header=header+b'\x00' size=len(header) header=struct.unpack('!'+str(size//2)+'H',header) chksum=sum(header) carry=chksum & 0b_1111_1111_0000_0000_0000_0000 carry = chksum >> 16 wh..
1) DNS 헤더 분석 -> 숫자 형태의 헤더를 사용한다. 1. Transaction ID ( 2byte ) - 통신에 대한 식별번호 2. flag - DNS의 메세지 타입 ( 2byte ) --> query , query response 응답 -> 최상위 비트가 1로 표현 요청 -> 최상위 비트가 0로 표현 3. questions ( 2byte )- 질의 개수 : 질의하려는 도메인의 갯수와 일치 - 데이터의 크기가 커지면 자동으로 TCP변환 -> query 필드의 개수 ->> queries 의 개수 4. answer ( 2byte ) 질의하려는 도메인에 물어봄 - 응답 필드 개수 -> answers : 2개 -> 필드의 개수를 나타냄 ! 한번에 여러개의 도메인을 질의할 수 있다. 그..
2) 도메인 설정 - 정규 도메인 규정을 맞춰야 함- 실제 도메인 정보를 가지고 올 수 있으므로 응답 오는 아이피를 확인해야한다 > /etc/named.rfc1912.zones #> vi /etc/named.rfc1012.zones에 추가 해줌 zone "hhhae.net" IN { type master; file "hhhae.net.zone"; allow-update { none; }; }; >>오타 확인 1. conf 파일 일때 named-checkconf 2. zone 파일 일 때 named-checkzone #> cd /var/named 로 이동 #> cat named.localhost 에서 카피 #> cp named.localhost hhhae.net.zone #> vi hhhae.net.zon..
DNS( Domain Name System ) - 문자 주소를 아이피로 변환 받음ex) 도메인 : www.naver.com 이란 주소 도메인 -> 영역을 묶어주는 것 >국가 ( kr,jr, us ...)>미국 ( .gov ->미국정부가 사용하는 도메인 )>국제 ( com, org, net ... ) ▶ DNS 구조 ( 트리 형태 계층 구조 )1.Root DNS -> 최상위 DNS 서버 2. DNS서버 (1차 도메인 / 2차 도메인 ) EX) www.daum.net 주소 동작 방법 ( 역질의 방식 )> Root DNS에 .net의 DNS서버 주소받아옴 > .net DNS 에 .daum 의 DNS 서버 주소 받아옴 > .daum DNS 에 www 의 주소 받아옴 --> 시간이 오래 걸리므로 cash 서버를 ..
1. UDP를 사용하는 어플리케이션 DHCP (IP 를 몰라도 인터넷을 사용 가능하게 함 ) DNS( 도메인 --> 숫자로변환 ) 2. TCP 를 사용하는 어플리 케이션 - 게임, 웹 , 메신저, ... - FTP(파일전송 프로토콜), HTTP(웹) FTP : 시험문제에는 나오지만 취약점이 없음 1.DHCP - Dynamic Host Configuration Protocol - bootp 확장된 버전 (boot protocol) - 과정만 이해 해도 충분 >>DHCP 서버 구축 ▷ MITM - sniffing (패킷을 가로 채는 것 ) 1) DHCP deamon 설치 ▷ 데몬 ? - 종료되지 않는 프로그램 - 네트워크 서비스가 가능한 프로그램 #yum install dhcp 1-1) DHCP 데몬 설정 ..
▷application ( 어플리 케이션 ) - 통신하는 어플 ex) 카카오톡 - 데이터 전송과는 무관 - 한글 , 영어 -> 어떠한 내용들을 주고받을거냐의 목표 ▷하위 4계층 (1~4) - ethernet header + ip header + TCP or UDP - 내용을 주고 받을 수있음 => 목소리가 전달되는 방법 (매개체가 공기(하위 4계층)라는 것 / 진동 ) ▶ Tool 사용 !기사 시험에 출제가능 ( 사용법 ) >> 와이어 샤크 - 네트워크 모니터링 도구 - 무료, 기능도 좋음 - 캡쳐 내용의 전체 흐름을 읽어야 함 사용법) https://www.wireshark.org/download.html -pcap 패킷 캡쳐의 약자 -와이어샤크 켜논 동안에만 수집 # 3개의 패널 기본 구성 1) pa..
1. 포트 스캐닝 ( # 사용자체는 불법 ) 1) FULL scan - TCP Session(3-way-handshake)을 맺는 방법 ncat : nc, netcat - cat의 네트워크 버전 session 이 맺어지면 포트가 열려있는 것이라고 알수 있음 (세션을연결하고데이터를 전달받는 test를 하는데 유용한 방법 중하나) !단점 - 로그에 기록이 남는다 2) Half Open scan ( Stealth scan ) - 세션을 완전히 맺지 않는 방식을 택함 - 기록에 남지 않는다(시험문제에서만 안남음 / 실제로는 남음) 1) 열려있는 포트번호 사용 : SYN 사용 -->SYN.ACK가 오면 열려있는 포트 from socket import* import struct import ip as _ip imp..
1.SYN ( 동기화응답 보내기 ) sock.send() ! RST 패킷 차단iptables 방화벽을 이용해야 한다. [root@localhost ~]# iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP# 나가는 패킷 차단 [root@localhost ~]# iptables --list Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination DROP tcp -- anywher..
TCP : 연결지향적 데이터전송전> Browser와 Server 간의 연결을 성립하는 과정이 데이터를 전송하는 과정전에 이루어짐 ex) 전화통화시 통화내용을 말하기 전에 상대편을 확인하는 작업과 동일 통신선로를 만들기 위해서는 3번의 데이터 전송이 일어나는데 이것을 three way handshake라고 함 그림참조 ) three way handshake --> 정식데이터는 통신선로를 통해서 교환 --> TCP : 연결 지향 프로토콜이라고 부름 >> UDP 는 이러한 과정이 없이 단순히 데이터 전송 -->Datagram protocol >.TCP Header : 최소 20바이트 만족 - 최대 60바이트 (가변적) 1) 출발지 포트(2byte) 2) 도착지 포트 (2byte) * 중요 *3) Sequenc..