네트워크

와이어샤크 (wireshark) : 네트워크 트래픽 분석

ilsancityboy 2023. 11. 9. 20:00

와이어샤크 (wireshark)

Wireshark · Go Deep

 

Wireshark · Go Deep

Wireshark: The world's most popular network protocol analyzer

www.wireshark.org

 


1.와이어 샤크란?

컴퓨터를 하면서 유튜브를 보거나, 파일을 다운받거나, 게임을 하는데 있어서 모든 행위는 

네트워크 상에서 주고받는 패킷 을 통해 주고받으며 이뤄진다.

이러한 패킷 교환 과정을 포착하여 분석할수 있게 해주는 프로그램이 와이어샤크 (wireshark) 이다.

 

2. 와이어 샤크 기본 사용법

작성자가 aws 서비스로 구동중인 웹 서버에서 로그인 페이지로 들어가 로그인을 할때

이루어지는 패킷 교환 과정을 와이어샤크로 보는 실습을 해보겠다.

AWS EC2 + XAMPP 로 웹 사이트 띄우기 (tistory.com) (해당 서버에 그누보드만 설치해둔 상태의 사이트)

 

AWS EC2 + XAMPP 로 웹 사이트 띄우기

AWS(Amazion Web Service) ec2 AWS (https://aws.amazon.com/ko/) 에서 제공되는 ec2 ( Elastic Compute Cloud ) 는 독립된 가상의 컴퓨터를 임대해주는 서비스이다.물리적인 컴퓨터를 직접 빌려주는것이 아니라 리눅스나

ilsancityboy.tistory.com

 

 

와이어 샤크를 실행하면 나오는 기본적인 화면이다.

이더넷 네트워크를 사용하여 웹 서버에 들어갈 것이니 이더넷 클릭.

 

 

그럼 이상한 줄들이 막 나오기 시작하는데 각 줄 하나마다 패킷을 하나 교환한것을 보여주는 것이다.

계속해서 패킷을 교환한 기록들이 갱신되는것을 볼 수있다.

따라서 우리는 브라우저에서 로그인 할 페이지로 들어가 로그인을 시도해보고 해당 패킷만 볼 것이니

로그인 시도 후에 좌측빨간 네모상자 버튼을 눌러 더이상 패킷 교환 과정을 갱신하지 않도록 하자.

 

 

작성자의 연습용 웹 서버에서 그누보드 페이지로 들어가 로그인 시도를 해보았다.

 

 

다시 와이어샤크로 돌아와 검색하는 필드에 ip.addr == " ip주소 " 를 입력하여 해당 ip주소와 주고받은 패킷들만 필터링하여 보게 만들어 주었다.

 

IP 주소를 알고 있는 경우:
만약 웹 사이트의 IP 주소를 알고 있다면, 해당 IP 주소를 사용하여 필터링할 수 있습니다. Wireshark 필터 창에 다음과 같이 입력합니다.
ip.addr == 3.34.124.88

호스트 이름을 알고 있는 경우:
웹 사이트의 호스트 이름을 알고 있다면, 해당 호스트 이름을 사용하여 필터링할 수 있습니다. 다음과 같이 입력합니다.
http.host == "3.34.124.88"

또는

http.host == "도메인이름.com"
위의 필터는 해당 IP 주소나 호스트 이름으로 들어오는 HTTP 트래픽을 보여줄 것입니다. 필터를 적용한 후 Wireshark에서 패킷을 캡처하거나 저장한 패킷 파일을 열어서 해당 패킷들을 볼 수 있습니다.

 

 

 

그후 해당 사이트와 주고받은 패킷중에 post 로 login_check.php 경로에 http 요청을 보낸 패킷을 자세히 보면

URL 인코딩 방법으로 id와 password에 입력한 값이 그대로 보여지게된다.

 

! 아이디와 비밀번호가 그대로 노출이된다??

만약 해당 패킷을 중간에서 누군가가 보게된다면? 내가 보낸 아이디와 비밀번호가 그대로 노출이된다.

이러한 이유는 페이지에서 https 를 사용하지않고 http 를 사용중이기 때문에 보안상에 문제가 있기 때문이다.

https를 사용하면 전송되는 데이터가 TLS 또는 SSL 를 통해 암호화 되서 교환되기 때문에 https 를 사용하는것을 권장한다.

 

! TLS 와 SSL 이 뭐죠?

 작성자가 전에 올린 글을 보면 이해하는데 도움이 될 것이다.

HTTP / HTTPS (SSL,TLS) (tistory.com)