:::: MENU ::::
Posts tagged with: wireshark 패킷분석기 packet capture TCP/IP

유용한 툴 – IO Ninja

이 툴은 Tibbo (www.tibbo.com)에서 제공을 하는 Serial, TCP, UDP 전송기능 및 Wireshark의 packet capture 기능이 통합되어 있는 툴입니다. Packet capture를 위해서는 Wireshark 처럼 WInpcap을 사용을 합니다.
원래는 개인용으로 30불에 판매를 하는 툴인데, Evaluation 버젼은 http://tibbo.com/downloads/ninja.html 에서 다운로드 가능합니다. 사용기간이 지나도 “Continue evaluation”버튼을 누르면 계속 사용이 가능합니다.

저 같은 경우는 TCP 테스트의 경우에는 Socket tester를 사용을 하고, UDP를 테스트를 할때 이툴을 사용합니다. 물론 packet을 capture 할때는 Wireshark를 사용합니다. 사용법은 매우 간단한데, 프로그램을 실행시킨후 New Session에서 원하는 통신방식을 클릭하고, IP와 port를 설정을 하면 됩니다.
즉 TCP client의 경우는 Connection Socket을 선택을 하고,TCP server의 경우 Listener Socket을 선택, UDP의 경우 UDP Socket을 선택을 하면 됩니다.

예를 들어 UDP Socket을 선택을 한 경우 Local에는 자신이 바인딩할 port를 입력을 하고, Remote에는 통신을 할 peer의 IP 및 Port number를 입력을 하고, 번개모양의 아이콘을 클릭하면 됩니다.
데이터는 아래창에 입력을 한후 send를 하면 됩니다.


아래 파일을 받아서 설치…cfile3.uf.1334E54B4DDA1EF419D59A.zip


Wireshark 사용팁-2

지난번 Wireshark 사용법Wireshark사용팁-1에 이은 2탄 ^^
이 기능도 꽤나 자주 사용되는 팁이다.
네트워크 패킷을 잡다보면 내가 원하는 패킷만 봐야 패킷이 어떻게 오고 가는지 이해하기가 쉽니다.
이때 필요한 것이 필터기능이다. 필터에는 2가지가 있는데 Display Filter와 Capture Filter가 있다.
Display filter는 패킷을 다 잡고 원하는 패킷만 filtering해서 보여주는 것이고, Capture Filter는 패킷을 잡을때 필터링을 해서 패킷을 잡는것이다.

이것이 Display Filter인데 만약 IP address가 192.168.0.1로 오고가는 패킷만 보고 싶으면 이것을 사용하면 된다.
아래 그림처럼 이 필터의 이름은 “IP address 192.168.0.1″이고 Filter string은 “ip.addr == 192.168.0.1″인데, 이름이야 어찌 됐든 이 Filter string이 중요하다. 즉 아래 보이는 형태대로 필터를 구성을 해야지 Wireshark가 알아먹는다.

좀 특이한 것은 이 Display Filer와 Capture filter의 Filter string이 다르므로 서로 혼용해서 사용할 수 가 없다.
즉 같은 필터 이름이지만 Capture Filter의 경우는  IP 192.168.0.1로 오고가는 패킷만 잡으려면 “host 192.168.0.1” 이라고 명기를 해야 제대로 동작을 한다.

만약 Capture Filter란에 Display Filter의 형식을 쓰면 다음과 같은 에러메시지를 표시한다.
친절하게도 왜 틀린지까지 보여주네..
That string looks like a valid display filter; however, it isn’t a valid capture filter (syntax error).

 

 


Wireshark 사용팁-1

지난번에 정리한 Wirreshark 사용법은 기본적인 내용이고, 이번글은 Wireshark를 사용하면서 알아두면 좋은 팁을 소개한다.
먼저 이 툴을 사용하게되는 경우가 물론 실제 패킷이 어떻게 구성이 되는지 공부를 하려는 목적도 있지만 대부분의 경우는 네트워크를 디버깅하는 경우가 많다. 문제의 현상이 빨리 나오면 좋겠지만 그렇지 못한 경우는 패킷을 계속 잡아야 하는데, 컴퓨터의 용량때문에 장시간 패킷을 잡고 있다가 이 패킷을 Save하면 out of memory가 되면 프로그램이 죽어 버린다.
이때 유용한 것이 바로 잡은 패킷을 multiple save 하는 기능이다.


위 그림에서 처럼 Capture File(s) 옵션을 설정을 하면 되는데,
File: 항목은 저장될 파일의 폴더와 이름을 설정하는 것이고,
Use multiple files를 체크하고 Next file every 는 저장될 파일의 사이즈를 선택한다. 즉 위와 같이 설정을 하면 저장될 파일의 사이즈가 1M가 되면 다시 다른 파일에 저장을 하는 것이다. 이렇게 할 경우 Save된 파일의 수가 점점 늘어난다.

Ring buffer with 옵션은 저장될 파일의 수를 지정을 하는 것인데, 이 옵션을 선택을 하고 파일의 갯수를 지정하면 이 갯수만큼만 파일을 저장하고 다시 처음 파일에 링 버퍼처럼 데이터를 저장을 한다. 따라서 만약 파일의 갯수를 3으로 하면 최종 저장된 파일의 갯수는 3개만 남게된다.

파일 확장자는 cap으로 하면 되고, 저장된 파일에 자동으로 넘버링이 되고 시간정보가 붙은 파일명으로 저장이 된다.
즉 이렇게  test_00001_20100517202609.cap