잡학다식을꿈꾼다 2025. 5. 3. 18:05
반응형

 

Wireshark란?

Wireshark : 자유 및 오픈 소스 패킷 분석 프로그램, 크로스 플랫폼이며 Qt base 사용자 인터페이스를 제공한다.

     tcpdump와 유사하지만 그래픽 프론트엔드 정렬, 필터링 옵션이 추가된다.

 

 

패킷 : 네트워크에서 데이터를 주고받을 때 사용되는 데이터 조각(스트림(Application) -> Segment(Transport) > Packet(Network) > Frame(DataLink) > Electrical Siganl(0 or 1)), 자세한 내용은 이론적으로 한 번 정리를 할 예정

자세한 내용 : https://southern-island.tistory.com/19

 

[ Network ] TCP/IP 패킷 구조

TCP/IP 패킷의 구조패킷의 전체적인 구조.. 좀 복잡해 보이죠? 컴퓨터 간의 통신이란 게 상당히 정교한 약속(프로토콜)으로 이루어져 있습니다. 그래서 전체적인 구조를 한 번에 파악하긴 상당히

southern-island.tistory.com

저계층으로 갈 때는 이전 계층들의 내용이 palyoad로 가고, 반대로 저계층에서 송신해서 application layer로 갈때는 각 계층의 헤더를 제거하며, 마지막에는 원래의 내용만 남는 방식이다.

 

 

특징

1) 와이어 샤크는 pcap을 이용하여 캡철를 포획한다.

    => pcap(packert capture) : 컴퓨터 네트워크 관리 분야에서 네트워크 트래픽 포착용 API를 구성하고 있다. (유닉스 계열 :
     libpcap(developed by Tcpdump), 윈도우 계열 : WinPcap (developed by Riverbed Technology) )

2) 실시간 데이터(이더넷, IEE 802.11, PPP, 루프백을 포함한 수많은 네트워크를 일긍ㄹ 수 있다.)

3) 포획한 데이터를 확인할 수 있따.

4) editcap 프로그램의 명령 줄 스위치를 통하여 프로그래밍하듯 편집하거나 변환할 수 있다.

5) 프로토콜 분석을 위한 새로운 플러그인을 제작할 수 있다.

6) VoIP 호출 감지 가능, 인코딩으로 부호화되면 미디어 플로도 재생 가능

7) USB 트래픽 포획 가능(단 현재는 리눅스에서만 기능 지원)

 

출처 : 위키피디아

https://ko.wikipedia.org/wiki/%EC%99%80%EC%9D%B4%EC%96%B4%EC%83%A4%ED%81%AC

 

와이어샤크 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 와이어샤크의 아이콘 와이어샤크(Wireshark)는 자유 및 오픈 소스 패킷 분석 프로그램이다. 네트워크의 문제, 분석, 소프트웨어 및 통신 프로토콜 개발, 교육에 쓰

ko.wikipedia.org

 

와이어샤크를 실행하면 다음과 같은 창이 뜬다.

 

선택을 하고 들어가면 다음과 같은 창이 나온다. 오고가는 패킷을 실시간으로 잡아낼 수 있다.

퍼온 사진이다.

 

 패킷을 캡처하고, 중지하는 기능은 물론이고, 저장하는 기능도 제공한다. 통신 프로토콜에 따라서 색상이 다르게 표시되며, 원하는 종류의 패킷만을 보기 위하여 필터링하는 기능도 있다.

  • No : 패킷을 수집한 순서
  • Time : 패킷이 수집된 시간
  • Source : 패킷 출발 주소
  • Destination : 패킷 도착 주소
  • Protocol : 프로토콜 정보
  • Length : 패킷의 길이
  • Info : 패킷 정보

프로토콜의 종류, 송수신 에러 유무 등으로 색이 달라지는 것 같다. 이부분은 설정이 가능하다.

필터링 기능을 적극적으로 활용하자. (패킷 수집 자체에서 필터를 거는 법(성능 영향), view 단에서 필터를 거는 법(권장))

https://jeong-pro.tistory.com/155

 

패킷 분석 툴, 와이어샤크(WireShark) 사용법 (필터링, 검증, 처음 사용해보는 사람을 위한 안내)

와이어샤크(Wireshark) 와이퍼샤크는 오픈 소스 패킷 분석 프로그램으로 "pcap"을 이용하여 패킷을 잡아내는 것이 주요 기능이다.윈도우뿐만 아니라 리눅스같은 유닉스 계열의 운영체제에서도 사용

jeong-pro.tistory.com

 

주요 필터 구문

항목 설명
ip.src 보내는 IP 주소
ip.dst 받는(목적지) IP 주소
tcp.srcport 보내는 TCP 포트 번호
tcp.dstport 받는(목적지) TCP 포트 번호

 

Protocol 필터
TCP 또는 UDP 프로토콜 패킷 필터링 하기

tcp or udp

 

Mac Address 필터
Mac Source or Destination Address 에 12:34:56:78:00:00 주소를 가지는 패킷 필터링

eth.addr == 12:34:56:78:00:00

 

IP, PORT 필터
Destination IP가 192.168.0.11이고 Destination PORT가 12345인 패킷 필터링 하기

ip.dst == 192.168.0.11 and tcp.dstport == 12345

 

TCP 연결관련 필터
TCP 연결 or 연결해제 or TCP 서버 포트가 닫혀 있을 때 서버 응답

tcp.flags.syn == 1 or tcp.flags.fin == 1 or tcp.flags.reset == 1

 

Data 길이 필터
Application Protocol Data가 0 보다 큰 패킷 필터 하기 ( 프로토콜 헤더만 존재하는 패킷들을 제외하는 목적으로 주로 사용됨 )

data.len > 0

 

Data 특정 영역에 특정 값을 가지는 패킷 필터
Application Protocol의 Data 4번째 바이트의 값이 0x11이고 10번째 바이트 값이 0x01이 아닌 패킷 필터링 (특정 식별자를 가지는 패킷만 필터링 하는 경우 사용)

data[4] == 0x11 and data[10] != 0x01

 

Data에 특정 바이트 배열 값을 포함하는 패킷 필터
Application Protocol의 Data에 16진수로 0A0B0C0D 값을 포함하는 패킷 필터링

data contains 0A:0B:0C:0D

 

Data에 특정 문자열 값을 포함하는 패킷 필터
Application Protocol의 Data에 "hello"라는 문자열(쌍따옴표 포함)을 포함하는 패킷 필터링 (역슬러쉬 ('\') 문자는 Escape 문자로 동작해서 쌍따움표('"')를 문자값으로 인식하도록 한다)

data contains "\"hello\""

 

필터를 사용한 후 + 버튼을 이용하여 저장 할 수 있다. and, or, not 등 논리 연산 기능도 제공하는 듯 하다.

 

https://velog.io/@joosing/Wireshark-%ED%8C%A8%ED%82%B7-%ED%95%84%ED%84%B0-A-to-Z

 

[Wireshark] 네트워크 패킷 필터 A to Z

Wireshark를 통해 네트워크 상에서 캡처한 패킷들은 분석 목적에 따라 적절한 필터가 적용되어 정리되어야 한다. 패킷분석의 첫 걸음인 패킷 필터링 기법! 먼저 실무에서 자주 사용되는 핵심 필터

velog.io

 

필요한 경우 실습에 사용하는 걸로..

대충은 어떤 프로그램인지는 알았는데, 잘 사용할려면 네트워크에 대한 내용을 더 자세하게 알 필요가 있겠다.

반응형