본문으로 바로가기

- 데이터 전송 프로토콜(계속)

 

3. IP(Internet Protocol)

 - Layer 3 계층 프로토콜
 - 비연결 지향성 프로토콜
 - 로컬 환경-> 리모트 환경으로 데이터 전송 담당,,, 내부네트워크에서 외부네트워크로 데이터 전송
 - TTL(Time to Live) : 8bit(0~255), 거리 측정 및 패켓 루프 방지 기능(라우터가 루프돌아서 부하걸릴때 나중에 재부팅이 되는경우 있다.)
 -20바이트
 - ttl : 패킷이 살아 있는 시간 ,,,,라우터 갯수로거리 측정

 

[참고] 운영 체제 TTL 기본값

 - Cisco  255
 - Window 128
 - Linux  64

win7 -------------------R1-------------------R2---------------------R3---------Linux
라우터는 하나씩차감

 

4. 4. ICMP(Internet Control Message Protocol)
- 데이터가 잘가는지 안가는지 확인하는 프로토콜
 - 보안이 없다.
 - IP 프로토콜을 이용한 데이터 전송 여부 가능 테스트 프로토콜
 - 'ping', 'tracert' 명령어

 


*플러딩 공격 : 대량 패킷 전송 공격, 그 서버를 무력화하기 위해

LAND 플러딩 : 보내는 사람, 받는사람 주소가 같게 보내서 받는사람 서버를 부하시킨다.
*스푸핑 공격 : 공격자가 자기주소로 공격하지 않는다.  자기가 pc부하될수있음
변조 공격

 

5. ARP(Address Resolution Protocol)
       
 - 주소 변환 프로토콜
연락처
홍길동 01099999999
ex) 홍길동을 누르면 이것에 대응되는 주소가 셋팅이 된다.

 - 목적지 IP 주소에 대한 MAC 주소를 설정하는 프로토콜
 - 만약, 목적지 IP 주소에 대한 MAC 주소가 없을 경우, 다음과 같이 ARP 요청 및 응답 실시

 

 

윗사진은 arp -a실행과정이다. 현재 내부네트워크에서 사용중인ip를 나타내며 인터넷 주소를 물리적 주소로 변환시킨다.

 

DNS                                  관련 명령어 :    nslookup: 도메인주소를 dns주소로 찾아준다.
---------------------------------------------------------


TCP,UDP
----------------------------L4    관련 명령어 : nestat -n, nestat -n -a

IP                                     관련 명령어 : ipconfig, ipconfig /all, ifconfig
ICMP                                관련 명령어: ping -t(계속),  tracert ,,,,
ARP                                  관련 명령어: arp -a , arp -d, arp -s x.x.x.x yy-yy-yy-yy-yy
---------------------------L3


 

4. ip 주소 특징

IP 주소

 - Layer 3 계층 주소
 - IP 헤더 안에 포함된 주소

 - 주소 체계 : 32bit (2^32개 = 4,294,967,296개)

 - IP 주소는 임대 서비스이다

 - IP 주소 고갈 문제 대책 : 서브넷 마스크,, IPv6 주소 전환

 

@ 서브넷 마스크 : 아이피 낭비를 줄이기 위해 도입
-32bit
-공통비트 : 1(네트워크 아이디)
-비공통비트 : 0(호스트 아이디) . ip갯수 확인
- 특징: 1이 연속되어야 한다.


                                                 네트워크 아이디     호스트 아이디     IP 주소 개수

121.160.13.45     255.255.255.0         121.160.13                 .45              2^8개
121.160.13.45     255.255.0.0             121.160                      .13.45       2^16개
121.160.13.45     255.0.0.0                 121                         .160.13.45   2^24개
121.160.13.45     255.255.255.255         121.160.13.45             없음         2^0개 = 1개
0.0.0.0  0.0.0.0  x  32bit  2^32개 = 전체

 

 

@ IP 주소 클래스

 - A, B, C, D, E 클래스

1. 유니케스트 주소
 
 - 유니케스트 전송때 사용하는 주소이며, 장치에 설정하는 주소이다.

A Class(0~127) : 맨 앞에 비트가 '0'인 공통 비트 클래스

0.0.0.0    ~    127.255.255.255  기본 서브넷 마스크 : 255.0.0.0
0 0000000.     0 1111111.   네트워크 아이디당 IP 주소 개수 : 2^24개
             (16,777,216개)
B Class(128~191) : 맨 앞에 비트가 '10'인 공통 비트 클래스

128.0.0.0    ~    191.255.255.255  기본 서브넷 마스크 : 255.255.0.0
10 000000.       10 111111.   네트워크 아이디당 IP 주소 개수 : 2^16개
             (65,536개)
C Class(192~223) : 맨 앞에 비트가 '110'인 공통 비트 클래스

192.0.0.0    ~    223.255.255.255  기본 서브넷 마스크 : 255.255.255.0
110 00000.       110 11111.   네트워크 아이디당 IP 주소 개수 : 2^8개
             (256개)

D Class(224~239) : 맨 앞에 비트가 '1110'인 공통 비트 클래스

224.0.0.0    ~   239.255.255.255 서브넷 마스크 개념 X
1110 0000       1110 1111.

 

2. 멀티케스트 주소

 - 멀티케스트 전송때 사용하는 주소이며, 장치에 설정이 안되는 주소이다.

 - 서버가 패켓을 멀티케스트로 전송할 경우, 목적지 IP 주소로 설정된다.

 

와이어셔크 필터

1. ip.addr == 172.16.5.254  :ip가 출발지든 도착지이든 해당되는 모든 ip를 찾아준다.

 

 

 

2. ip.addr == 172.168.5.254 && tcp.port eq 80  , and는 &&, OR는 || 연산자를 사용

tcp포트가 80번이며 ip가 172.168.5.254를 찾는다.

 

src는 출발주소, dst는 목적주소, !는 그것을 제외한 나머지를 나타낸다... 요청과 응답을 같이 보려면 ip.addr == 주소

 

3. icmp[0] == 8 OR icmp.type eq 8 <- icmp프로토콜요청을 나타냄

   icmp[0] == 0 OR icmp.type eq 0 <- icmp 응답을 나타냄

 

4. host 10.1.2.3 출발지와 목적지 IP 주소가 10.1.1.1인 패킷을 보여줍니다.

 

5. www.google.com으로 전송하는 패킷{icmp)

icmp
ip.addr == 112.170.145.234(자신의 주소) && icmp
ip.addr == 112.170.145.234(자신의 주소) && icmp.type eq 0(요청)

ip.addr == 112.170.145.234(자신의 주소) && icmp.type eq 8(응답)
ip.addr == 112.170.145.234(자신의 주소) && icmp[0] == 0 || icmp[0] == 8

6. 로컬 pc에서 목적지주소로 전송한 icmp캡쳐

또는 ip.addr == 목적지 주소 && icmp.type == 0

       ip.addr == 목적지 주소 && icmp.type == 8

      ip.addr == 목적지 주소 && icmp.type == 0 || icmp.type == 8

왜나하면 icmp프로토콜은 응답하면 되돌아오기 때문이다.

 

 

7. www.google.com' DNS(53) 요청 및 응답 및 확인

host www.google.com && dns
host www.google.com && udp.port eq 53 dns는 udp프로토콜이다.

 

8. 50.207.194.129' 텔넷(23) 접속시 TCP 3-way 핸드 쉐이킹 동작 및 텔넷 데이터 내용  및 확인

ip.addr == 50.207.194.129 && tcp.port eq 23

 

9. 네이버와 TCP 3-way 핸드(syn, syn,ack, ack) 쉐이킹 동작  및 확인

host www.naver.com && tcp

 

10. '내부네트워크에서 목적지주소(192.168.1.78) 에 대한 ARP 요청 및 응답 캡처 및 확인

arp.src.hw_mac == d0-50-99-ad-51-69(출발지주소) || arp.dst.hw_mac == 목적지 주소 mac

 

- 목적지 주소 mac를 알아내는 방법(같은 네트워크 인경우)

 ping 목적지 아이피 주소 ip-> arp -a 목적지 주소 ip