겉바속촉

[보안] kali 가상머신 wireshark, TCP/IP 본문

IT 일기 (상반기)/네트워크 및 시스템 보안

[보안] kali 가상머신 wireshark, TCP/IP

겉바속촉 2021. 1. 19. 11:55
728x90
반응형

 

지난번에 kali linux 가상머신을 설치했습니다:)

오늘은 이 가상머신을 활용해서 이것저것 해볼게요

 

2021/01/18 - [IT 일기 (상반기)/네트워크 및 시스템 보안] - [보안] Kali Linux 가상머신

 

[보안] Kali Linux 가상머신

지난번에 Windows XP 가상머신 이미지를 실행시키고 그 Windows XP 가상머신에서 Secure Coding LAB을 실행시켜본 적이 있습니다:) 2021/01/18 - [IT 일기 (상반기)/네트워크 및 시스템 보안] - [보안] Windows XP..

2-juhyun-2.tistory.com

 

 


 

 

sudo wireshark 내려주세요.

wireshark는 패킷 모니터링하는 도구입니다.

 

 

 

eth0을 선택한 후에~

 

 

다음 빨간색으로 표시한 것 클릭!!

 

 

 

그리고 구글창으로 가보도록 할게요!!

 

 

 

 

WireShark로 와서 확인해보려고 합니다.

 

 

 

터미널에서 cat /etc/resolv.conf 내려서 나오는 nameserver 즉 dns 서버 주소를 복사하세요.

 

 

 

그럼 다음 wireshark창에 ip.addr == nameserver주소  라고 입력!!

 

 

 

 

아래 나와있는 Domain Name System (query)를 눌러서 확인해주세요.

구글에 대해 쿼리를 날리는 것이 나옵니다.

 

위에서 google.com을 쳤기 때문이죠!!

 

자세히 살펴보면 아랫줄에서 윗줄로 갈 수록 정보가 추가되어 가고 있습니다.

응용 -> 전송 -> 네트워크 -> 데이터링크 순으로 읽어나가시면 됩니다.

 

전송 : 포트번호 붙고 (udp)

네트워크 : 패킷 만들어지는 데 src, dst 주소 붙고 (ip)

데이터링크 : mac address 붙고

 

 

 

즉 dns 쿼리하는 과정을 확인할 수 있는 거에요!!

 

 

계층별 성질은 지난 포스팅 참고!!

 

2021/01/18 - [IT 일기 (상반기)/네트워크 및 시스템 보안] - [보안] OSI 7계층

 

[보안] OSI 7계층

OSI 7계층 그림구조는 빼빼로 두개가 서있는 데 각각이 호스트라고 생각하면 됩니다:) 한쪽은 정보를 보내는 송신 호스트 나머지 한쪽은 보낸 정보를 받는 수신 호스트 그리고 옆에 포스트잇같이

2-juhyun-2.tistory.com

 

 

 

 

 

 


 

 

 

TCP/IP 전송 계층

 

 

UDP 

 

  • 응용 계층에서 페이로드를 생성하면 전송 계층에서 출발지 포트와 목적지 포트가 담긴 헤더를 붙인 뒤 네트워크 계층으로 전달
  • 512바이트 미만의 페이로드를 대상으로 오직 전송 과정에만 초점을 두고 개발 
  • 실시간을 요구하는 환경에 적합
  • 단편화와 버퍼링 처리 과정을 생략한 만큼 지연 발생이 없음

 

 

 

 

 

 

TCP

 

 

  • 응용 계층에서 페이로드를 생성하면 전송 전에 3단계 연결 설정을 수행



  • 응용 계층에서 생성한 페이로드를 응용 계층 버퍼에 임시로 저장하고 전송 계층에서 SYN 신호를 담은 세그먼트 1개를 생성
  • SYN 세그먼트는 네트워크 계층, 데이터 링크 계층, 물리 계층을 통과해서 수신지로 전송
  • 수신측에서는 해당 SYN 신호를 전송 계층까지 끌어올린 후 전송 계층에서 SYN/ACK 신호를 담은 세그먼트를 생성해서 송신지로 전달
  • 송신층에서는 해당 SYN/ACK 신호를 전송 계층까지 끌어올린 후 전송 계층에서 ACK 신호를 담은 세그먼트를 생성해서 수신지로 전달해서 3단계 설정을 완성


  • 3단계 연결 설정이 완료되면 운영체제는 응용 계층 버퍼에 저장했던 TCP 페이로드를 전송 계층으로 전달
  • 전송 계층은 응용 계층에서 전달된 TCP 페이로드를 대상으로 단편화를 수행
  • 단편화가 끝나면 조각난 페이로드를 각 계층을 통과하면서 헤더를 추가해서 전달

 

 

 

 

 

 

 

UDP 헤더

 

 

 

  • 8바이트로 고정

  • 출발지 포트와 목적지 포트 : 16비트 → 응용 계층에 속하는 프로토콜의 종류가 65536개

  • 길이(length) : UDP 페이로드와 UDP 헤더를 더한 데이터 그램의 크기

  • 오류검사(checksum) : 기본적으로 비활성화

 

 

 

 

 

 

 

 TCP 헤더

 

 

 

  • TCP 헤더는 가변적

  • 일반적으로 20바이트 크기를 사용하지만, TCP Options 항목을 이용해 21바이트 이상 사용 가능

  • 출발지, 목적지 포트 : 16비트

  • 일련번호(sequence number), 확인번호(acknowledgment number) : 송신자와 수신자 사이에 주고 받는 세그먼트의 연속성을 보장하기 위해 사용

  • 오프셋(offset) : TCP 헤더의 길이 (일반적으로 20)
  • 플래그(flags) : 제어 정보
  • 윈도우(window) : 흐름 제어와 관련된 것으로 송신자가 전송할 수 있는 동적인 정보의 양
  • 긴급 포인트(urgent pointer) : 작업을 긴급하게 중단할 때 (예 : Ctrl + C ) 발생, URG 항목이 나타날 때 0에서 1로 설정이 바뀌면서 동작 

 

 

플래그 종류와 의미

CWR (Congestion Window Reduced) 혼잡 윈도우 크기 감소 신호
ECN (Explicit Congestion Notification) 혼잡 발생 신호
URG (Urgent) 긴급 데이터라는 신호
ACK (Acknowledgment) 확인 응답 신호
PSH (Push) TCP 페이로드를 포함한다는 신호
RST (Reset) 상대방과 연결을 강제로 종료하기 위한 신호
SYN (Synchronize) 상대방과 동기화를 확립하기 위한 개시 신호
FIN (Finish) 상대방과 동기화를 해제하기 위한 종료 신호

 

 

 

 

 

 

TCP/IP 네트워크 계층

 

IP 헤더

 

 

 

 

  • 일반적으로 20바이트 크기를 사용

  • IP Option 항목을 이용하면 21바이트 이상으로 사용이 가능

  • 버전(version) : IPv4(4), IPv6(6)

  • 헤더 길이(header length) : IP 헤더의 길이 (20)

  • 서비스 종류 (TOS, Type of Service) : 해당 패킷의 전송 우선 순위를 저장 (회선이 혼잡할 경우 해당 패킷에 전송 우선 순위를 부여)

  • 전체 길이(total length) : IP 헤더를 포함한 패킷 전체의 길이

  • Indentification, IP Flages, Fragment Offset : MTU(Maximum Transmission Unit: 최대 전송 단위)에 따른 패킷 분할 정보

    - IP Flages : 패킷 분할 여부를 표시

             - D : Do not flagment  ==> 더이상 받을 게 없다는 뜻
             - M : More flagment
             - X  : 사용하지 않는 것
            

  • 생존 시간(TTL, Time To Live) : 해당 패킷이 통과할 수 있는 라우터의 개수

  • 프로토콜(protocol) : 상위 계층에 속한 프로토콜 번호. 수신 측에서 해당 패킷의 속성을 파악하는데 사용 ⇒ https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers

  • 헤더 오류 검사(header checksum) : 비활성화 상태

  • 출발지, 목적지 주소 : 32비트의 IP주소

 

 

 

 

 

MTU

 

  • Maximum Transmission Unit
  • 최대 전송 단위 
  • MTU 1500 바이트인 이더넷 구간을 1400 바이트 크기의 패킷이 통과하는 경우 ⇒ 패킷 분할이 없음

 

Identification IP Flages fragemtn Offset
  X D M  
1234 0 1 0 0

- IP Flages : 패킷 분할 여부를 표시
         - D : Do not flagment
         - M : More flagment

         - X  : 사용하지않는 것

 

 

 

 

 

  • MTU 1500 바이트인 이더넷 구간을 5900 바이트 크기의 패킷이 통과하는 경우 ⇒ 패킷 분할이 발생

 

Identification IP Flages fragemtn Offset
  X D M  
1234 0 0 1 0
1234 0 0 1 1500
1234 0 0 1 3000
1234 0 1 0 4500

- IP Flages : 패킷 분할 여부를 표시
         - D : Do not flagment
         - M : More flagment

         - X  : 사용하지않는 것

 

 

 

 

 

 

 

 

728x90
반응형