(생필) 인터넷 이야기

"와이어샤크" 사용해 보기 (주제 : TCP 연결 완벽히 이해하기)

생활IT 2024. 4. 22. 19:05
반응형

 

지난 글에 이어 이번에는 "와이어샤크"를 이용해 TCP 연결 패킷을 수집해보려고 합니다. 

 

TCP가 뭐냐구요? 내가 naver.com 이라고 브라우저에 입력하면 가장 먼저 DNS 서버를 통해 IP 주소를 찾게 될텐데요.

 

DNS 서버로부터 naver.com의 IP 주소를 확인했다다면, 이제 그 IP 주소로 연결을 시도해야 겠죠?

 

이때 가장 먼저 하는 것이 바로 "TCP 연결(TCP Handshake)" 입니다. 

 

뭐 이런 것까지 알아야 돼? 라고 하실 수도 있지만, 그냥 네트워크에 대해 알아가신다는 마음으로 한번 따라와보세요 ^^

자 그럼 와이어샤크를 실행해주세요.

 

자 실행되는 시간 동안 TCP가 어떻게 동작하는지 간략히 그림으로 보여드릴께요.

 

3번 패킷을 주고 받아서 정확히는 TCP 3way handshake 이라고 합니다. ^^

 

Naver 서버에 우리는 https로 연결을 시도하려 합니다. 따라서, 443포트로 연결을 시도해야 겠죠? 

 

실제 어떻게 동작하는지 한번 눈으로 볼께요~ 눈으로 실제 보면 기억에도 오래 남는 답니다. ^^

 

그럼 이제 파란색 상어지느러미 아이콘을 눌러서 수집을 "시작"해주세요.

 

또, 엄청난 페킷이 수집이 되었겠죠? ^^ 그럼 어제 배운 필터를 적용해 볼께요. 

frame contains "naver.com"

 

여기서, 가장 위에 패킷을 "따라가기" 할께요.

SYN과 ACK 패킷이 보이시죠?

 

나의 포트는 50579 이며, 내가 연결하려는 서버의 443 포트로 연결을 시도하고 있습니다. 

(나의 포트는 랜덤 포트에요. 즉, 그때그때 포트 번호가 바뀐다고 이해하시면 됩니다. 목적지 포트만 중요해요 ^^)

 

내가 SYN 패킷을 통해 연결을 요청했고, 서버는 SYN, ACK을 보내며 연결을 허락합니다. 그리고, 최종적으로 내가 서버에서 ACK을 보내며 연결이 마무리 됩니다. 

 

이제 나와 서버가 연결되었고, 그 뒤로는 안전한 연결을 위해 TLS 협상 패킷이 오가게 됩니다.

 

이처럼 TCP 연결은 내가 원하는 서버와 연결 시작할 때, 가장 먼저 하는 것 입니다. 

 

그럼 좀 더 시각적으로 볼 수 있는 방법도 알려드릴께요. 

 

"통계"에서 "플로 그래프"로 이동해주세요.

 

그리고, 좌측 밑에 "표시 필터로 제한"을 체크해주세요.

 

그럼 이렇게 우리가 방금 봤던 패킷들을 방향성과 순서 정보들을 시각적으로 확인하실 수 있습니다. 

 

오늘도 어렵지 않게 느끼셨는지 모르겠어요.

 

모든 것들을 최대한 쉽게 설명하여, 모두가 이해하실 수 있도록 최선을 노력을 다하겠습니다!!

반응형