이전 포스팅에서 프로그래머/개발자가 패킷분석 툴로 Wireshark를 이용하여 여러가지 프로토콜 분석을 해본 바 있습니다.
이번에는 조금 더 활용하여 Wireshark를 PC에서 실행시켜 웹 브라우저에서 특정 홈페이지를 방문하여 패킷들을 캡쳐 한 후, 웹 서버의 80번 포트와 통신하는 TCP Segment만 필터링 해보겠습니다.
그러면 TCP Connection을 설정하는 과정과 해지하는 과정, HTTP 요청 메시지(Request Message), 응답메시지(Response Message)만 나타날 것입니다.
저는 모교의 정보통신공학과 홈페이지(http://ice.hufs.ac.kr)를 방문하도록 하겠습니다.
[ TCP connection 설정과 해지, HTTP 요청 메시지와 응답 메시지가 교환되는 과정을 그림으로 도시 ]
- 먼저, Wireshark에서 Protocol Hierarchy 를 확인하면 아래의 그림과 같이 Frame 내에 Ethernet frame, 그 내에 IP datagram, 그 내에 TCP segment가 있고 그 내부에는 HTTP를 확인할 수 있습니다.
이것을 아래의 그림으로 도시할 수 있습니다.
이를 분석해서 저의 PC와 해당 웹 서버의 IP address와 port number를 알아내도록 해보겠습니다. 또한, Ethernet frame을 보고 제 PC의 MAC address와 인접한 노드의 MAC 주소를 알아내도록 하겠습니다.
(HTTP 서버는 TCP 프로토콜 위에서 port 번호 80번을 이용)
3. 먼저, 해당 사이트에 접속했을 때의 패킷을 캡쳐한 화면입니다. 여기서 제 PC의 IP를 192.168.0.43 로 확인할 수 있고, 해당 사이트의 IP는 203.253.68.121 이라는 것을 알아낼 수 있습니다.
그리고 해당 사이트의 포트번호는 TCP 프로토콜 위에서 port 번호 80번을 이용하므로 80번으로 확인할 수 있습니다.
마지막으로 내 PC에서 인접한 노드의 MAC Address를 알기 위해, 아래의 그림을 참고하면 IP Packet안에 Destination address는 웹 서버의 IP지만, Ethernet Frame의 Destination address는 next-hop의 MAC address입니다.
내 PC MAC Address : 20:68:9d:c5:60:d6
근첩 노드의 MAC Address : 00:08:9f:d3:bd:c9
를 확인할 수 있습니다.
'ETC' 카테고리의 다른 글
Code Refactoring (코드 리팩토링) (0) | 2016.07.08 |
---|---|
IntelliJ 프로젝트 기본 설정 (0) | 2016.05.03 |
IntelliJ 설치 및 프로젝트 생성 (0) | 2016.05.03 |
Wireshark를 이용한 패킷 분석 (2) | 2016.04.26 |
WRITTEN BY