Study/Network

TLS handshaking1.2/1.3, SNI, wireshark Capture 권한 부여 방법

유뱅유뱅뱅 2024. 12. 13. 10:06

1. TLS 1.2/1.3 HandShaking 과정

  • 아래 페이지에서 TLS 1.2/1.3 HandShaking 하는 과정을 자세히 살펴볼 수 있습니다.

1.1. TLS 1.2 HandShaking 과정

https://tls12.xargs.org/

 

The Illustrated TLS 1.2 Connection

Every byte of a TLS connection explained and reproduced

tls12.xargs.org

 

1.2. TLS 1.3 HandShaking 과정

https://tls13.xargs.org/

 

The Illustrated TLS 1.3 Connection

Every byte of a TLS connection explained and reproduced

tls13.xargs.org

 

1.3. SNI (Server Name Indication)

  • Client Hello 단에서 패킷을 분석해보면 아래와 같이, 어느 서버로 패킷을 보내는지 알수 있습니다. (SNI)
  • 가끔 proxy를 두고 SNI를 통해 분기한다는게, L7 이상의 장비 또는 LB 등에서는 SNI를 확인할 수 있으므로, 이것으로 분기한다는 뜻입니다.

1.4. TLS 1.2 VS TLS 1.3

  • TLS 1.3에서 change cipher spec 하는 Step 줄어들어 시간이 줄어듭니다.

https://medium.com/@marketing_14184/privacy-and-data-security-tls-1-3-vs-tls-1-2-31a310ba6c52

 

2. TLS HandShake 과정 dump 뜨는 방법

  • wire shark를 보통 사용합니다.
  • https://www.wireshark.org/#downloadLink 에서 설치 가능합니다.
  • 아래와 같이 설치 후에 특정 interfaces들을 Capture가능한데, 처음 설치 시 권한 관련 문제가 발생할 수 있습니다.

 

📍 macOS에서 wireshark 캡처 권한 부여 방법

  • Wireshark의 네트워크 캡처 권한을 활성화하려면 BPF (Berkeley Packet Filter)를 설정이 필요합니다.
  • 이 명령은 Wireshark가 패킷 캡처 장치를 읽을 수 있도록 권한을 부여합니다.
sudo chmod o+r /dev/bpf*