Wireshark는 네트워크 트래픽 분석을 위한 사실상의 표준입니다. 불행히도 패킷 캡처가 증가함에 따라 점점 느려집니다. 가장자리 이 문제를 너무 잘 해결하여 Wireshark 워크플로를 변경합니다.
목차
Wireshark는 훌륭하지만 . . .
Wireshark는 훌륭한 오픈 소스 소프트웨어입니다. 그것은 네트워킹 문제를 조사하기 위해 전 세계적으로 아마추어와 전문가 모두에 의해 사용됩니다. 유선 또는 네트워크 에테르를 통해 이동하는 데이터 패킷을 캡처합니다. 트래픽을 캡처하면 Wireshark를 사용하여 데이터를 필터링 및 검색하고 네트워크 장치 간의 대화를 추적하는 등의 작업을 수행할 수 있습니다.
그러나 Wireshark는 훌륭하지만 한 가지 문제가 있습니다. 네트워크 데이터 캡처 파일(네트워크 추적 또는 패킷 캡처라고 함)은 매우 빠르게 커질 수 있습니다. 조사하려는 문제가 복잡하거나 산발적이거나 네트워크가 크고 사용량이 많은 경우 특히 그렇습니다.
패킷 캡처(또는 PCAP)가 클수록 Wireshark가 더 지연됩니다. 매우 큰(1GB가 넘는) 트레이스를 열고 로드하는 것만으로도 시간이 너무 오래 걸릴 수 있으므로 Wireshark가 무시하고 유령을 포기했다고 생각할 수 있습니다.
그 크기의 파일로 작업하는 것은 정말 고통스러운 일입니다. 검색을 수행하거나 필터를 변경할 때마다 효과가 데이터에 적용되고 화면에 업데이트될 때까지 기다려야 합니다. 각 지연은 집중력을 방해하여 진행을 방해할 수 있습니다.
가장자리 이러한 고민에 대한 해결책입니다. Wireshark의 대화식 전처리기 및 프론트 엔드 역할을 합니다. Wireshark가 제공할 수 있는 세분화된 수준을 보고 싶을 때 Brim은 해당 패킷에서 즉시 이를 엽니다.
네트워크 캡처 및 패킷 분석을 많이 수행하는 경우 Brim이 워크플로를 혁신할 것입니다.
브림 설치
Brim은 매우 새롭기 때문에 아직 Linux 배포판의 소프트웨어 저장소에 들어가지 않았습니다. 그러나, 브림 다운로드 페이지, DEB 및 RPM 패키지 파일을 찾을 수 있으므로 Ubuntu 또는 Fedora에 설치하는 것은 충분히 간단합니다.
다른 배포판을 사용하는 경우 다음을 수행할 수 있습니다. 소스 코드를 다운로드 GitHub에서 애플리케이션을 직접 빌드합니다.
Brim은 다음을 위한 명령줄 도구인 zq를 사용합니다. 지크 따라서 zq 바이너리가 포함된 ZIP 파일도 다운로드해야 합니다.
Ubuntu에 Brim 설치
Ubuntu를 사용하는 경우 DEB 패키지 파일과 zq Linux ZIP 파일을 다운로드해야 합니다. 다운로드한 DEB 패키지 파일을 두 번 클릭하면 Ubuntu Software 애플리케이션이 열립니다. Brim 라이선스는 “Proprietary”로 잘못 나열되어 있습니다. BSD 3조 라이선스.
“설치”를 클릭합니다.
설치가 완료되면 zq ZIP 파일을 두 번 클릭하여 아카이브 관리자 애플리케이션을 시작합니다. ZIP 파일에는 단일 디렉토리가 포함됩니다. “Archive Manager”에서 “Downloads” 디렉토리와 같은 컴퓨터 위치로 끌어다 놓습니다.
다음을 입력하여 zq 바이너리의 위치를 생성합니다.
sudo mkdir /opt/zeek
압축을 푼 디렉터리의 바이너리를 방금 만든 위치로 복사해야 합니다. 다음 명령에서 시스템에서 추출된 디렉토리의 경로와 이름을 대체하십시오.
sudo cp Downloads/zq-v0.20.0.linux-amd64/* /opt/Zeek
해당 위치를 경로에 추가해야 하므로 BASHRC 파일을 편집합니다.
sudo gedit .bashrc
gedit 편집기가 열립니다. 파일 맨 아래로 스크롤한 다음 다음 줄을 입력합니다.
export PATH=$PATH:/opt/zeek
변경 사항을 저장하고 편집기를 닫습니다.
Fedora에 Brim 설치
Fedora에 Brim을 설치하려면 DEB 대신 RPM 패키지 파일을 다운로드한 다음 위의 Ubuntu 설치에 대해 다룬 동일한 단계를 따르십시오.
흥미롭게도 RPM 파일이 Fedora에서 열리면 소유권이 아닌 오픈 소스 라이선스가 있는 것으로 올바르게 식별됩니다.
런칭 브림
독에서 “응용 프로그램 표시”를 클릭하거나 Super+A를 누릅니다. 검색 상자에 “brim”을 입력한 다음 나타나는 “Brim”을 클릭합니다.
Brim이 시작되고 기본 창을 표시합니다. “파일 선택”을 클릭하여 파일 브라우저를 열거나 빨간색 사각형으로 둘러싸인 영역에 PCAP 파일을 끌어다 놓을 수 있습니다.
Brim은 탭 디스플레이를 사용하며 동시에 여러 탭을 열 수 있습니다. 새 탭을 열려면 상단의 더하기 기호(+)를 클릭한 다음 다른 PCAP를 선택합니다.
브림 기본
Brim은 선택한 파일을 로드하고 인덱싱합니다. 인덱스는 Brim이 매우 빠른 이유 중 하나입니다. 기본 창에는 시간 경과에 따른 패킷 볼륨의 히스토그램과 네트워크 “흐름” 목록이 포함됩니다.
PCAP 파일은 많은 네트워크 연결에 대해 시간순으로 정렬된 네트워크 패킷 스트림을 보유합니다. 다양한 연결에 대한 데이터 패킷은 일부가 동시에 열려 있기 때문에 혼합됩니다. 각 네트워크 “대화”에 대한 패킷은 다른 대화의 패킷과 산재되어 있습니다.
Wireshark는 네트워크 스트림 패킷을 패킷별로 표시하는 반면 Brim은 “흐름”이라는 개념을 사용합니다. 흐름은 두 장치 간의 완전한 네트워크 교환(또는 대화)입니다. 각 흐름 유형은 분류되고 색상으로 구분되며 흐름 유형별로 레이블이 지정됩니다. “dns”, “ssh”, “https,” “ssl” 등의 레이블이 지정된 흐름을 볼 수 있습니다.
흐름 요약 표시를 왼쪽이나 오른쪽으로 스크롤하면 더 많은 열이 표시됩니다. 보고 싶은 정보의 하위 집합을 표시하도록 기간을 조정할 수도 있습니다. 다음은 데이터를 볼 수 있는 몇 가지 방법입니다.
히스토그램의 막대를 클릭하여 그 안의 네트워크 활동을 확대합니다.
클릭하고 끌어 히스토그램 표시 범위를 강조 표시하고 확대합니다. 그러면 Brim이 강조 표시된 섹션의 데이터를 표시합니다.
“날짜” 및 “시간” 필드에 정확한 기간을 지정할 수도 있습니다.
테두리는 두 개의 측면 창을 표시할 수 있습니다. 하나는 왼쪽에, 다른 하나는 오른쪽에 있습니다. 숨길 수도 있고 계속 볼 수도 있습니다. 왼쪽 창에는 검색 기록과 공백이라고 하는 열린 PCAP 목록이 표시됩니다. Ctrl+ 누르기[ to toggle the left pane on or off.
The pane on the right contains detailed information about the highlighted flow. Press Ctrl+] 오른쪽 창을 켜거나 끕니다.
강조 표시된 흐름에 대한 연결 다이어그램을 열려면 “UID 상관 관계” 목록에서 “연결”을 클릭합니다.
기본 창에서 흐름을 강조 표시한 다음 Wireshark 아이콘을 클릭할 수도 있습니다. 그러면 강조 표시된 흐름에 대한 패킷이 표시된 Wireshark가 시작됩니다.
Wireshark가 열리고 관심 패킷이 표시됩니다.
가장자리에서 필터링
Brim의 검색 및 필터링은 유연하고 포괄적이지만 원하지 않는 경우 새로운 필터링 언어를 배울 필요가 없습니다. 요약 창에서 필드를 클릭한 다음 메뉴에서 옵션을 선택하여 Brim에서 구문적으로 올바른 필터를 구축할 수 있습니다.
예를 들어 아래 이미지에서 “dns” 필드를 마우스 오른쪽 버튼으로 클릭했습니다. 그런 다음 컨텍스트 메뉴에서 “필터 = 값”을 선택합니다.
그러면 다음과 같은 일이 발생합니다.
텍스트 _path = “dns”가 검색 표시줄에 추가됩니다.
해당 필터는 PCAP 파일에 적용되므로 DNS(Domain Name Service) 흐름인 흐름만 표시됩니다.
필터 텍스트는 왼쪽 창의 검색 기록에도 추가됩니다.
동일한 기술을 사용하여 검색어에 추가 절을 추가할 수 있습니다. “Id.orig_h” 열에서 IP 주소 필드(“192.168.1.26” 포함)를 마우스 오른쪽 버튼으로 클릭한 다음 컨텍스트 메뉴에서 “필터 = 값”을 선택합니다.
이렇게 하면 추가 절이 AND 절로 추가됩니다. 이제 디스플레이가 필터링되어 해당 IP 주소(192.168.1.26)에서 시작된 DNS 흐름을 표시합니다.
새 필터 용어가 왼쪽 창의 검색 기록에 추가됩니다. 검색 기록 목록에서 항목을 클릭하여 검색 사이를 이동할 수 있습니다.
필터링된 대부분의 데이터에 대한 대상 IP 주소는 81.139.56.100입니다. 다른 IP 주소로 전송된 DNS 흐름을 확인하려면 “Id_resp_h” 열에서 “81.139.56.100”을 마우스 오른쪽 버튼으로 클릭한 다음 컨텍스트 메뉴에서 “Filter != Value”를 선택합니다.
192.168.1.26에서 시작된 하나의 DNS 흐름만 81.139.56.100으로 전송되지 않았으며 필터를 생성하기 위해 아무 것도 입력할 필요 없이 해당 흐름을 찾았습니다.
고정 필터 조항
“HTTP” 흐름을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 “필터 = 값”을 선택하면 요약 창에 HTTP 흐름만 표시됩니다. 그런 다음 HTTP 필터 절 옆에 있는 고정 아이콘을 클릭할 수 있습니다.
이제 HTTP 절이 제자리에 고정되고 우리가 사용하는 다른 필터나 검색어는 HTTP 절이 앞에 추가되어 실행됩니다.
검색 창에 “GET”을 입력하면 고정된 절에 의해 이미 필터링된 흐름으로 검색이 제한됩니다. 필요한 만큼 필터 절을 고정할 수 있습니다.
HTTP 흐름에서 POST 패킷을 검색하려면 검색 표시줄을 지우고 “POST”를 입력한 다음 Enter 키를 누르기만 하면 됩니다.
옆으로 스크롤하면 원격 호스트의 ID가 표시됩니다.
모든 검색 및 필터 용어가 “기록” 목록에 추가됩니다. 필터를 다시 적용하려면 클릭하기만 하면 됩니다.
이름으로 원격 호스트를 검색할 수도 있습니다.
검색어 수정
검색하고 싶지만 해당 유형의 흐름이 표시되지 않는 경우 흐름을 클릭하고 검색 표시줄에서 항목을 편집할 수 있습니다.
예를 들어, PCAP 파일에 적어도 하나의 SSH 흐름이 있어야 한다는 것을 알고 있습니다. 재동기화 일부 파일을 다른 컴퓨터로 보내려고 하지만 볼 수 없습니다.
따라서 다른 흐름을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 “Filter = Value”를 선택한 다음 검색 표시줄을 편집하여 “dns” 대신 “ssh”를 표시합니다.
Enter 키를 눌러 SSH 흐름을 검색하고 하나만 찾습니다.
Ctrl+]를 누르면 이 흐름에 대한 세부 정보를 보여주는 오른쪽 창이 열립니다. 흐름 중에 파일이 전송된 경우 MD5, SHA1, 그리고 SHA256 해시가 나타납니다.
이들 중 하나를 마우스 오른쪽 버튼으로 클릭한 다음 컨텍스트 메뉴에서 “VirusTotal Lookup”을 선택하여 다음 위치에서 브라우저를 엽니다. 바이러스 토탈 확인을 위해 해시를 전달합니다.
VirusTotal은 알려진 맬웨어 및 기타 악성 파일의 해시를 저장합니다. 파일이 안전한지 확실하지 않은 경우 더 이상 파일에 액세스할 수 없는 경우에도 이 방법을 사용하여 쉽게 확인할 수 있습니다.
파일이 정상이면 아래 이미지와 같은 화면을 볼 수 있습니다.
Wireshark에 대한 완벽한 보완
Brim을 사용하면 매우 큰 패킷 캡처 파일로 작업할 수 있으므로 Wireshark 작업을 훨씬 빠르고 쉽게 할 수 있습니다. 오늘 테스트를 실행해 보세요!