네트워크/WireShark

와이어샤크의 개념

맥밤 2015. 12. 26. 17:22

이 블로그는 제가 공부한 것을 바탕으로 정리 목적으로 사용되고 있습니다.

작성 내용중 부족한 부분이나 잘못된 부분을 지적해주시면 감사하겠습니다 (꾸벅)


와이어샤크의 개념


와이어샤크는 누구나 PC에 설치하여 이용할 수 있다. 이 프로그램은 소스코드도 공개되어 있어서 자기가 사용하기 용이하도록

개선하거나 새로운 프로토콜을 추가할 수 있다. 와이어샤크 문서에 따르면 와이어샤크를 사용하는 목적을 명시하고 있다.


  • 네트워크 관리자가 네트워크의 장애를 해결하기 위해 사용한다.

  • 보안 기술자가 보안 문제를 테스트, 확인하기 위해 사용한다.

  • 개발자가 프로토콜 구현에 대해 디버그(오류 확인)하기 위해 사용한다.

  • 사람들이 네트워크 프로토콜의 내용에 관해 학습하기 위해 사용한다.


위의 3가지만 보면 우리가 사용하기에는 적합하지 않다고 생각이 든다. 하지만 마지막이 와이어 샤크의 이용 목적 중 대부분이라고 생각한다.와이어샤크를 이용하여 프로토콜을 학습해보려 한다.


와이어샤크의 주요 기능

  • 네트워크 인터페이스에서 RAW 패킷 갭쳐
  • 패킷 내용을 자세하게 표시
  • 패킷 캡쳐 데이터를 열거나 저장
  • 다양한 조건으로 패킷을 필터링 하거나 검색
  • 필요한 패킷만 특정 색으로 표시 가능
  • 다양한 통계 생성
  • 플러그인을 제작해서 자유롭게 기능을 확장 가능
  • USB나 블루투스 등 네트워크 이외의 프로토콜을 분석 가능

libpcap

와이어샤크는 뛰어난 LAN 분석툴이다. 하지만 와이어샤크만으로는 패킷을 자유롭게 캡처할 수 없다. 네트워크를 지나는 패킷을 캡처하기 위해 패킷 캡처 드라이버가 필요하다.

이 패킷 캡처 드라이버가 필요한 이유를 말하자면 대개 일반적인 애플리케이션에서는 소켓을 경유해서 데이터를 전송한다. 소켓이란 OS의 기능 중 하나로, 다른 프로그램에서 이용하기 위한 함수 즉 API를 말한다. 소켓을 경우하면 네트워크를 지나는 데이터를 직접 캡처할 수 없게 된다. 이때 패킷 캡처 드라이버를 도입하면 소켓을 바이패스 즉 경유하지 않고 지나가면 직접 LAN 분석툴에서 네트워크를 지나는 모든 패킷을 조작할 수 있게 된다.

와이어샤크가 대응하고 있는 패킷 캡처 드라이버에는 두가지가 있다. 윈도우에서는 WinPcap을 사용하고 유닉스/리눅스에서는 libpcap을 이용한다. 나는 맥을 사용중이니, libpcap을 이용할 것이다.



<출처 :와이어샤크를 이용한 패킷 캡처 철저 입문 ; 저자 : 다케시타 메구미>