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..
Layer 4 계층 : L4 ▶ udp의 chksum 계산 pseudo=ip.src+ip.dst+b'\x00'+ip.type+udp.len+udp.get_header() udp.set_chksum(make_chksum(pseudo)) [ #vi udp.py ] import structclass Udp: def __init__(self,data=None): if data !=None: (self.src,)=struct.unpack('!H',data[:2]) (self.dst,)=struct.unpack('!H',data[2:4]) (self.len,)=struct.unpack('!H',data[4:6]) (self.chksum,)=struct.unpack('!H',data[6:8]) self.data=da..
1. 전부 더해준다 2. 올림수 제거 3. 1의 보수 체크 def make_chksum(header): size=len(header) #짝수를 맞춰줌 if (size %2) !=0 : header=header+b'\x00' size=len(header) header=struct.pack('!'+str(size//2)+'H',header) chksum=sum(header) #올림수 있는지 확인 carry=chksum & 0b_1111_1111_0000_0000_0000_0000 carry >>=16 while carry !=0: chksum =chksum & 0b_0000_0000_1111_1111_1111_1111 chksum =chksum +carry carry=chksum & 0b_1111_1111_..
▷ ip는 취약점이 없음 1. DoS( Denial of Service ) Attack - 서비스 거부 공격 - QoS (DoS 와는 반대되는 개념 ) Quality of Service >>>시험문제 많이 나옴 1) Tear Drop - fragment offset ( 아이피에 대한 취약점이 현재없기때문에 시험에는 나옴 ) 2) Smurf Attack - 출발지와 도착지 아이피를 조작 (IP Spoofing) - 목적지를 브로드 캐스트 아이피를 사용 - 출발지를 타겟 주소로 사용 ip.set_src('192.168.4.134') ip.set_dst('192.168.4.255') eth.set_dst('FF:FF:FF:FF:FF:FF') --> 응답이 한쪽으로 몰린다 (src의 아이피에 부하가 걸린다 ) ..
>> 이너뎃(Ethernet) 헤더 + 아이피(IP) 헤더 사용 Ethernet 헤더 : 같은 네트워크 상에서 Mac 주소를 이용한 통신 IP 헤더 : 다른 네트워크 상에 있는 호스트와 ip주소를 사용하여 통신 1. ip packet 을 통해서 전달할 데이터 데이터 : ICMP ( ping ) ICMP 메세지는 오류보고 메세지와 질의 메세지로 나뉨 오류보고 메세지 : 라우터나 호스트가 IP 패킷을 처리하는 도중에 탐지하는 문제를 보고 질의 메세지 : 호스트나 네트워크 관리자가 라우터나 다른 호스트로부터 특정 정보를 획득하기 위해 사용 2. ICMP 헤더 - 매우 단순한 구조 - 원래는 네트워크 상에 에러를 제어할 목적으로 나왔으나 현재는 잘 사용되지 않는다 - Internet Contorl Message..