
공유기가 WAN에서 LAN으로, 공인 IP 주소를 가상 IP 주소에서 변환해오게 된다. → NAT
가져온 가상 IP 주소에 무선으로 접근할 수 있도록 공유기와 라우터에서 IP 주소를 가져와 Station (Mobile Client)가 접근할 수 있도록 해준다.
하지만 NAT와 사설 IP 할당 등을 지원하지 않기에 DHCP 서버가 필요하고 공유기와 라우터에서 가져와야 한다.

공유기와 AP의 이해를 돕기 위한 그림이다. 인터넷에서 공유기가 IP 주소를 할당받아 가상 IP 주소를 열고 AP가 그 IP 주소를 가져온다는 것을 한 눈에 알아볼 수 있다.
사무실이든 가정이든 유선에서 무선으로 사용할 수 있게끔 도움을 주는 역할을 한다.

위의 구조로 (IEEE 802.11) Station과 AP는 연결된다. 과정마다 WireShark-Monitor Mode를 이용하여 Pakcet을 분석을 진행한다.
두 개의 환경에서 패킷을 Capture 할 예정이다. 첫 번째 환경에서는 단계마다 세부적인 내용을 서술하고 WireShark에서 잡은 패킷을 분석한다. 두 번째 환경에서는 환경을 달리 했을때 단계마다 차이점이 있는지를 WireShark에서 잡은 패킷과 함께 분석한다.
첫 번째 Envrionmental
접속하고자 하는 AP : Software - 소프트웨어학부 학생회실 WiFi
접속하려고 하는 STA : 개인 핸드폰 - IPhone 13 mini
Beacon
AP가 주기적으로 송신하는 패킷이다. 아래 예시 그림과 같이 
AP가 송신하는 거리 안에 있으면 초 단위로 계속해서 Beacon Frame을 Capture 하는 것을 알 수 있다. 이를 통해 Client가 네트워크를 발견하고 연결할 수 있게끔 해준다.

위 그림과 같이 실제로 잡고자 하는 software가 Beacon Frame을 송신하고 있음을 확인할 수 있다. 송신하고 있으니 다음은 맞는지 확인하는 절차가 있어야 한다.
Probe
Probe는 Request와 Response로 이루어진다.
먼저 클라이언트 장치가 주변에 있는 무선 네트워크를 찾기 위해 BroadCast Frame으로 Probe Request를 보낸다. 이 요청은 AP 뿐만 아니라 모든 무선 장치에게 전송이 진행된다.
그 뒤 AP가 클라이언트 장치가 보낸 Probe Request를 수신하게 된다. 그에 맞춰 해당 네트워크에 대한 정보를 포함한 Probe Response를 반환한다. 아래 그림은 Probe Response를 보낸 예시이다.

이러한 과정을 통해 클라이언트는 Probe Response를 기반으로 가장 적합한 네트워크를 선택하여 연결하게 된다. 추가적으로 클라이언트는 AP에 접속되어 있어도 주기적으로 Probe Request를 발생시킨다
→ 더 신호세기가 좋은 AP에 Join 하기 위해서이다.

위 그림과 같이 실제로 software AP와 Probe Request / Response를 진행하고 있음을 확인할 수 있다.
EAPoL
쉽게 말하면, 단말과 AP간의 인증정보를 Ethernet 상에서 송수신하는 프로토콜이다.
EAPoL은 IEEE.802.1X 프로토콜에서 사용된다. 옆에 참고한 그림처럼 4-way HandShake로 진행된다.
이는 AP와 Client 간에 4개의 메세지를 교환하며 무선 매체를 통해 전송된 실제 데이터를 암호화하는 데 사용할 수 있는 암호화 키를 생성하고 분배하는 과정이다.
4-Way HandShake


정확히 잘 잡았음을 확인할 수 있다.
이를 확인하여 AP와 Client 간에 연결과 다른 사이트로의 접속까지 확인할 수 있다.
두 번째 Envrionmental
접속하고자 하는 AP : kdg’s iptime - 가정 개인 WiFi
접속하려고 하는 STA : 개인 핸드폰 - IPhone 13 mini


다른 환경에서 진행해도 동일하게 잘 잡는 것을 알 수 있다.
대신 차이점이 있다면 다른 네트워크 접근이 거의 없기 때문에 보다 깔끔하게 값이 잡히고 더 잡기 쉬웠다.

Local Host에서 시작해서 곳곳에 연결되어 있는 Router를 타고 서버로 접근해간다.
그 Route를 한 눈에 보기좋게 나타낸 것이 옆에 있는 그림이다. 우리가 흔히 아는 youtube, naver, apple, google web Server에 접근하기 위해서는 한 번에 접근할 수 없고 이런 식으로 사이에 있는 Router들을 통하고 통해 IP와 MAC 주소를 계속 받아가며 접근한다.
그 Route로 이동하며 보내는 packet을 WireShark로 통해서 Capture 해보는 것이 목적이다.
www.naver.com (223.130.192.247)
www.apple.com (22.35.221.158)
www.google.com (142.250.198.4)
www.youtube.com (142.251.42.142)
현재 상황을 위에서 이어 이미 WiFi와 연결되어 있어 바깥 Router와 연결되어 있는 상태에서 시작한다.
WireShark로 packet을 잡고 있는 상황에서 dns를 filtering 하여 www.naver.com 에 접속해본다.
그 후 DNS로 연결된 뒤에 TLSv1.3(TCP)로 서버와 연결하는 모습을 확인해본다.
위의 ZenMap에서 확인했던 IP 주소와 동일함을 확인할 수 있다.
나머지 주소들도 동일하게 진행해서 Route가 맞는지 확인해준다.


모두 저 route와 동일하게 갔는지는 확인은 안되지만 마지막 도달해야할 곳은 정확히 도달했음을 알 수 있다.

ping 이란 일정한 크기의 패킷을 보내어 내 컴퓨터에서 응답하는지를 확인할 수 있는 명령어이다.
iterm을 이용해 ping을 보내보았을때 wireshark에서 ICMP를 정확히 가져오는 것을 추가로 확인할 수 있다.