오늘 끝나면
네트워크 스니핑
- ✓네트워크 스니핑의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 네트워크이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
패킷을 엿보다 — 평문은 다 읽힘 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
화이트해킹 · 13
네트워크
스니핑
네트워크에 흐르는 패킷을 그냥 엿보는 일이다.
평문(HTTP·FTP)은 비밀번호까지 다 읽힌다.
방어는 하나다. 전송을 암호화한다.
패킷은 공용 복도를 지난다
데이터는 한 번에 가지 않는다. 작게 쪼갠 패킷으로 줄지어 흐른다.
그 패킷은 공용 복도를 지난다.
같은 와이파이, 같은 스위치, 같은 회선을 쓰면 남의 패킷도 같은 길을 탄다.
내 손편지를 공용 우편함에 흘려보내는 셈이다.
스니핑은 그 복도에 귀를 대는 일이다.
내 카드로 오지 않은 패킷도 받아서 들여다본다. 이걸 무차별 수신 모드라고 한다.
공격하는 게 아니라 그냥 듣기만 한다. 그래서 들켜도 흔적이 거의 없다.
내 카드로 오지 않은 패킷까지 받는 게 무차별 수신이다
패킷은 봉투와 알맹이로 나뉜다
패킷 한 장은 두 부분이다. 겉봉투인 헤더와 알맹이인 페이로드다.
헤더는 봉투 겉면이다. 어디서 어디로 무슨 규약으로 가는지를 적는다.
페이로드는 안에 든 편지다. 입력한 글자나 비밀번호, 파일 같은 진짜 내용이다.
스니퍼는 두 부분을 다 읽으려 한다.
봉투만 봐도 누가 누구랑 통신하는지 드러난다. 이게 메타데이터다.
알맹이까지 평문이면 비밀번호가 그대로 손에 들어온다. 다음 장에서 본다.
src 203.0.113.7 → dst 198.51.100.4
proto HTTP · port 80
암호화돼도 보인다 (라우팅용)
user=kim pass=spring2026!
평문이면 이게 그대로 읽힌다
평문은 가로채면 다 읽힌다
오래된 규약은 알맹이를 암호화하지 않는다. 보내는 그대로 회선에 흐른다.
HTTP는 로그인 글자를 평문으로 보낸다.
FTP와 텔넷은 아이디와 비밀번호를 글자 그대로 흘린다.
가로채면 복호화도 필요 없다. 그냥 읽으면 된다.
쿠키도 새나간다.
세션 쿠키 한 줄을 주우면 그 사람 로그인 상태를 통째로 훔친다. 이게 세션 하이재킹이다.
그래서 공용 와이파이에서 평문 사이트에 로그인하면 그 자리에서 털릴 수 있다.
스니퍼로 직접 엿본다
같은 가상 트래픽을 평문과 암호화로 바꿔 가며 스니핑한다.
평문(HTTP·FTP)으로 두고 스니핑을 켜면 알맹이가 다 읽힌다.
비밀번호와 쿠키가 글자 그대로 떠오른다. 이게 내용 유출이다.
암호화(HTTPS)로 바꾸면 같은 패킷을 가로채도 알맹이가 난수 덩어리다.
봉투, 즉 어디로 가는지는 여전히 보인다. 알맹이만 못 읽는다.
이 차이 하나가 스니핑 방어의 전부다.
203.0.113.7 → 198.51.100.4
•••••• (안 엿보는 중)
203.0.113.7 → 192.0.2.9
•••••• (안 엿보는 중)
203.0.113.7 → 198.51.100.4
•••••• (안 엿보는 중)
공격자는 같은 와이파이만 타면 흐르는 패킷을 그냥 본다.
방어는 전송 암호화다
복도를 막을 수는 없다. 그래서 가로채도 못 읽게 알맹이를 암호화한다.
웹은 HTTPS, 파일은 SFTP·FTPS, 원격은 SSH를 쓴다.
망 전체를 감싸려면 VPN으로 터널을 통째로 암호화한다.
어느 쪽이든 알맹이는 회선에서 난수로 보인다.
그래도 봉투, 즉 누가 누구랑 언제 통신했는지는 남는다. 암호화가 메타데이터까지 다 가리지는 않는다.
그래서 방어는 겹으로 쌓는다. 평문 규약을 끄고, HTTPS를 강제하고(HSTS), 공용 와이파이에서는 VPN을 켠다.
요지는 하나다. 평문을 회선에 내보내지 않는다.
Q. 네트워크 스니핑 방어의 핵심은? (네트워크 끄기 · 전송 암호화 · 비밀번호 길게 · 백신 설치)
정답은 전송 암호화(HTTPS·VPN)다.복도를 지나는 패킷은 어차피 가로채진다. 막을 수 없다.
그래서 가로채도 못 읽게 알맹이를 암호화한다.
비밀번호 길이나 백신은 스니핑 자체를 못 막는다. 평문이면 길어도 그대로 읽힌다.
그대로 읽힌다
난수 덩어리라 못 읽는다