우분투에서 Wireshark 사용하기

Wireshark는 네트워크에서 데이터를 스니핑하는 데 사용할 수 있는 강력한 오픈 소스 네트워크 분석기로, 네트워크 트래픽 분석 문제 해결을 돕는 도구로 활용되며, 네트워크 및 통신 프로토콜의 원리를 이해하는데 도움이 되는 교육 도구로도 사용됩니다.

Wireshark는 거의 모든 리눅스 배포판에서 쉽게 사용 가능하며, 우분투에서는 우분투 소프트웨어 센터나 터미널을 통해 설치할 수 있습니다:

sudo apt-get install wireshark

Wireshark를 사용하기 전에 dumpcap 유틸리티에 루트로 실행할 수 있는 권한을 부여해야 합니다. 그렇지 않으면 일반 사용자로 로그인했을 때(우분투와 같은 배포판에서는 항상 일반 사용자로 로그인됨) Wireshark가 네트워크 트래픽을 캡처할 수 없습니다. dumpcap에 “ setuid “ 비트를 추가하려면 다음 명령어를 사용하세요:

sudo chmod 4711 `which dumpcap`

“which dumpcap” 주위의 따옴표는 일반적인 작은따옴표가 아니라 grave accent 문자입니다. 유닉스 계열 시스템에서 이 문자는 명령어 치환을 실행하여 which 명령의 출력이 chmod 명령의 매개변수가 되며, 즉 dumpcap 바이너리의 전체 경로입니다.

wireshark-Start-capture

Wireshark를 시작한 후 데이터를 캡처할 네트워크 인터페이스를 클릭하세요. 유선 네트워크에서는 eth0일 가능성이 높습니다. 이제 시작을 클릭하세요.

Wireshark가 트래픽을 캡처하여 메인 창에 색상이 구분된 목록으로 표시하기 시작합니다. TCP 트래픽은 녹색, UDP 패킷은 연한 파란색, ARP 요청은 노란색, DNS 트래픽은 짙은 파란색으로 표시됩니다.

wireshark-live-capture

도구 모음 바로 아래에는 필터 상자가 있습니다. 특정 유형의 네트워크 패킷만 보려면, 편집 상자에 프로토콜 이름을 입력하고 적용을 클릭하세요. 예를 들어 ARP(주소 확인 프로토콜) 메시지만 보려면 필터 상자에 arp를 입력하고 적용을 클릭하세요. 목록은 ARP 메시지만 표시하도록 변경됩니다. ARP는 LAN에서 특정 IP 주소를 사용하는 기계를 찾는 데 사용됩니다. 다른 예시 필터로는 HTTP, ICMP, SMTP, SMB 등이 있습니다.

Wireshark는 프로토콜 유형 외에도 보다 고급 기준으로 필터링할 수 있습니다. 예를 들어 특정 호스트에서 오는 모든 DNS 관련 트래픽을 보려면 ip.src==192.168.1.101 and dns 필터를 사용하세요. 여기서 192.168.1.101은 필터링하고자 하는 원본 주소입니다.

wireshark-follow-stream

두 호스트 간의 흥미로운 상호작용을 발견했다면 Wireshark에는 “스트림 따라가기” 옵션이 있습니다. 교환에서 any 패킷을 우클릭한 후 “TCP 스트림 따라가기” (또는 프로토콜 유형에 따라 UDP 스트림 따라가기, SSL 스트림 따라가기)를 클릭하세요. 그러면 Wireshark는 대화의 전체 복사본을 보여줍니다.

시도해 보세요

Wireshark는 복잡하게 또는 간단하게 사용할 수 있으며, 네트워크 전문가를 위한 많은 고급 기능이 있지만, 네트워크에 대해 배우고 싶어하는 사람들도 이를 사용하여 많은 혜택을 볼 수 있습니다. Wireshark에 대해 더 알아보고 싶다면 다음과 같은 것을 시도해 보세요. 캡처를 시작하고 필터를 ICMP로 설정하세요. 이제 다음과 같은 명령어를 사용하여 다른 리눅스 기기나 심지어 Windows PC 명령 셸에서 자신의 리눅스 기기를 핀깅해 보세요:

ping 192.168.1.10

여기서 192.168.1.10은 리눅스 기기의 IP 주소입니다. 이제 패킷 목록을 확인하고 핑의 네트워크 트래픽을 발견했는지 확인하세요.