본문 바로가기
네트워크

scan, tcp/udp, nmap 계속 복습 및 정리

by meanjung 2021. 7. 1.

혼자 공부하려고 작성하는 포스트입니다. 친절한 설명이 아닐 수 있습니다.


전송계층

IP에 의해 전달되는 패킷의 오류를 검사하고 재전송 요구 등의 제어를 담당하는 계층

 

TCP/UDP 공통점

두 프로토콜 모두 패킷을 한 컴퓨터에서 다른 컴퓨터로 전달해주는 IP 프로토콜을 기반으로 구현되어있다.

 

TCP

Transmission Control Protocol

보내고, 답변을 받아 확인하고... 상호적인 데이터 송신 과정을 가진다.

신뢰성이 요구되는 애플리케이션

byte stream

순서 보장

TCP packet : segment

UDP

User Datagram Protocol

보내고, 보내고, 보내고... 일방적인 데이터 송신 과정이다.

간단한 데이터를 빠른 속도로 전송하고자 하는 애플리케이션

message stream

순서 보장 X

UDP packet : datagram

 

UDP Scan

닫혀있는 포트의 경우, 클라이언트는 해당 메시지를 송신한다.

nmap -sU ip주소

 

TCP Scan

열려있는 포트의 경우, 3-way handshaking때문에 로그 기록이 남는다. 

로그 기록을 남기지 않으려면 TCP half open scan(-sS)을 사용한다.

nmap -sT ip주소

 

Stealth Scan

스캔 작업을 할 때 의도적으로 무의미한 값을 넣는 경우도 있다.

서버의 활성화 유무만 확인하기 위해 세션을 수립하지 않는다. -> 로그기록이 남지 않는다.

 

방화벽으로 차단한 영역을 검사하거나, IPS/IDS에서 탐지가 안되도록 진행할 때 유용하다.

open port로 FIN 패킷을 보내면 이 패킷을 무시하고, 

closed port로 보내면 RST패킷이 온다.

이 스캔은 주로 UNIX계열 OS에서만 사용이 가능하며, 루트 권한이 필요하다.

  • TCP FIN Scan : -sF
  • TCP half(syn) Scan(=tcp half open scan) : -sS
  • Xmas Scan : -sX
  • TCP NULL Scan : -sN

여기서부터는 내 개인적인 프로젝트 얘기

나는 지금 프로젝트에서 해당 pc가 사용하는 포트를 모두 파악하고자 한다.

 

만약 그냥 스캔을 한다면, state가 open인 port만 출력된다. 이때, closed가 아닌, filtered된 port도 알아야하는데.. 하는 이슈가 생겼다.

그래서 찾아보다가 Stealth Scan 중에 FIN Scan이라는 것을 찾아냈다.

 

FIN Scan은

공격자는 FIN 패킷을 보내 열린 포트를 알아낸다.

RST 패킷이 돌아온 경우 포트 상태는 closed라고 간주하고

재전송해도 응답이 없는 경우는 open|filtered라고 간주한다.

ICMP 도달 불능 오류메시지가 반환되는 경우는 filtered라고 간주한다.

따라서 nmap -sF를 했을때 state가 open|filtered라고 뜬다!!

 

* Stealth 스캔은 모두 state가 open|filtered라고 반환되는 것 같다... 뭘 사용할까를 고민해봐야겠다.

* ICMP : Internet Control Message Protocol/ 여러 정보를 전달하거나 컨트롤하는 용도로 사용되는 프로토콜

  1. error 알림
  2. 진단/ 정보전달 메시지

'네트워크' 카테고리의 다른 글

scapy를 활용한 패킷 스니핑, 변조, 재전송  (0) 2021.07.05
tcp/ip, IPv4 패킷, scapy  (0) 2021.07.04
nmap - ip scan/ port scan  (0) 2021.06.30
스캔 - tcp open scan, stealth scan, udp scan  (0) 2021.06.30
tcp udp 개념  (0) 2021.06.30

댓글