Protocol Analyzer: Wireshark 설치가이드 2008 년 10 월 경북대학교통신프로토콜연구실 김지인 (jiin16@gmail.com) 요약 현재다양한 Protocol Analyzer가존재하고있다. 이문서는그중하나인 Wireshark에대한일종의매뉴얼로 Wireshark에대한정보와그설치법에대해정리한것이다. 목 차 1. 서론... 2 2. WIRESHARK란?... 2 3. 설치및사용법... 3 3.1 설치... 3 3.1.1 Windows... 3 3.1.2 Ubuntu...11 3.2 사용법...12 4. 결론...15 참고문헌...15 1
1. 서론현재시중에는다양한 Packet Analyzer(sniffer라고부르기도함 ) 가나와있다. 몇가지예를들면 dsniff, Ettercap, Microsoft Network Monitor, tcpdump 등을들수있다. 하지만그중에서가장많이쓰는것은바로 Wireshark이다. Wireshark라하면생소한사람들도있을것이다. 그럼이이름은어떤가? Ethereal. Wireshark는실제로 Ethereal이라는이름으로더잘알려져있다. 하지만 2006년 Wireshark 의개발자 Gerald Combs가이직을하게되면서전회사가가진 Ethereal의상표권으로인해현재는 Ethereal이라는이름이아닌 Wireshark라는이름을사용하고있다. 쉽게말하면 Ethereal의이름이 Wireshark로바뀐것이다. 이 Wireshark를활용하면 packet capture를통해다양한일을할수있다. 예를들면, Wireshark로 capture한패킷을통해책에서만보던프로토콜구조에대해서직접눈으로확인도가능하며, 직접작성한프로토콜을테스트할때도프로토콜이정상작동하는지알아볼수있다. 반면에악의적인용도로활용할경우패킷캡쳐를할경우 packet 내암호화하지않은정보는모두알수있다. 홈페이지를로그인할때패킷을캡쳐할경우아이디뿐만아니라심한경우패스워드까지알수있다 ( 홈페이지제작시반드시주요정보는암호화하도록하자 ). 본고에서는 2장에서 Wireshark에대해서알아보고 3장에서설치및활용법에대해서소개하고 4장에서결론을정리한다. 2. Wireshark란? Wireshark는공개된 packet sniffer 프로그램이다. 네트워크에문제가발생하거나분석용소프트웨어, 프로토콜개발, 교육용으로사용된다. 2006년 6월상표권문제로인해 Ethereal 프로젝트에서 Wireshark로이름이바뀌었다. Wireshark는 tcpdump와매우유사한기능을제공한다. 그러나추가로 GUI(Graphical User Interface) 를지원하고, filtering option과정렬을통해더많은정보를제공한다. 그리고 network interface를 promiscuous mode 1 로설정함으로써네트워크를지나다니는모든 packet 을사용자가볼수있게해준다. 그리고알려진프로토콜중에서일부분에대해서는직접 parsing을하여내용을보여주기도한다. 다음은 Wireshark에대한장점은 wireshark 공식홈페이지 (http://www.wireshark.org) 에서발췌한내용이다.[1] 몇백개의프로토콜을분석할수있으면계속추가되고있음 Live capture 와 offline 분석이가능 1 NIC(Network Interface Card) 는물리적주소 (MAC address) 를가진다. 일반적으로 NIC가 packet을받으면자신의주소와비교를한후다르면 packet을 drop하는데 promiscuous mode의경우 packet을 drop하지않는다. 그래서컴퓨터는모든 packet을읽을수있다. 2
Multi-platform 에서사용가능 (Windows, Linux, Solaris, MAC OS X 등 ) GUI 환경지원 여러개의파일포맷을읽기 / 쓰기가능 (tcpdump, Microsoft Network Monitor 등 ) capture 하면서 gzip 으로압축가능 Ethernet / IEEE 802.11, PPP/HDLC 등을읽어들일수있음 IEEE 802.11(Wireless LAN) 을 capture하기위해서는별도의라이브러리인 AirPCAP을구매해야함 Packet 을분석하면서색상을적용해구별가능 암호화된 packet 을분석 (IPsec, Kerneros, SSL/TLS 등 ) Capture 결과를 XML 등으로 export 가능 3. 설치및사용법 3.1 설치 위에서소개한것처럼, Wireshark는 multi-platform을지원한다. 즉다시말해여러 OS(Operating System) 에서사용이가능하다. 여기에서는일반적으로사용하는 Windows와 linux(ubuntu) 에서의설치법을설명하였다. 3.1.1 Windows 모든윈도우응용프로그램이그렇듯 Wireshark 또한설치가간단하다. 프로그램은 Wireshark 공식홈페이지에서구할수있다. http://www.wireshark.org/download.html http://sourceforge.net/project/downloading.php?groupname=wireshark&filename=wiresharksetup-1.0.3.exe&use_mirror=nchc 3
그림 1. Wireshark 다운로드페이지 그림 1을 Wireshark를다운받을수있는페이지이다. 설치파일은제일위에있는 Windows 2000/XP/2003/Vista Installer(.exe) 이다. 다운받은후 Installer를실행한다. 그림 2. Wireshark 설치화면 4
Next를클릭해서설치를계속진행한다. 아래는 Wireshark 저작권동의에대한창이다. Wireshark는기본적으로 GPL을따른다. 그림 3. Wireshark 설치화면 I Agree를클릭해서설치를계속진행한다. 아래는컴포넌트를선택하는화면이다. 기본적인컴포넌트를설치하는데약 90MB가필요하다. 그림 4. Wireshark 설치화면 Next를클릭하여다음단계로넘어간다. 다음은바로가기, 빠른실행등을추가할것인지파일확장자를추가할것인지선택하는부분이다. 5
그림 5. Wireshark 설치화면 Next를클릭하여다음단계로넘어간다. 다음단계에서는 Wireshark의설치경로를설정하는단계이다. 기본적으로 Wireshark는 C: Program Files Wireshark에설치된다. 그림 6. Wireshark 설치화면설치경로를지정하고 Next를선택해다음단계로넘어간다. 다음단계는 WinPcap을설치할것인지선택하는단계이다. WinPcap을설치해야실시간으로 data packet을 capture 할수있다. 그리고시작시 NPF 서비스를시작할경우사용자가 administrator가아니라도 packet capture가가능하다. 6
그림 7. Wireshark 설치화면 Install 을선택하여, 이제설치를시작한다. 아래그림은설치화면이다. 그림 8. Wireshark 설치화면 Wireshark 를설치하는중아래와같은 WinPcap 을설치하는화면이나타난다. 7
그림 9. WinPcap 설치화면 WinPcap 을설치한다. 설치법은 Wireshark 와마찬가지로매우간단하다. 그림 10. WinPcap 설치화면 Next 를선택하여계속설치를한다. 다음단계는저작권동의를구하는단계이다. 8
그림 11. WinPcap 설치화면 I Agree 를선택하여동의하면설치화면으로넘어간다. 그림 12. WinPcap 설치화면 Finish 를선택한다. 이제 WinPcap 설치가완료됐다. 9
그림 13. WinPcap 설치화면 WinPcap이설치가완료되면 Wireshark도남은부분을설치를하게된다. 아래는설치완료화면이다. 그림 14. Wireshark 설치화면 Next 를선택화면 Wireshark 설치가완료되고다음화면이나온다. 10
그림 15. Wireshark 설치화면 Finish를선택하면설치가끝난다. 3.1.2 Linux 거의대부분의 Linux의경우 Wireshark는기본 package로포함이되어있다. 여기서는 Ubuntu에서의설치법을설명하도록하겠다. $sudo apt-get install wireshark 한줄의명령으로설치가가능하다. 그림 16. Wireshark 설치화면 11
Wireshark를설치하기위해서필요한라이브러리가존재하는데 libadns1, libfreebob0, libjack0,liblua5.1-0, libportaudio2이이에해당하며, 이들라이브러리와 wireshark를설치하기위해서는 41.6MB의여유공간이필요하다. Y를입력하여설치를계속진행한다. 아래는설치화면이다. 그림 17. Wireshark 설치화면 Ubuntu에서의 Wireshark 설치가완료되었다. Redhat 계열의 Linux(Redhat, Fedora 등 ) 의경우는 rpm을이용하여손쉽게설치할수있다. 3.2 사용법사용법은 Windows와 Linux 둘다동일하므로 Windows를기준으로설명하겠다. Wireshark를실행하면아래와같은화면이나타난다. 12
그림 18. Wireshark 기본화면 기본적으로 capture를하는방법과 capture한 packet을보는법에대해서설명하겠다. 먼저 capture를하는방법이다. Capture는 interface 별로구분해서 capture가가능하다. 그림 19. Wireshark 를이용한 packet capture 13
그림 20. Capute 할 interface 선택 Start를누르면 capture를시작하고, Option을통해 capture할 packet을 filtering 하거나다양한 option을줄수있다. 그림 21. Capture option 화면 Option을설정한뒤 Start를하게되면아래와같이 packet이 capture 되는것을확인할수있다. 14
그림 22. Wireshark를이용한 packet capture 화면 Privacy 관계로 IP 주소부분은블라인드처리하였다. 위의화면처럼 capture한 packet을분석할수있으며, 잘알려진 protocol의경우직접분석해서보여준다. 이를저장할경우언제든저장한파일을읽어와볼수있다. 4. 결론지금까지본고에서는 Wireshark가무엇이며, 설치방법과사용법에대해서살펴보았다. Wireshark는 packet analyzer로실시간으로 packet을 capture하고이를분석하는도구이다. 앞으로네트워크를공부하는많은사람들에게유용한툴로사용될것으로전망된다. [1] Wireshark, http://www.wireshark.org 참고문헌 [2] Wireshark Wikipedia, http://en.wikipedia.org/wiki/wireshark 15