wonder

정보보안 스터디 - 1주차 3일 - 네트워크 프로토콜 본문

Security/Network

정보보안 스터디 - 1주차 3일 - 네트워크 프로토콜

wonder12 2022. 10. 21. 09:21
프로토콜의 종류
데이터 전송하는 역할
Layer4 TCP/UDP (참고로 ip위에 tcp가 있기 때문에 상위 프로토콜이라고 합니다.)
Layer3 IP
Layer2 ETH
도와주는 역할
ICMP
ARP

TCP

연결을 되었는지 먼저 확인하고 그다음 실제서비스를 진행합니다.

연결확인:
* 3 HandShake
A --------------------B
SYN>>>>>>>>>>>> (들리니?)
SYN,ACK <<<<<<< (어 들려, 너는?)
ACK>>>>>>>>>>>> (나도 들려)
요청수행:
http 요청>>>>>>> GET /주소
응답<<<<<<<<<< 200 OK

기능

*세그먼트 방식: 마치 조립식 가구 처럼

파편으로 분리해서 처리해야 빠릅니다.

그 다음 완성품으로 조립합니다.

* Stop and Wait VS Sliding Window

Stop and Wait

하나씩 응답하고 요청합니다.

Sliding Window (각자의 특성이 있지만 TCP에 유리합니다.)

하나의 요청이 응답을 하면

응답을하면서 양을 늘려 요청을 보냅니다.

양을 늘리다가 혼잡해지면 반으로 줄입니다.

*오류 제어

Checksum (Good/Bad)

오류 났다면 재전송하는 역할도 합니다.

사용 포트 예시)

http, telnet 등 외부와 통신 연결이 필요한 포트라면 TCP를 사용합니다.

참고로

SYN 요청을 보냈는데

저 그 포트 아닌데요./닫혀 있어요. ==> RST 을 보냅니다.

맞아요. ==> ACK, SYN 같이 보냅니다.

UDP

TCP에 비해 상대적으로 하는 일이 없어서 크기가 작습니다.

Source Port

Destination Port

Checksum

으로 구성되어 있습니다.

dns, ftp 등 통신 연결 불필요할 때 UDP 사용합니다.

IP Precedence 우선순위

4000을 전송했는데

MTU 최대크기가 1500이라면 1500/1500/1000으로 3개를 나눠서 보냅니다.

TTL(Time-To-Live) D

패킷 루프를 방지합니다.

목적지까지 거리 측정이 가능합니다.

OS별 TTL개수

CISCO 255

WIN 128

LINUX 64

WIN7 -------------R1 -----R2-------R3-------LINUX
TTL=128 하나씩차감>> >>>>>>>>>>>>>>>>>>TTL=125
TTL=61<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<TTL=64
TTL을 보면서 목적지가 리눅스 서버라는 것을 짐작할 수 있고,
TTL이 지나면서 하나씩 차감되므로 중간에 라우터가 3개있다는 것을 알 수 있습니다.

패킷루프란?

A----------B----------C

만약 B와 C사이에서 오류가 발생한다면 자꾸 맴돌다가 TTL은 계속 차감되다가 drop 될 것입니다.

그것을 방지하는 역할을 합니다.

ICMP

: IP로 데이터 전송하기 전에 테스트 먼저하는 프로토콜입니다. (IP를 도와줌)

명령어는 ping 또는 tracert 등이 있습니다.

Echo-Request 요청

-------ICMP

SA 192.168.1.1

DA 192.168.1.200

-----IP

SA

DA

-----ETH

ping [ip] -t : 4개만 보내지말고 계속 그만할 때까지 보냅니다.

ping [ip] -l 1000 : 1000바이트로 핑을 무겁게 보냅니다.

과도한 바이트 공격(DOS공격)이 가능하기 때문에 60000정도로 크기가 제한 되어 있습니다.

그래서 www.naver.com는 ping(ICMP) 자체를 막아놨습니다.

tracert [ip] : 목적지까지 어떤 경로로 가는지 추적이 가능합니다.

제 컴퓨터에서 kt서버까지 가는데 경로가 뜹니다. (그래서 TTL=58이였던 것 이네요.)

ARP

: 주소 변환 프로토콜 (ETH를 도와줌)

A(13.13.10.1) >>>>>>>>>>>> C(13.13.10.3)
echo-request
----------ICMP
SA 13.13.10.1
SA 13.13.10.3
----------IP
SA 출발지MAC 00D0.584C.1278
DA 도착지MAC
----------ETH

도착지 IP는 알지만 MAC주소는 없습니다.. MAC을 먼저알아야됩니다.

도착지 IP는 13.13.10.3로 설정해놓고 MAC은 FFFF.FFFF.FFFF로 일단 설정해놓습니다.

ARP 브로드캐스트 요청 메세지(ping 등)를 보내면

B, C, D 등 요청메세지가 여러곳에 도달하겠지만 IP가 다르기 때문에 Drop이 되고

C에 대한 ARP응답을 받을 수 있습니다.

arp -a : 기록된 주소가 뜹니다.

arp -d : 기록된 주소를 삭제합니다.

arp -s : MAC주소를 수동 설정 가능합니다.

우리가 인터넷을 열면 바로 학습이 되고, ping 요청을 하거나 받아도 학습 되어있습니다.

단 컴퓨터를 끄면 사라져있습니다.

Comments